[android] Use a library maintain to draw charts

Signed-off-by: Jean-Baptiste <jeanbaptiste.charron@outlook.fr>
This commit is contained in:
Jean-Baptiste
2025-07-27 15:46:01 +02:00
committed by jeanbaptisteC
parent 292875c3bd
commit 2ef4eb62ba
5 changed files with 13 additions and 9 deletions

View File

@@ -355,7 +355,7 @@ dependencies {
// Fix for app/organicmaps/util/FileUploadWorker.java:14: error: cannot access ListenableFuture
// https://github.com/organicmaps/organicmaps/issues/6106
implementation libs.google.guava
implementation libs.devnullorthrow.mpandroidchart
implementation libs.appdevnext.androidchart
implementation libs.jcip.annotations
// Test Dependencies

View File

@@ -24,7 +24,7 @@ import com.github.mikephil.charting.components.YAxis;
import com.github.mikephil.charting.data.Entry;
import com.github.mikephil.charting.data.LineData;
import com.github.mikephil.charting.data.LineDataSet;
import com.github.mikephil.charting.formatter.ValueFormatter;
import com.github.mikephil.charting.formatter.IAxisValueFormatter;
import com.github.mikephil.charting.highlight.Highlight;
import com.github.mikephil.charting.listener.OnChartValueSelectedListener;
import com.google.android.material.textview.MaterialTextView;
@@ -119,7 +119,7 @@ public class ChartController implements OnChartValueSelectedListener
x.setPosition(XAxis.XAxisPosition.BOTTOM);
x.setAxisLineColor(ThemeUtils.getColor(mContext, androidx.appcompat.R.attr.dividerHorizontal));
x.setAxisLineWidth(mContext.getResources().getDimensionPixelSize(R.dimen.divider_height));
ValueFormatter xAxisFormatter = new AxisValueFormatter(mChart);
IAxisValueFormatter xAxisFormatter = new AxisValueFormatter(mChart);
x.setValueFormatter(xAxisFormatter);
YAxis y = mChart.getAxisLeft();

View File

@@ -3,22 +3,23 @@ package app.organicmaps.widget.placepage;
import androidx.annotation.NonNull;
import app.organicmaps.sdk.util.StringUtils;
import com.github.mikephil.charting.charts.BarLineChartBase;
import com.github.mikephil.charting.formatter.DefaultValueFormatter;
import androidx.annotation.Nullable;
import com.github.mikephil.charting.components.AxisBase;
import com.github.mikephil.charting.formatter.IAxisValueFormatter;
public class AxisValueFormatter extends DefaultValueFormatter
public class AxisValueFormatter implements IAxisValueFormatter
{
private static final int DEF_DIGITS = 1;
@NonNull
private final BarLineChartBase mChart;
public AxisValueFormatter(@NonNull BarLineChartBase chart)
{
super(DEF_DIGITS);
super();
mChart = chart;
}
@Override
public String getFormattedValue(float value)
public String getFormattedValue(float value, @Nullable AxisBase axisBase)
{
return StringUtils.nativeFormatDistance(value).toString(mChart.getContext());
}

View File

@@ -22,7 +22,7 @@ androidx-work-runtime = { module = "androidx.work:work-runtime", version = "2.10
androidx-lifecycle-process = { module = "androidx.lifecycle:lifecycle-process", version = "2.9.2" }
android-material = { module = "com.google.android.material:material", version = "1.12.0" }
google-guava = { module = "com.google.guava:guava", version = "33.4.8-android" }
devnullorthrow-mpandroidchart = { module = "com.github.devnullorthrow:MPAndroidChart", version = "3.2.0-alpha" }
appdevnext-androidchart = { module = "com.github.AppDevNext:AndroidChart", version = "3.1.0.30" }
jcip-annotations = { module = "net.jcip:jcip-annotations", version = "1.0" }
androidx-test-junit = { module = "androidx.test.ext:junit", version = "1.2.1" }
junit = { module = "junit:junit", version = "4.13.2" }

View File

@@ -221,6 +221,9 @@
<li><a href="https://github.com/PhilJay/MPAndroidChart">MPAndroidChart</a><br>
&copy; 2020 Philipp Jahoda; <a href="#apache2-license" class="license">Apache License</a></li>
<li><a href="https://github.com/AppDevNext/AndroidChart">AndroidChart</a><br>
&copy; 2025 AppDevNext; <a href="#apache2-license" class="license">Apache License</a></li>
<li><a href="https://github.com/skarupke/flat_hash_map">Skarupke Hash Tables</a><br>
&copy; Malte Skarupke 2017; <a href="#boost-license" class="license">Boost License</a></li>