Skip to content

Commit d8aa178

Browse files
authored
Merge pull request #175 from AppDevNext/KotlinFormatter
Kotlin formatter
2 parents 39290ef + adbc37e commit d8aa178

18 files changed

+471
-608
lines changed

MPChartExample/src/main/java/com/xxmassdeveloper/mpchartexample/DataTools.kt

Lines changed: 67 additions & 57 deletions
Original file line numberDiff line numberDiff line change
@@ -155,68 +155,78 @@ class DataTools {
155155
values.add(Entry(i.toFloat(), value, ContextCompat.getDrawable(context, R.drawable.star)))
156156
}
157157
}
158-
val lineDataSet0: LineDataSet
159-
if (lineChart.data != null && lineChart.data.dataSetCount > 0) {
160-
lineDataSet0 = lineChart.data.getDataSetByIndex(0) as LineDataSet
161-
lineDataSet0.entries = values
162-
lineDataSet0.notifyDataSetChanged()
163-
lineChart.data.notifyDataChanged()
164-
lineChart.notifyDataSetChanged()
165-
} else {
166-
// create a dataset and give it a type
167-
lineDataSet0 = LineDataSet(values, "DataSet 1")
168-
lineDataSet0.setDrawIcons(false)
169-
170-
// draw dashed line
171-
lineDataSet0.enableDashedLine(10f, 5f, 0f)
172-
173-
// black lines and points
174-
lineDataSet0.color = Color.BLACK
175-
lineDataSet0.setCircleColor(Color.BLACK)
176-
177-
// line thickness and point size
178-
lineDataSet0.lineWidth = 1f
179-
lineDataSet0.circleRadius = 3f
180-
181-
// draw points as solid circles
182-
lineDataSet0.setDrawCircleHole(false)
183-
184-
// customize legend entry
185-
lineDataSet0.formLineWidth = 1f
186-
lineDataSet0.formLineDashEffect = DashPathEffect(floatArrayOf(10f, 5f), 0f)
187-
lineDataSet0.formSize = 15f
188-
189-
// text size of values
190-
lineDataSet0.valueTextSize = 9f
191-
192-
// draw selection line as dashed
193-
lineDataSet0.enableDashedHighlightLine(10f, 5f, 0f)
158+
lineChart.data?.let {
159+
if (it.dataSetCount > 0) {
160+
val lineDataSet0 = it.getDataSetByIndex(0) as LineDataSet
161+
lineDataSet0.entries = values
162+
lineDataSet0.notifyDataSetChanged()
163+
it.notifyDataChanged()
164+
lineChart.notifyDataSetChanged()
165+
} else
166+
createDataset(values, lineChart, context)
167+
} ?: run {
168+
createDataset(values, lineChart, context)
169+
}
170+
}
194171

195-
// set the filled area
196-
lineDataSet0.setDrawFilled(true)
197-
lineDataSet0.fillFormatter = object : IFillFormatter {
198-
override fun getFillLinePosition(dataSet: ILineDataSet?, dataProvider: LineDataProvider?): Float {
199-
return lineChart.axisLeft.axisMinimum
200-
}
172+
private fun createDataset(
173+
values: ArrayList<Entry>,
174+
lineChart: LineChart,
175+
context: Context
176+
) {
177+
// create a dataset and give it a type
178+
val lineDataSet01 = LineDataSet(values, "DataSet 1")
179+
lineDataSet01.setDrawIcons(false)
180+
181+
// draw dashed line
182+
lineDataSet01.enableDashedLine(10f, 5f, 0f)
183+
184+
// black lines and points
185+
lineDataSet01.color = Color.BLACK
186+
lineDataSet01.setCircleColor(Color.BLACK)
187+
188+
// line thickness and point size
189+
lineDataSet01.lineWidth = 1f
190+
lineDataSet01.circleRadius = 3f
191+
192+
// draw points as solid circles
193+
lineDataSet01.setDrawCircleHole(false)
194+
195+
// customize legend entry
196+
lineDataSet01.formLineWidth = 1f
197+
lineDataSet01.formLineDashEffect = DashPathEffect(floatArrayOf(10f, 5f), 0f)
198+
lineDataSet01.formSize = 15f
199+
200+
// text size of values
201+
lineDataSet01.valueTextSize = 9f
202+
203+
// draw selection line as dashed
204+
lineDataSet01.enableDashedHighlightLine(10f, 5f, 0f)
205+
206+
// set the filled area
207+
lineDataSet01.setDrawFilled(true)
208+
lineDataSet01.fillFormatter = object : IFillFormatter {
209+
override fun getFillLinePosition(dataSet: ILineDataSet?, dataProvider: LineDataProvider?): Float {
210+
return lineChart.axisLeft.axisMinimum
201211
}
212+
}
202213

203-
// set color of filled area
204-
if (Utils.getSDKInt() >= 18) {
205-
// drawables only supported on api level 18 and above
206-
val drawable = ContextCompat.getDrawable(context, R.drawable.fade_blue)
207-
lineDataSet0.fillDrawable = drawable
208-
} else {
209-
lineDataSet0.fillColor = Color.BLACK
210-
}
211-
val dataSets = ArrayList<ILineDataSet>()
212-
dataSets.add(lineDataSet0) // add the data sets
214+
// set color of filled area
215+
if (Utils.getSDKInt() >= 18) {
216+
// drawables only supported on api level 18 and above
217+
val drawable = ContextCompat.getDrawable(context, R.drawable.fade_blue)
218+
lineDataSet01.fillDrawable = drawable
219+
} else {
220+
lineDataSet01.fillColor = Color.BLACK
221+
}
222+
val dataSets = ArrayList<ILineDataSet>()
223+
dataSets.add(lineDataSet01) // add the data sets
213224

214-
// create a data object with the data sets
215-
val data = LineData(dataSets)
225+
// create a data object with the data sets
226+
val data = LineData(dataSets)
216227

217-
// set data
218-
lineChart.data = data
219-
}
228+
// set data
229+
lineChart.data = data
220230
}
221231
}
222232
}

MPChartExample/src/main/java/com/xxmassdeveloper/mpchartexample/LineChartActivity1.kt

Lines changed: 18 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -139,70 +139,63 @@ class LineChartActivity1 : DemoBase(), OnSeekBarChangeListener, OnChartValueSele
139139
}
140140

141141
R.id.actionToggleValues -> {
142-
val sets = binding.chart1.data.dataSets
143-
for (iSet in sets) {
144-
val set = iSet as LineDataSet
142+
binding.chart1.data?.dataSets?.forEach {
143+
val set = it as LineDataSet
145144
set.setDrawValues(!set.isDrawValuesEnabled)
146145
}
147146
binding.chart1.invalidate()
148147
}
149148

150149
R.id.actionToggleIcons -> {
151-
val sets = binding.chart1.data.dataSets
152-
for (iSet in sets) {
153-
val set = iSet as LineDataSet
150+
binding.chart1.data?.dataSets?.forEach {
151+
val set = it as LineDataSet
154152
set.setDrawIcons(!set.isDrawIconsEnabled)
153+
binding.chart1.invalidate()
155154
}
156-
binding.chart1.invalidate()
157155
}
158156

159157
R.id.actionToggleHighlight -> {
160-
if (binding.chart1.data != null) {
161-
binding.chart1.data.isHighlightEnabled = !binding.chart1.data.isHighlightEnabled
158+
binding.chart1.data?.let {
159+
it.isHighlightEnabled = !it.isHighlightEnabled
162160
binding.chart1.invalidate()
163161
}
164162
}
165163

166164
R.id.actionToggleFilled -> {
167-
val sets = binding.chart1.data.dataSets
168-
for (iSet in sets) {
169-
val set = iSet as LineDataSet
165+
binding.chart1.data?.dataSets?.let {
166+
val set = it as LineDataSet
170167
set.setDrawFilled(!set.isDrawFilledEnabled)
168+
binding.chart1.invalidate()
171169
}
172-
binding.chart1.invalidate()
173170
}
174171

175172
R.id.actionToggleCircles -> {
176-
val sets = binding.chart1.data.dataSets
177-
for (iSet in sets) {
178-
val set = iSet as LineDataSet
173+
binding.chart1.data?.dataSets?.forEach {
174+
val set = it as LineDataSet
179175
set.setDrawCircles(!set.isDrawCirclesEnabled)
180176
}
181177
binding.chart1.invalidate()
182178
}
183179

184180
R.id.actionToggleCubic -> {
185-
val sets = binding.chart1.data.dataSets
186-
for (iSet in sets) {
187-
val set = iSet as LineDataSet
181+
binding.chart1.data?.dataSets?.forEach {
182+
val set = it as LineDataSet
188183
set.mode = if (set.mode == LineDataSet.Mode.CUBIC_BEZIER) LineDataSet.Mode.LINEAR else LineDataSet.Mode.CUBIC_BEZIER
189184
}
190185
binding.chart1.invalidate()
191186
}
192187

193188
R.id.actionToggleStepped -> {
194-
val sets = binding.chart1.data.dataSets
195-
for (iSet in sets) {
196-
val set = iSet as LineDataSet
189+
binding.chart1.data?.dataSets?.forEach {
190+
val set = it as LineDataSet
197191
set.mode = if (set.mode == LineDataSet.Mode.STEPPED) LineDataSet.Mode.LINEAR else LineDataSet.Mode.STEPPED
198192
}
199193
binding.chart1.invalidate()
200194
}
201195

202196
R.id.actionToggleHorizontalCubic -> {
203-
val sets = binding.chart1.data.dataSets
204-
for (iSet in sets) {
205-
val set = iSet as LineDataSet
197+
binding.chart1.data?.dataSets?.forEach {
198+
val set = it as LineDataSet
206199
set.mode = if (set.mode == LineDataSet.Mode.HORIZONTAL_BEZIER) LineDataSet.Mode.LINEAR else LineDataSet.Mode.HORIZONTAL_BEZIER
207200
}
208201
binding.chart1.invalidate()

MPChartExample/src/main/java/com/xxmassdeveloper/mpchartexample/SpecificPositionsLineChartActivity.kt

Lines changed: 56 additions & 56 deletions
Original file line numberDiff line numberDiff line change
@@ -140,61 +140,55 @@ class SpecificPositionsLineChartActivity : DemoBase(), OnSeekBarChangeListener,
140140
override fun onOptionsItemSelected(item: MenuItem): Boolean {
141141
when (item.itemId) {
142142
R.id.actionToggleValues -> {
143-
val sets = mChart!!.data.dataSets
144-
for (iSet in sets) {
145-
val set = iSet as LineDataSet
143+
mChart!!.data?.dataSets?.forEach {
144+
val set = it as LineDataSet
146145
set.setDrawValues(!set.isDrawValuesEnabled)
147146
}
148147
mChart!!.invalidate()
149148
}
150149

151150
R.id.actionToggleHighlight -> {
152-
if (mChart!!.data != null) {
153-
mChart!!.data.isHighlightEnabled = !mChart!!.data.isHighlightEnabled
151+
mChart!!.data?.let {
152+
it.isHighlightEnabled = !it.isHighlightEnabled
154153
mChart!!.invalidate()
155154
}
156155
}
157156

158157
R.id.actionToggleFilled -> {
159-
val sets = mChart!!.data.dataSets
160-
for (iSet in sets) {
161-
val set = iSet as LineDataSet
158+
mChart!!.data?.dataSets?.forEach {
159+
val set = it as LineDataSet
162160
set.setDrawFilled(!set.isDrawFilledEnabled)
163161
}
164162
mChart!!.invalidate()
165163
}
166164

167165
R.id.actionToggleCircles -> {
168-
val sets = mChart!!.data.dataSets
169-
for (iSet in sets) {
170-
val set = iSet as LineDataSet
166+
mChart!!.data?.dataSets?.forEach {
167+
val set = it as LineDataSet
171168
set.setDrawCircles(!set.isDrawCirclesEnabled)
172169
}
173170
mChart!!.invalidate()
174171
}
175172

176173
R.id.actionToggleCubic -> {
177-
val sets = mChart!!.data.dataSets
178-
for (iSet in sets) {
179-
val set = iSet as LineDataSet
174+
mChart!!.data?.dataSets?.forEach {
175+
val set = it as LineDataSet
180176
set.mode = if (set.mode == LineDataSet.Mode.CUBIC_BEZIER) LineDataSet.Mode.LINEAR else LineDataSet.Mode.CUBIC_BEZIER
181177
}
182178
mChart!!.invalidate()
183179
}
184180

185181
R.id.actionToggleStepped -> {
186-
val sets = mChart!!.data.dataSets
187-
for (iSet in sets) {
188-
val set = iSet as LineDataSet
182+
mChart!!.data?.dataSets?.forEach {
183+
val set = it as LineDataSet
189184
set.mode = if (set.mode == LineDataSet.Mode.STEPPED) LineDataSet.Mode.LINEAR else LineDataSet.Mode.STEPPED
190185
}
191186
mChart!!.invalidate()
192187
}
193188

194189
R.id.actionToggleHorizontalCubic -> {
195-
val sets = mChart!!.data.dataSets
196-
for (iSet in sets) {
197-
val set = iSet as LineDataSet
190+
mChart!!.data?.dataSets?.forEach {
191+
val set = it as LineDataSet
198192
set.mode = if (set.mode == LineDataSet.Mode.HORIZONTAL_BEZIER) LineDataSet.Mode.LINEAR else LineDataSet.Mode.HORIZONTAL_BEZIER
199193
}
200194
mChart!!.invalidate()
@@ -251,45 +245,51 @@ class SpecificPositionsLineChartActivity : DemoBase(), OnSeekBarChangeListener,
251245
val `val` = (sampleValues[i]!!.toFloat() * range) + 3
252246
values.add(Entry(i.toFloat(), `val`))
253247
}
254-
val set1: LineDataSet
255-
if (mChart!!.data != null && mChart!!.data.dataSetCount > 0) {
256-
set1 = mChart!!.data.getDataSetByIndex(0) as LineDataSet
257-
set1.entries = values
258-
mChart!!.data.notifyDataChanged()
259-
mChart!!.notifyDataSetChanged()
248+
mChart!!.data?.let {
249+
if (it.dataSetCount > 0) {
250+
val set1 = it.getDataSetByIndex(0) as LineDataSet
251+
set1.entries = values
252+
it.notifyDataChanged()
253+
mChart!!.notifyDataSetChanged()
254+
} else
255+
createDataset(values)
256+
} ?: run {
257+
createDataset(values)
258+
}
259+
}
260+
261+
private fun createDataset(values: ArrayList<Entry>) {
262+
// create a dataset and give it a type
263+
val set11 = LineDataSet(values, "DataSet 1")
264+
265+
// set the line to be drawn like this "- - - - - -"
266+
set11.enableDashedLine(10f, 5f, 0f)
267+
set11.enableDashedHighlightLine(10f, 5f, 0f)
268+
set11.color = Color.BLACK
269+
set11.setCircleColor(Color.BLACK)
270+
set11.lineWidth = 1f
271+
set11.circleRadius = 3f
272+
set11.setDrawCircleHole(false)
273+
set11.valueTextSize = 9f
274+
set11.setDrawFilled(true)
275+
set11.formLineWidth = 1f
276+
set11.formLineDashEffect = DashPathEffect(floatArrayOf(10f, 5f), 0f)
277+
set11.formSize = 15f
278+
if (Utils.getSDKInt() >= 18) {
279+
// fill drawable only supported on api level 18 and above
280+
val drawable = ContextCompat.getDrawable(this, R.drawable.fade_blue)
281+
set11.fillDrawable = drawable
260282
} else {
261-
// create a dataset and give it a type
262-
set1 = LineDataSet(values, "DataSet 1")
263-
264-
// set the line to be drawn like this "- - - - - -"
265-
set1.enableDashedLine(10f, 5f, 0f)
266-
set1.enableDashedHighlightLine(10f, 5f, 0f)
267-
set1.color = Color.BLACK
268-
set1.setCircleColor(Color.BLACK)
269-
set1.lineWidth = 1f
270-
set1.circleRadius = 3f
271-
set1.setDrawCircleHole(false)
272-
set1.valueTextSize = 9f
273-
set1.setDrawFilled(true)
274-
set1.formLineWidth = 1f
275-
set1.formLineDashEffect = DashPathEffect(floatArrayOf(10f, 5f), 0f)
276-
set1.formSize = 15f
277-
if (Utils.getSDKInt() >= 18) {
278-
// fill drawable only supported on api level 18 and above
279-
val drawable = ContextCompat.getDrawable(this, R.drawable.fade_blue)
280-
set1.fillDrawable = drawable
281-
} else {
282-
set1.fillColor = Color.BLACK
283-
}
284-
val dataSets = ArrayList<ILineDataSet>()
285-
dataSets.add(set1) // add the datasets
283+
set11.fillColor = Color.BLACK
284+
}
285+
val dataSets = ArrayList<ILineDataSet>()
286+
dataSets.add(set11) // add the datasets
286287

287-
// create a data object with the datasets
288-
val data = LineData(dataSets)
288+
// create a data object with the datasets
289+
val data = LineData(dataSets)
289290

290-
// set data
291-
mChart!!.data = data
292-
}
291+
// set data
292+
mChart!!.data = data
293293
}
294294

295295
override fun onChartGestureStart(me: MotionEvent, lastPerformedGesture: ChartGesture) {

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

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1313,7 +1313,6 @@ public void setDrawMarkers(boolean enabled) {
13131313
/**
13141314
* Returns the ChartData object that has been set for the chart.
13151315
*/
1316-
@NonNull
13171316
public T getData() {
13181317
return mData;
13191318
}

0 commit comments

Comments
 (0)