diff --git a/MPChartLib/build.gradle b/MPChartLib/build.gradle index 256f22d00..3325a6898 100644 --- a/MPChartLib/build.gradle +++ b/MPChartLib/build.gradle @@ -49,6 +49,7 @@ dependencies { implementation 'androidx.annotation:annotation:1.9.1' implementation 'androidx.core:core:1.16.0' implementation "androidx.activity:activity-ktx:1.10.1" + api "com.github.AppDevNext.Logcat:LogcatCoreLib:3.3.1" testImplementation 'junit:junit:4.13.2' } diff --git a/MPChartLib/src/main/java/com/github/mikephil/charting/buffer/AbstractBuffer.kt b/MPChartLib/src/main/java/com/github/mikephil/charting/buffer/AbstractBuffer.kt index 13e971a5f..b4593eb14 100644 --- a/MPChartLib/src/main/java/com/github/mikephil/charting/buffer/AbstractBuffer.kt +++ b/MPChartLib/src/main/java/com/github/mikephil/charting/buffer/AbstractBuffer.kt @@ -5,14 +5,14 @@ package com.github.mikephil.charting.buffer * * @param The data the buffer accepts to be fed with. */ -abstract class AbstractBuffer(size: Int) { +abstract class AbstractBuffer { /** index in the buffer */ @JvmField protected var index: Int = 0 /** float-buffer that holds the data points to draw, order: x,y,x,y,... */ @JvmField - val buffer: FloatArray + val buffer: MutableList = mutableListOf() /** animation phase x-axis */ @JvmField @@ -30,7 +30,6 @@ abstract class AbstractBuffer(size: Int) { init { index = 0 - buffer = FloatArray(size) } /** limits the drawing on the x-axis */ diff --git a/MPChartLib/src/main/java/com/github/mikephil/charting/buffer/BarBuffer.kt b/MPChartLib/src/main/java/com/github/mikephil/charting/buffer/BarBuffer.kt index 89b8eda43..871d6e231 100644 --- a/MPChartLib/src/main/java/com/github/mikephil/charting/buffer/BarBuffer.kt +++ b/MPChartLib/src/main/java/com/github/mikephil/charting/buffer/BarBuffer.kt @@ -3,7 +3,7 @@ package com.github.mikephil.charting.buffer import com.github.mikephil.charting.interfaces.datasets.IBarDataSet import kotlin.math.abs -open class BarBuffer(size: Int, dataSetCount: Int, containsStacks: Boolean) : AbstractBuffer(size) { +open class BarBuffer(dataSetCount: Int, containsStacks: Boolean) : AbstractBuffer() { protected var dataSetIndex: Int = 0 protected var dataSetCount: Int = 1 @@ -48,7 +48,7 @@ open class BarBuffer(size: Int, dataSetCount: Int, containsStacks: Boolean) : Ab ", containsStacks=" + containsStacks + ", inverted=" + inverted + ", barWidth=" + barWidth + - ", buffer=" + buffer.contentToString() + + ", buffer=" + buffer + ", index=" + index + '}' } diff --git a/MPChartLib/src/main/java/com/github/mikephil/charting/buffer/HorizontalBarBuffer.kt b/MPChartLib/src/main/java/com/github/mikephil/charting/buffer/HorizontalBarBuffer.kt index 7d40b4997..408452a1a 100644 --- a/MPChartLib/src/main/java/com/github/mikephil/charting/buffer/HorizontalBarBuffer.kt +++ b/MPChartLib/src/main/java/com/github/mikephil/charting/buffer/HorizontalBarBuffer.kt @@ -3,7 +3,7 @@ package com.github.mikephil.charting.buffer import com.github.mikephil.charting.interfaces.datasets.IBarDataSet import kotlin.math.abs -class HorizontalBarBuffer(size: Int, dataSetCount: Int, containsStacks: Boolean) : BarBuffer(size, dataSetCount, containsStacks) { +class HorizontalBarBuffer(size: Int, dataSetCount: Int, containsStacks: Boolean) : BarBuffer(dataSetCount, containsStacks) { override fun feed(data: IBarDataSet?) { val size = (data?.entryCount ?: 0) * phaseX val barWidthHalf = barWidth / 2f diff --git a/MPChartLib/src/main/java/com/github/mikephil/charting/renderer/BarChartRenderer.kt b/MPChartLib/src/main/java/com/github/mikephil/charting/renderer/BarChartRenderer.kt index a54086a45..c4684a7d0 100644 --- a/MPChartLib/src/main/java/com/github/mikephil/charting/renderer/BarChartRenderer.kt +++ b/MPChartLib/src/main/java/com/github/mikephil/charting/renderer/BarChartRenderer.kt @@ -14,6 +14,7 @@ import com.github.mikephil.charting.utils.MPPointF import com.github.mikephil.charting.utils.Transformer import com.github.mikephil.charting.utils.Utils import com.github.mikephil.charting.utils.ViewPortHandler +import timber.log.Timber import kotlin.math.ceil import kotlin.math.min @@ -59,11 +60,11 @@ open class BarChartRenderer( val barData = chart.barData barBuffers = mutableListOf() - barData.dataSets.forEach { + barData.dataSets.forEachIndexed { index, iBarDataSet -> + Timber.d("$index ${barBuffers.size}") barBuffers.add( BarBuffer( - it.entryCount * 4 * (if (it.isStacked) it.stackSize else 1), - barData.dataSetCount, it.isStacked + barData.dataSetCount, iBarDataSet.isStacked ) ) } @@ -78,7 +79,6 @@ open class BarChartRenderer( for (i in 0.. 1) { diff --git a/MPChartLib/src/main/java/com/github/mikephil/charting/renderer/RoundedHorizontalBarChartRenderer.kt b/MPChartLib/src/main/java/com/github/mikephil/charting/renderer/RoundedHorizontalBarChartRenderer.kt index b169a2202..d2343e9ba 100644 --- a/MPChartLib/src/main/java/com/github/mikephil/charting/renderer/RoundedHorizontalBarChartRenderer.kt +++ b/MPChartLib/src/main/java/com/github/mikephil/charting/renderer/RoundedHorizontalBarChartRenderer.kt @@ -86,7 +86,7 @@ class RoundedHorizontalBarChartRenderer(chart: BarDataProvider, animator: ChartA buffer.setInverted(chart.isInverted(dataSet.axisDependency)) buffer.setBarWidth(chart.barData.barWidth) buffer.feed(dataSet) - trans!!.pointValuesToPixel(buffer.buffer) + trans!!.pointValuesToPixel(buffer.buffer.toFloatArray()) // if multiple colors has been assigned to Bar Chart if (dataSet.colors.size > 1) { diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index be9465606..8594dbda0 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -6,6 +6,7 @@