Skip to content

Commit a7d5e22

Browse files
committed
Kotlin conversion LineChart
1 parent e42bf09 commit a7d5e22

File tree

2 files changed

+54
-77
lines changed

2 files changed

+54
-77
lines changed

MPChartLib/src/main/java/com/github/mikephil/charting/charts/LineChart.java

Lines changed: 0 additions & 77 deletions
This file was deleted.
Lines changed: 54 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,54 @@
1+
package com.github.mikephil.charting.charts
2+
3+
import android.content.Context
4+
import android.util.AttributeSet
5+
import com.github.mikephil.charting.data.LineData
6+
import com.github.mikephil.charting.interfaces.dataprovider.LineDataProvider
7+
import com.github.mikephil.charting.renderer.LineChartRenderer
8+
import java.util.Locale
9+
10+
class LineChart : BarLineChartBase<LineData?>, LineDataProvider {
11+
12+
constructor(context: Context?) : super(context)
13+
constructor(context: Context?, attrs: AttributeSet?) : super(context, attrs)
14+
constructor(context: Context?, attrs: AttributeSet?, defStyle: Int) : super(context, attrs, defStyle)
15+
16+
override fun init() {
17+
super.init()
18+
mRenderer = LineChartRenderer(this, mAnimator, mViewPortHandler)
19+
}
20+
21+
override fun getLineData(): LineData {
22+
return mData!!
23+
}
24+
25+
public override fun onDetachedFromWindow() {
26+
// releases the bitmap in the renderer to avoid oom error
27+
if (mRenderer != null && mRenderer is LineChartRenderer) {
28+
(mRenderer as LineChartRenderer).releaseBitmap()
29+
}
30+
super.onDetachedFromWindow()
31+
}
32+
33+
override fun getAccessibilityDescription(): String {
34+
val lineData = lineData
35+
val numberOfPoints = lineData.entryCount
36+
37+
// Min and max values...
38+
val yAxisValueFormatter = axisLeft.valueFormatter
39+
val minVal = yAxisValueFormatter.getFormattedValue(lineData.yMin, null)
40+
val maxVal = yAxisValueFormatter.getFormattedValue(lineData.yMax, null)
41+
42+
// Data range...
43+
val xAxisValueFormatter = xAxis.valueFormatter
44+
val minRange = xAxisValueFormatter.getFormattedValue(lineData.xMin, null)
45+
val maxRange = xAxisValueFormatter.getFormattedValue(lineData.xMax, null)
46+
val entries = if (numberOfPoints == 1) "entry" else "entries"
47+
return String.format(
48+
Locale.getDefault(), "The line chart has %d %s. " +
49+
"The minimum value is %s and maximum value is %s." +
50+
"Data ranges from %s to %s.",
51+
numberOfPoints, entries, minVal, maxVal, minRange, maxRange
52+
)
53+
}
54+
}

0 commit comments

Comments
 (0)