From f792d0f6eb25f983dac54da9db75c7b57da5ef91 Mon Sep 17 00:00:00 2001 From: Hannes Achleitner Date: Sun, 21 Dec 2025 14:52:40 +0100 Subject: [PATCH 1/3] Restructure provider inheritence --- .../mikephil/charting/charts/BarLineChartBase.java | 2 +- .../com/github/mikephil/charting/charts/Chart.java | 4 ++-- .../mikephil/charting/highlight/ChartHighlighter.kt | 2 +- .../interfaces/dataprovider/BarDataProvider.kt | 1 + .../BarLineScatterCandleBubbleDataProvider.kt | 13 ------------- .../interfaces/dataprovider/BubbleDataProvider.kt | 1 + .../interfaces/dataprovider/CandleDataProvider.kt | 1 + .../interfaces/dataprovider/LineDataProvider.kt | 1 + .../interfaces/dataprovider/ScatterDataProvider.kt | 1 + .../base/BarLineScatterCandleBubbleDataProvider.kt | 13 +++++++++++++ .../IBaseProvider.java} | 4 ++-- .../renderer/BarLineScatterCandleBubbleRenderer.kt | 2 +- .../mikephil/charting/renderer/DataRenderer.kt | 4 ++-- .../charting/renderer/HorizontalBarChartRenderer.kt | 4 ++-- 14 files changed, 29 insertions(+), 24 deletions(-) delete mode 100644 MPChartLib/src/main/java/com/github/mikephil/charting/interfaces/dataprovider/BarLineScatterCandleBubbleDataProvider.kt create mode 100644 MPChartLib/src/main/java/com/github/mikephil/charting/interfaces/dataprovider/base/BarLineScatterCandleBubbleDataProvider.kt rename MPChartLib/src/main/java/com/github/mikephil/charting/interfaces/dataprovider/{ChartInterface.java => base/IBaseProvider.java} (93%) diff --git a/MPChartLib/src/main/java/com/github/mikephil/charting/charts/BarLineChartBase.java b/MPChartLib/src/main/java/com/github/mikephil/charting/charts/BarLineChartBase.java index 638f03d23f..df391f5062 100644 --- a/MPChartLib/src/main/java/com/github/mikephil/charting/charts/BarLineChartBase.java +++ b/MPChartLib/src/main/java/com/github/mikephil/charting/charts/BarLineChartBase.java @@ -19,7 +19,7 @@ import com.github.mikephil.charting.data.Entry; import com.github.mikephil.charting.highlight.ChartHighlighter; import com.github.mikephil.charting.highlight.Highlight; -import com.github.mikephil.charting.interfaces.dataprovider.BarLineScatterCandleBubbleDataProvider; +import com.github.mikephil.charting.interfaces.dataprovider.base.BarLineScatterCandleBubbleDataProvider; import com.github.mikephil.charting.interfaces.datasets.IBarLineScatterCandleBubbleDataSet; import com.github.mikephil.charting.jobs.AnimatedMoveViewJob; import com.github.mikephil.charting.jobs.AnimatedZoomJob; diff --git a/MPChartLib/src/main/java/com/github/mikephil/charting/charts/Chart.java b/MPChartLib/src/main/java/com/github/mikephil/charting/charts/Chart.java index 198bd653f5..293035b853 100644 --- a/MPChartLib/src/main/java/com/github/mikephil/charting/charts/Chart.java +++ b/MPChartLib/src/main/java/com/github/mikephil/charting/charts/Chart.java @@ -30,7 +30,7 @@ import com.github.mikephil.charting.highlight.ChartHighlighter; import com.github.mikephil.charting.highlight.Highlight; import com.github.mikephil.charting.highlight.IHighlighter; -import com.github.mikephil.charting.interfaces.dataprovider.ChartInterface; +import com.github.mikephil.charting.interfaces.dataprovider.base.IBaseProvider; import com.github.mikephil.charting.interfaces.datasets.IDataSet; import com.github.mikephil.charting.listener.ChartTouchListener; import com.github.mikephil.charting.listener.OnChartGestureListener; @@ -55,7 +55,7 @@ * @author Philipp Jahoda */ @SuppressWarnings("unused") -public abstract class Chart>> extends ViewGroup implements ChartInterface { +public abstract class Chart>> extends ViewGroup implements IBaseProvider { public static final String LOG_TAG = "AndroidChart"; diff --git a/MPChartLib/src/main/java/com/github/mikephil/charting/highlight/ChartHighlighter.kt b/MPChartLib/src/main/java/com/github/mikephil/charting/highlight/ChartHighlighter.kt index 5c208d4cd0..d1f71220ff 100644 --- a/MPChartLib/src/main/java/com/github/mikephil/charting/highlight/ChartHighlighter.kt +++ b/MPChartLib/src/main/java/com/github/mikephil/charting/highlight/ChartHighlighter.kt @@ -4,7 +4,7 @@ import com.github.mikephil.charting.components.YAxis.AxisDependency import com.github.mikephil.charting.data.BarLineScatterCandleBubbleData import com.github.mikephil.charting.data.DataSet import com.github.mikephil.charting.data.Entry -import com.github.mikephil.charting.interfaces.dataprovider.BarLineScatterCandleBubbleDataProvider +import com.github.mikephil.charting.interfaces.dataprovider.base.BarLineScatterCandleBubbleDataProvider import com.github.mikephil.charting.interfaces.datasets.IDataSet import com.github.mikephil.charting.utils.MPPointD import kotlin.math.abs diff --git a/MPChartLib/src/main/java/com/github/mikephil/charting/interfaces/dataprovider/BarDataProvider.kt b/MPChartLib/src/main/java/com/github/mikephil/charting/interfaces/dataprovider/BarDataProvider.kt index 9f176e61c9..c41357da79 100644 --- a/MPChartLib/src/main/java/com/github/mikephil/charting/interfaces/dataprovider/BarDataProvider.kt +++ b/MPChartLib/src/main/java/com/github/mikephil/charting/interfaces/dataprovider/BarDataProvider.kt @@ -1,6 +1,7 @@ package com.github.mikephil.charting.interfaces.dataprovider import com.github.mikephil.charting.data.BarData +import com.github.mikephil.charting.interfaces.dataprovider.base.BarLineScatterCandleBubbleDataProvider interface BarDataProvider : BarLineScatterCandleBubbleDataProvider { val barData: BarData diff --git a/MPChartLib/src/main/java/com/github/mikephil/charting/interfaces/dataprovider/BarLineScatterCandleBubbleDataProvider.kt b/MPChartLib/src/main/java/com/github/mikephil/charting/interfaces/dataprovider/BarLineScatterCandleBubbleDataProvider.kt deleted file mode 100644 index eea0b5e562..0000000000 --- a/MPChartLib/src/main/java/com/github/mikephil/charting/interfaces/dataprovider/BarLineScatterCandleBubbleDataProvider.kt +++ /dev/null @@ -1,13 +0,0 @@ -package com.github.mikephil.charting.interfaces.dataprovider - -import com.github.mikephil.charting.components.YAxis.AxisDependency -import com.github.mikephil.charting.data.BarLineScatterCandleBubbleData -import com.github.mikephil.charting.utils.Transformer - -interface BarLineScatterCandleBubbleDataProvider : ChartInterface { - fun getTransformer(axis: AxisDependency?): Transformer? - fun isInverted(axis: AxisDependency?): Boolean - val lowestVisibleX: Float - val highestVisibleX: Float - override fun getData(): BarLineScatterCandleBubbleData<*> -} \ No newline at end of file diff --git a/MPChartLib/src/main/java/com/github/mikephil/charting/interfaces/dataprovider/BubbleDataProvider.kt b/MPChartLib/src/main/java/com/github/mikephil/charting/interfaces/dataprovider/BubbleDataProvider.kt index 10cecf0a8d..49cdf72b95 100644 --- a/MPChartLib/src/main/java/com/github/mikephil/charting/interfaces/dataprovider/BubbleDataProvider.kt +++ b/MPChartLib/src/main/java/com/github/mikephil/charting/interfaces/dataprovider/BubbleDataProvider.kt @@ -1,6 +1,7 @@ package com.github.mikephil.charting.interfaces.dataprovider import com.github.mikephil.charting.data.BubbleData +import com.github.mikephil.charting.interfaces.dataprovider.base.BarLineScatterCandleBubbleDataProvider interface BubbleDataProvider : BarLineScatterCandleBubbleDataProvider { val bubbleData: BubbleData? diff --git a/MPChartLib/src/main/java/com/github/mikephil/charting/interfaces/dataprovider/CandleDataProvider.kt b/MPChartLib/src/main/java/com/github/mikephil/charting/interfaces/dataprovider/CandleDataProvider.kt index e5a5347a03..a41d3ab238 100644 --- a/MPChartLib/src/main/java/com/github/mikephil/charting/interfaces/dataprovider/CandleDataProvider.kt +++ b/MPChartLib/src/main/java/com/github/mikephil/charting/interfaces/dataprovider/CandleDataProvider.kt @@ -1,6 +1,7 @@ package com.github.mikephil.charting.interfaces.dataprovider import com.github.mikephil.charting.data.CandleData +import com.github.mikephil.charting.interfaces.dataprovider.base.BarLineScatterCandleBubbleDataProvider interface CandleDataProvider : BarLineScatterCandleBubbleDataProvider { val candleData: CandleData? diff --git a/MPChartLib/src/main/java/com/github/mikephil/charting/interfaces/dataprovider/LineDataProvider.kt b/MPChartLib/src/main/java/com/github/mikephil/charting/interfaces/dataprovider/LineDataProvider.kt index 73785b90ed..4f6d3e87ca 100644 --- a/MPChartLib/src/main/java/com/github/mikephil/charting/interfaces/dataprovider/LineDataProvider.kt +++ b/MPChartLib/src/main/java/com/github/mikephil/charting/interfaces/dataprovider/LineDataProvider.kt @@ -3,6 +3,7 @@ package com.github.mikephil.charting.interfaces.dataprovider import com.github.mikephil.charting.components.YAxis import com.github.mikephil.charting.components.YAxis.AxisDependency import com.github.mikephil.charting.data.LineData +import com.github.mikephil.charting.interfaces.dataprovider.base.BarLineScatterCandleBubbleDataProvider interface LineDataProvider : BarLineScatterCandleBubbleDataProvider { val lineData: LineData diff --git a/MPChartLib/src/main/java/com/github/mikephil/charting/interfaces/dataprovider/ScatterDataProvider.kt b/MPChartLib/src/main/java/com/github/mikephil/charting/interfaces/dataprovider/ScatterDataProvider.kt index 43684658d0..cb3118773f 100644 --- a/MPChartLib/src/main/java/com/github/mikephil/charting/interfaces/dataprovider/ScatterDataProvider.kt +++ b/MPChartLib/src/main/java/com/github/mikephil/charting/interfaces/dataprovider/ScatterDataProvider.kt @@ -1,6 +1,7 @@ package com.github.mikephil.charting.interfaces.dataprovider import com.github.mikephil.charting.data.ScatterData +import com.github.mikephil.charting.interfaces.dataprovider.base.BarLineScatterCandleBubbleDataProvider interface ScatterDataProvider : BarLineScatterCandleBubbleDataProvider { val scatterData: ScatterData? diff --git a/MPChartLib/src/main/java/com/github/mikephil/charting/interfaces/dataprovider/base/BarLineScatterCandleBubbleDataProvider.kt b/MPChartLib/src/main/java/com/github/mikephil/charting/interfaces/dataprovider/base/BarLineScatterCandleBubbleDataProvider.kt new file mode 100644 index 0000000000..32591c50d7 --- /dev/null +++ b/MPChartLib/src/main/java/com/github/mikephil/charting/interfaces/dataprovider/base/BarLineScatterCandleBubbleDataProvider.kt @@ -0,0 +1,13 @@ +package com.github.mikephil.charting.interfaces.dataprovider.base + +import com.github.mikephil.charting.components.YAxis +import com.github.mikephil.charting.data.BarLineScatterCandleBubbleData +import com.github.mikephil.charting.utils.Transformer + +interface BarLineScatterCandleBubbleDataProvider : IBaseProvider { + fun getTransformer(axis: YAxis.AxisDependency?): Transformer? + fun isInverted(axis: YAxis.AxisDependency?): Boolean + val lowestVisibleX: Float + val highestVisibleX: Float + override fun getData(): BarLineScatterCandleBubbleData<*> +} \ No newline at end of file diff --git a/MPChartLib/src/main/java/com/github/mikephil/charting/interfaces/dataprovider/ChartInterface.java b/MPChartLib/src/main/java/com/github/mikephil/charting/interfaces/dataprovider/base/IBaseProvider.java similarity index 93% rename from MPChartLib/src/main/java/com/github/mikephil/charting/interfaces/dataprovider/ChartInterface.java rename to MPChartLib/src/main/java/com/github/mikephil/charting/interfaces/dataprovider/base/IBaseProvider.java index 5eba269700..425d105eab 100644 --- a/MPChartLib/src/main/java/com/github/mikephil/charting/interfaces/dataprovider/ChartInterface.java +++ b/MPChartLib/src/main/java/com/github/mikephil/charting/interfaces/dataprovider/base/IBaseProvider.java @@ -1,4 +1,4 @@ -package com.github.mikephil.charting.interfaces.dataprovider; +package com.github.mikephil.charting.interfaces.dataprovider.base; import android.graphics.RectF; @@ -14,7 +14,7 @@ * * @author Philipp Jahoda */ -public interface ChartInterface { +public interface IBaseProvider { /** * Returns the minimum x value of the chart, regardless of zoom or translation. diff --git a/MPChartLib/src/main/java/com/github/mikephil/charting/renderer/BarLineScatterCandleBubbleRenderer.kt b/MPChartLib/src/main/java/com/github/mikephil/charting/renderer/BarLineScatterCandleBubbleRenderer.kt index e8e3ea5372..fd2b96ec6b 100644 --- a/MPChartLib/src/main/java/com/github/mikephil/charting/renderer/BarLineScatterCandleBubbleRenderer.kt +++ b/MPChartLib/src/main/java/com/github/mikephil/charting/renderer/BarLineScatterCandleBubbleRenderer.kt @@ -3,7 +3,7 @@ package com.github.mikephil.charting.renderer import com.github.mikephil.charting.animation.ChartAnimator import com.github.mikephil.charting.data.DataSet import com.github.mikephil.charting.data.Entry -import com.github.mikephil.charting.interfaces.dataprovider.BarLineScatterCandleBubbleDataProvider +import com.github.mikephil.charting.interfaces.dataprovider.base.BarLineScatterCandleBubbleDataProvider import com.github.mikephil.charting.interfaces.datasets.IBarLineScatterCandleBubbleDataSet import com.github.mikephil.charting.interfaces.datasets.IDataSet import com.github.mikephil.charting.utils.ViewPortHandler diff --git a/MPChartLib/src/main/java/com/github/mikephil/charting/renderer/DataRenderer.kt b/MPChartLib/src/main/java/com/github/mikephil/charting/renderer/DataRenderer.kt index 4f274a6924..f032c643d2 100644 --- a/MPChartLib/src/main/java/com/github/mikephil/charting/renderer/DataRenderer.kt +++ b/MPChartLib/src/main/java/com/github/mikephil/charting/renderer/DataRenderer.kt @@ -8,7 +8,7 @@ import com.github.mikephil.charting.animation.ChartAnimator import com.github.mikephil.charting.data.Entry import com.github.mikephil.charting.formatter.IValueFormatter import com.github.mikephil.charting.highlight.Highlight -import com.github.mikephil.charting.interfaces.dataprovider.ChartInterface +import com.github.mikephil.charting.interfaces.dataprovider.base.IBaseProvider import com.github.mikephil.charting.interfaces.datasets.IDataSet import com.github.mikephil.charting.utils.ViewPortHandler import com.github.mikephil.charting.utils.convertDpToPixel @@ -58,7 +58,7 @@ abstract class DataRenderer( paintHighlight.color = Color.rgb(255, 187, 115) } - protected open fun isDrawingValuesAllowed(chart: ChartInterface): Boolean { + protected open fun isDrawingValuesAllowed(chart: IBaseProvider): Boolean { return chart.data!!.entryCount < chart.maxVisibleCount * viewPortHandler.scaleX } diff --git a/MPChartLib/src/main/java/com/github/mikephil/charting/renderer/HorizontalBarChartRenderer.kt b/MPChartLib/src/main/java/com/github/mikephil/charting/renderer/HorizontalBarChartRenderer.kt index 3076819e69..0948c4b125 100644 --- a/MPChartLib/src/main/java/com/github/mikephil/charting/renderer/HorizontalBarChartRenderer.kt +++ b/MPChartLib/src/main/java/com/github/mikephil/charting/renderer/HorizontalBarChartRenderer.kt @@ -7,7 +7,7 @@ import com.github.mikephil.charting.animation.ChartAnimator import com.github.mikephil.charting.buffer.HorizontalBarBuffer import com.github.mikephil.charting.highlight.Highlight import com.github.mikephil.charting.interfaces.dataprovider.BarDataProvider -import com.github.mikephil.charting.interfaces.dataprovider.ChartInterface +import com.github.mikephil.charting.interfaces.dataprovider.base.IBaseProvider import com.github.mikephil.charting.interfaces.datasets.IBarDataSet import com.github.mikephil.charting.utils.Fill import com.github.mikephil.charting.utils.MPPointF @@ -457,7 +457,7 @@ open class HorizontalBarChartRenderer( high.setDraw(bar.centerY(), bar.right) } - override fun isDrawingValuesAllowed(chart: ChartInterface): Boolean { + override fun isDrawingValuesAllowed(chart: IBaseProvider): Boolean { return (chart.data!!.entryCount < chart.maxVisibleCount * viewPortHandler.scaleY) } From d8a511ae9c06fdc68a4fe3d376a38087f1a94d09 Mon Sep 17 00:00:00 2001 From: Hannes Achleitner Date: Sun, 21 Dec 2025 15:08:59 +0100 Subject: [PATCH 2/3] Raw use of parameterized class 'ChartData' --- .../mikephil/charting/charts/Chart.java | 22 ++++++++++++++----- .../dataprovider/base/IBaseProvider.java | 2 +- 2 files changed, 17 insertions(+), 7 deletions(-) diff --git a/MPChartLib/src/main/java/com/github/mikephil/charting/charts/Chart.java b/MPChartLib/src/main/java/com/github/mikephil/charting/charts/Chart.java index 293035b853..a216f26326 100644 --- a/MPChartLib/src/main/java/com/github/mikephil/charting/charts/Chart.java +++ b/MPChartLib/src/main/java/com/github/mikephil/charting/charts/Chart.java @@ -667,7 +667,7 @@ public void highlightValue(Highlight highlight) { */ public void highlightValue(Highlight high, boolean callListener) { - Entry e = null; + Entry entry = null; if (high == null) { mIndicesToHighlight = null; @@ -677,8 +677,8 @@ public void highlightValue(Highlight high, boolean callListener) { Log.i(LOG_TAG, "Highlighted: " + high); } - e = mData.getEntryForHighlight(high); - if (e == null) { + entry = mData.getEntryForHighlight(high); + if (entry == null) { mIndicesToHighlight = null; high = null; } else { @@ -696,7 +696,7 @@ public void highlightValue(Highlight high, boolean callListener) { mSelectionListener.onNothingSelected(); } else { // notify the listener - mSelectionListener.onValueSelected(e, high); + mSelectionListener.onValueSelected(entry, high); } } @@ -723,8 +723,8 @@ public Highlight getHighlightByTouchPoint(float x, float y) { * Set a new (e.g. custom) ChartTouchListener NOTE: make sure to * setTouchEnabled(true); if you need touch gestures on the chart */ - public void setOnTouchListener(ChartTouchListener l) { - this.mChartTouchListener = l; + public void setOnTouchListener(ChartTouchListener touchListener) { + this.mChartTouchListener = touchListener; } /** @@ -985,6 +985,16 @@ public float getYMin() { return mData.getYMin(); } + @Override + public float getYChartMin() { + return mData.getYMin(); + } + + @Override + public float getYChartMax() { + return mData.getYMax(); + } + @Override public float getXChartMax() { return mXAxis.mAxisMaximum; diff --git a/MPChartLib/src/main/java/com/github/mikephil/charting/interfaces/dataprovider/base/IBaseProvider.java b/MPChartLib/src/main/java/com/github/mikephil/charting/interfaces/dataprovider/base/IBaseProvider.java index 425d105eab..c40e7b13bf 100644 --- a/MPChartLib/src/main/java/com/github/mikephil/charting/interfaces/dataprovider/base/IBaseProvider.java +++ b/MPChartLib/src/main/java/com/github/mikephil/charting/interfaces/dataprovider/base/IBaseProvider.java @@ -56,7 +56,7 @@ public interface IBaseProvider { IValueFormatter getDefaultValueFormatter(); @Nullable - ChartData getData(); + ChartData getData(); int getMaxVisibleCount(); } From 37d5dc9bdba858261d5350688b1b91a4a1d84ef0 Mon Sep 17 00:00:00 2001 From: Hannes Achleitner Date: Sun, 21 Dec 2025 15:35:12 +0100 Subject: [PATCH 3/3] DataProvider not nullable --- .../mikephil/charting/formatter/DefaultFillFormatter.kt | 4 ++-- .../com/github/mikephil/charting/formatter/IFillFormatter.kt | 2 +- .../com/github/mikephil/charting/highlight/BarHighlighter.kt | 2 +- .../github/mikephil/charting/highlight/CombinedHighlighter.kt | 2 +- .../mikephil/charting/highlight/HorizontalBarHighlighter.kt | 2 +- .../kotlin/info/appdev/chartexample/CubicLineChartActivity.kt | 2 +- app/src/main/kotlin/info/appdev/chartexample/DataTools.kt | 2 +- .../kotlin/info/appdev/chartexample/FilledLineActivity.kt | 4 ++-- .../info/appdev/chartexample/formatter/MyFillFormatter.kt | 2 +- 9 files changed, 11 insertions(+), 11 deletions(-) diff --git a/MPChartLib/src/main/java/com/github/mikephil/charting/formatter/DefaultFillFormatter.kt b/MPChartLib/src/main/java/com/github/mikephil/charting/formatter/DefaultFillFormatter.kt index 990027d497..a6fb0f4294 100644 --- a/MPChartLib/src/main/java/com/github/mikephil/charting/formatter/DefaultFillFormatter.kt +++ b/MPChartLib/src/main/java/com/github/mikephil/charting/formatter/DefaultFillFormatter.kt @@ -8,9 +8,9 @@ import com.github.mikephil.charting.interfaces.datasets.ILineDataSet */ open class DefaultFillFormatter : IFillFormatter { - override fun getFillLinePosition(dataSet: ILineDataSet?, dataProvider: LineDataProvider?): Float { + override fun getFillLinePosition(dataSet: ILineDataSet?, dataProvider: LineDataProvider): Float { val fillMin: Float - val chartMaxY = dataProvider!!.yChartMax + val chartMaxY = dataProvider.yChartMax val chartMinY = dataProvider.yChartMin val data = dataProvider.lineData fillMin = if (dataSet!!.yMax > 0 && dataSet.yMin < 0) { diff --git a/MPChartLib/src/main/java/com/github/mikephil/charting/formatter/IFillFormatter.kt b/MPChartLib/src/main/java/com/github/mikephil/charting/formatter/IFillFormatter.kt index d69f24610b..f13590d065 100644 --- a/MPChartLib/src/main/java/com/github/mikephil/charting/formatter/IFillFormatter.kt +++ b/MPChartLib/src/main/java/com/github/mikephil/charting/formatter/IFillFormatter.kt @@ -14,5 +14,5 @@ interface IFillFormatter { * @param dataSet the ILineDataSet that is currently drawn * @param dataProvider */ - fun getFillLinePosition(dataSet: ILineDataSet?, dataProvider: LineDataProvider?): Float + fun getFillLinePosition(dataSet: ILineDataSet?, dataProvider: LineDataProvider): Float } diff --git a/MPChartLib/src/main/java/com/github/mikephil/charting/highlight/BarHighlighter.kt b/MPChartLib/src/main/java/com/github/mikephil/charting/highlight/BarHighlighter.kt index df61f84feb..601af35455 100644 --- a/MPChartLib/src/main/java/com/github/mikephil/charting/highlight/BarHighlighter.kt +++ b/MPChartLib/src/main/java/com/github/mikephil/charting/highlight/BarHighlighter.kt @@ -6,7 +6,7 @@ import com.github.mikephil.charting.utils.MPPointD import kotlin.math.abs import kotlin.math.max -open class BarHighlighter(barDataProvider: BarDataProvider?) : ChartHighlighter(barDataProvider) { +open class BarHighlighter(barDataProvider: BarDataProvider) : ChartHighlighter(barDataProvider) { override fun getHighlight(x: Float, y: Float): Highlight? { val high = super.getHighlight(x, y) ?: return null diff --git a/MPChartLib/src/main/java/com/github/mikephil/charting/highlight/CombinedHighlighter.kt b/MPChartLib/src/main/java/com/github/mikephil/charting/highlight/CombinedHighlighter.kt index f05c6d4367..6967c950b6 100644 --- a/MPChartLib/src/main/java/com/github/mikephil/charting/highlight/CombinedHighlighter.kt +++ b/MPChartLib/src/main/java/com/github/mikephil/charting/highlight/CombinedHighlighter.kt @@ -7,7 +7,7 @@ import com.github.mikephil.charting.interfaces.dataprovider.BarDataProvider import com.github.mikephil.charting.interfaces.dataprovider.CombinedDataProvider import com.github.mikephil.charting.interfaces.datasets.IDataSet -open class CombinedHighlighter(dataProvider: CombinedDataProvider?, barChart: BarDataProvider) : ChartHighlighter(dataProvider), IHighlighter { +open class CombinedHighlighter(dataProvider: CombinedDataProvider, barChart: BarDataProvider) : ChartHighlighter(dataProvider), IHighlighter { /** * bar highlighter for supporting stacked highlighting */ diff --git a/MPChartLib/src/main/java/com/github/mikephil/charting/highlight/HorizontalBarHighlighter.kt b/MPChartLib/src/main/java/com/github/mikephil/charting/highlight/HorizontalBarHighlighter.kt index 863b65bd9d..5ff0f36837 100644 --- a/MPChartLib/src/main/java/com/github/mikephil/charting/highlight/HorizontalBarHighlighter.kt +++ b/MPChartLib/src/main/java/com/github/mikephil/charting/highlight/HorizontalBarHighlighter.kt @@ -7,7 +7,7 @@ import com.github.mikephil.charting.interfaces.datasets.IDataSet import com.github.mikephil.charting.utils.MPPointD import kotlin.math.abs -class HorizontalBarHighlighter(dataProvider: BarDataProvider?) : BarHighlighter(dataProvider) { +class HorizontalBarHighlighter(dataProvider: BarDataProvider) : BarHighlighter(dataProvider) { override fun getHighlight(x: Float, y: Float): Highlight? { val barData = provider!!.barData diff --git a/app/src/main/kotlin/info/appdev/chartexample/CubicLineChartActivity.kt b/app/src/main/kotlin/info/appdev/chartexample/CubicLineChartActivity.kt index b2a330d8d9..b5e5f96d2b 100644 --- a/app/src/main/kotlin/info/appdev/chartexample/CubicLineChartActivity.kt +++ b/app/src/main/kotlin/info/appdev/chartexample/CubicLineChartActivity.kt @@ -124,7 +124,7 @@ class CubicLineChartActivity : DemoBase(), OnSeekBarChangeListener { set1.fillAlpha = 100 set1.setDrawHorizontalHighlightIndicator(false) set1.fillFormatter = object : IFillFormatter { - override fun getFillLinePosition(dataSet: ILineDataSet?, dataProvider: LineDataProvider?): Float { + override fun getFillLinePosition(dataSet: ILineDataSet?, dataProvider: LineDataProvider): Float { return binding.chart1.axisLeft.axisMinimum } } diff --git a/app/src/main/kotlin/info/appdev/chartexample/DataTools.kt b/app/src/main/kotlin/info/appdev/chartexample/DataTools.kt index b9eb132aab..401f1d21af 100644 --- a/app/src/main/kotlin/info/appdev/chartexample/DataTools.kt +++ b/app/src/main/kotlin/info/appdev/chartexample/DataTools.kt @@ -206,7 +206,7 @@ class DataTools { // set the filled area lineDataSet01.setDrawFilled(true) lineDataSet01.fillFormatter = object : IFillFormatter { - override fun getFillLinePosition(dataSet: ILineDataSet?, dataProvider: LineDataProvider?): Float { + override fun getFillLinePosition(dataSet: ILineDataSet?, dataProvider: LineDataProvider): Float { return lineChart.axisLeft.axisMinimum } } diff --git a/app/src/main/kotlin/info/appdev/chartexample/FilledLineActivity.kt b/app/src/main/kotlin/info/appdev/chartexample/FilledLineActivity.kt index 2e8713546a..f51b204c88 100644 --- a/app/src/main/kotlin/info/appdev/chartexample/FilledLineActivity.kt +++ b/app/src/main/kotlin/info/appdev/chartexample/FilledLineActivity.kt @@ -111,7 +111,7 @@ class FilledLineActivity : DemoBase() { set1.highLightColor = Color.rgb(244, 117, 117) set1.isDrawCircleHoleEnabled = false set1.fillFormatter = object : IFillFormatter { - override fun getFillLinePosition(dataSet: ILineDataSet?, dataProvider: LineDataProvider?): Float { + override fun getFillLinePosition(dataSet: ILineDataSet?, dataProvider: LineDataProvider): Float { // change the return value here to better understand the effect // return 0; return binding.chart1.axisLeft.axisMinimum @@ -131,7 +131,7 @@ class FilledLineActivity : DemoBase() { set2.isDrawCircleHoleEnabled = false set2.highLightColor = Color.rgb(244, 117, 117) set2.fillFormatter = object : IFillFormatter { - override fun getFillLinePosition(dataSet: ILineDataSet?, dataProvider: LineDataProvider?): Float { + override fun getFillLinePosition(dataSet: ILineDataSet?, dataProvider: LineDataProvider): Float { // change the return value here to better understand the effect // return 600; return binding.chart1.axisLeft.axisMaximum diff --git a/app/src/main/kotlin/info/appdev/chartexample/formatter/MyFillFormatter.kt b/app/src/main/kotlin/info/appdev/chartexample/formatter/MyFillFormatter.kt index 7abb0f7699..fb213c1745 100644 --- a/app/src/main/kotlin/info/appdev/chartexample/formatter/MyFillFormatter.kt +++ b/app/src/main/kotlin/info/appdev/chartexample/formatter/MyFillFormatter.kt @@ -6,7 +6,7 @@ import com.github.mikephil.charting.interfaces.datasets.ILineDataSet @Suppress("unused") class MyFillFormatter(private val fillPos: Float) : IFillFormatter { - override fun getFillLinePosition(dataSet: ILineDataSet?, dataProvider: LineDataProvider?): Float { + override fun getFillLinePosition(dataSet: ILineDataSet?, dataProvider: LineDataProvider): Float { // your logic could be here return fillPos }