Skip to content

Commit 9642093

Browse files
authored
Merge pull request #344 from AppDevNext/barBuffersMuteableList
Bar buffers muteable list
2 parents 42eaf9d + bc29d68 commit 9642093

File tree

3 files changed

+18
-17
lines changed

3 files changed

+18
-17
lines changed

MPChartLib/src/main/java/com/github/mikephil/charting/renderer/BarChartRenderer.kt

Lines changed: 12 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ open class BarChartRenderer(
2929
protected var barRect: RectF = RectF()
3030

3131
@JvmField
32-
protected var barBuffers: Array<BarBuffer?>? = null
32+
protected var barBuffers: MutableList<BarBuffer?> = mutableListOf()
3333

3434
@JvmField
3535
protected var shadowPaint: Paint
@@ -57,19 +57,20 @@ open class BarChartRenderer(
5757

5858
override fun initBuffers() {
5959
val barData = chart.barData
60-
barBuffers = arrayOfNulls(barData.dataSetCount)
61-
62-
for (i in barBuffers!!.indices) {
63-
val set = barData.getDataSetByIndex(i)
64-
barBuffers!![i] = BarBuffer(
65-
set.entryCount * 4 * (if (set.isStacked) set.stackSize else 1),
66-
barData.dataSetCount, set.isStacked
60+
barBuffers = mutableListOf()
61+
62+
barData.dataSets.forEach {
63+
barBuffers.add(
64+
BarBuffer(
65+
it.entryCount * 4 * (if (it.isStacked) it.stackSize else 1),
66+
barData.dataSetCount, it.isStacked
67+
)
6768
)
6869
}
6970
}
7071

7172
override fun drawData(c: Canvas) {
72-
if (barBuffers == null) {
73+
if (barBuffers.size == 0) {
7374
initBuffers()
7475
}
7576

@@ -155,7 +156,7 @@ open class BarChartRenderer(
155156
}
156157

157158
// initialize the buffer
158-
val buffer = barBuffers!![index]!!.apply {
159+
val buffer = barBuffers[index]!!.apply {
159160
setPhases(phaseX, phaseY)
160161
setDataSet(index)
161162
setInverted(chart.isInverted(dataSet.axisDependency))
@@ -286,7 +287,7 @@ open class BarChartRenderer(
286287
}
287288

288289
// get the buffer
289-
val buffer = barBuffers!![i]
290+
val buffer = barBuffers[i]
290291

291292
val phaseY = animator.phaseY
292293

MPChartLib/src/main/java/com/github/mikephil/charting/renderer/HorizontalBarChartRenderer.kt

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -28,11 +28,11 @@ open class HorizontalBarChartRenderer(
2828
) : BarChartRenderer(chart, animator, viewPortHandler) {
2929
override fun initBuffers() {
3030
val barData = chart.barData
31-
barBuffers = arrayOfNulls(barData.dataSetCount)
31+
barBuffers = arrayOfNulls<HorizontalBarBuffer>(barData.dataSetCount).toMutableList()
3232

33-
for (i in barBuffers!!.indices) {
33+
for (i in barBuffers.indices) {
3434
val set = barData.getDataSetByIndex(i)
35-
barBuffers!![i] = HorizontalBarBuffer(
35+
barBuffers[i] = HorizontalBarBuffer(
3636
set.entryCount * 4 * (if (set.isStacked) set.stackSize else 1),
3737
barData.dataSetCount, set.isStacked
3838
)
@@ -97,7 +97,7 @@ open class HorizontalBarChartRenderer(
9797
}
9898

9999
// initialize the buffer
100-
val buffer = barBuffers!![index]!!
100+
val buffer = barBuffers[index]!!
101101
buffer.setPhases(phaseX, phaseY)
102102
buffer.setDataSet(index)
103103
buffer.setInverted(chart.isInverted(dataSet.axisDependency))
@@ -191,7 +191,7 @@ open class HorizontalBarChartRenderer(
191191
val formatter = dataSet.valueFormatter
192192

193193
// get the buffer
194-
val buffer = barBuffers!![i]!!
194+
val buffer = barBuffers[i]!!
195195

196196
val phaseY = animator.phaseY
197197

MPChartLib/src/main/java/com/github/mikephil/charting/renderer/RoundedHorizontalBarChartRenderer.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -87,7 +87,7 @@ protected void drawDataSet(Canvas c, IBarDataSet dataSet, int index) {
8787
}
8888
}
8989

90-
BarBuffer buffer = barBuffers[index];
90+
BarBuffer buffer = barBuffers.get(index);
9191
buffer.setPhases(phaseX, phaseY);
9292
buffer.setDataSet(index);
9393
buffer.setInverted(chart.isInverted(dataSet.getAxisDependency()));

0 commit comments

Comments
 (0)