|
1 | 1 | package io.pslab.sensors;
|
2 | 2 |
|
3 |
| -import android.graphics.Color; |
4 | 3 | import android.os.Bundle;
|
5 | 4 | import android.util.Log;
|
6 | 5 | import android.widget.Spinner;
|
|
10 | 9 | import androidx.annotation.Nullable;
|
11 | 10 |
|
12 | 11 | import com.github.mikephil.charting.charts.LineChart;
|
13 |
| -import com.github.mikephil.charting.components.Legend; |
14 |
| -import com.github.mikephil.charting.components.XAxis; |
15 |
| -import com.github.mikephil.charting.components.YAxis; |
16 | 12 | import com.github.mikephil.charting.data.Entry;
|
17 |
| -import com.github.mikephil.charting.data.LineData; |
18 | 13 | import com.github.mikephil.charting.data.LineDataSet;
|
19 | 14 |
|
20 | 15 | import java.io.IOException;
|
@@ -78,73 +73,8 @@ public void onCreate(@Nullable Bundle savedInstanceState) {
|
78 | 73 | mChartLux = findViewById(R.id.chart_sensor_apds9960_lux);
|
79 | 74 | mChartProximity = findViewById(R.id.chart_sensor_apds9960_proximity);
|
80 | 75 |
|
81 |
| - XAxis xLux = mChartLux.getXAxis(); |
82 |
| - YAxis yLux = mChartLux.getAxisLeft(); |
83 |
| - YAxis yLux2 = mChartLux.getAxisRight(); |
84 |
| - |
85 |
| - XAxis xProximity = mChartProximity.getXAxis(); |
86 |
| - YAxis yProximity = mChartProximity.getAxisLeft(); |
87 |
| - YAxis yProximity2 = mChartProximity.getAxisRight(); |
88 |
| - |
89 |
| - mChartLux.setTouchEnabled(true); |
90 |
| - mChartLux.setHighlightPerDragEnabled(true); |
91 |
| - mChartLux.setDragEnabled(true); |
92 |
| - mChartLux.setScaleEnabled(true); |
93 |
| - mChartLux.setDrawGridBackground(false); |
94 |
| - mChartLux.setPinchZoom(true); |
95 |
| - mChartLux.setScaleYEnabled(false); |
96 |
| - mChartLux.setBackgroundColor(Color.BLACK); |
97 |
| - mChartLux.getDescription().setEnabled(false); |
98 |
| - |
99 |
| - LineData data = new LineData(); |
100 |
| - data.setValueTextColor(Color.WHITE); |
101 |
| - mChartLux.setData(data); |
102 |
| - |
103 |
| - Legend l = mChartLux.getLegend(); |
104 |
| - l.setForm(Legend.LegendForm.LINE); |
105 |
| - l.setTextColor(Color.WHITE); |
106 |
| - |
107 |
| - xLux.setTextColor(Color.WHITE); |
108 |
| - xLux.setDrawGridLines(true); |
109 |
| - xLux.setAvoidFirstLastClipping(true); |
110 |
| - |
111 |
| - yLux.setTextColor(Color.WHITE); |
112 |
| - yLux.setAxisMaximum(10000f); |
113 |
| - yLux.setAxisMinimum(0); |
114 |
| - yLux.setDrawGridLines(true); |
115 |
| - yLux.setLabelCount(10); |
116 |
| - |
117 |
| - yLux2.setDrawGridLines(false); |
118 |
| - |
119 |
| - mChartProximity.setTouchEnabled(true); |
120 |
| - mChartProximity.setHighlightPerDragEnabled(true); |
121 |
| - mChartProximity.setDragEnabled(true); |
122 |
| - mChartProximity.setScaleEnabled(true); |
123 |
| - mChartProximity.setDrawGridBackground(false); |
124 |
| - mChartProximity.setPinchZoom(true); |
125 |
| - mChartProximity.setScaleYEnabled(false); |
126 |
| - mChartProximity.setBackgroundColor(Color.BLACK); |
127 |
| - mChartProximity.getDescription().setEnabled(false); |
128 |
| - |
129 |
| - LineData data2 = new LineData(); |
130 |
| - data.setValueTextColor(Color.WHITE); |
131 |
| - mChartProximity.setData(data2); |
132 |
| - |
133 |
| - Legend l2 = mChartProximity.getLegend(); |
134 |
| - l2.setForm(Legend.LegendForm.LINE); |
135 |
| - l2.setTextColor(Color.WHITE); |
136 |
| - |
137 |
| - xProximity.setTextColor(Color.WHITE); |
138 |
| - xProximity.setDrawGridLines(true); |
139 |
| - xProximity.setAvoidFirstLastClipping(true); |
140 |
| - |
141 |
| - yProximity.setTextColor(Color.WHITE); |
142 |
| - yProximity.setAxisMaximum(256f); |
143 |
| - yProximity.setAxisMinimum(0f); |
144 |
| - yProximity.setDrawGridLines(true); |
145 |
| - yProximity.setLabelCount(10); |
146 |
| - |
147 |
| - yProximity2.setDrawGridLines(false); |
| 76 | + initChart(mChartLux); |
| 77 | + initChart(mChartProximity); |
148 | 78 |
|
149 | 79 | if (savedInstanceState == null) {
|
150 | 80 | entriesLux = new ArrayList<>();
|
@@ -229,23 +159,12 @@ public void updateUi() {
|
229 | 159 | tvSensorAPDS9960Proximity.setText(DataFormatter.formatDouble(dataAPDS9960Proximity, DataFormatter.HIGH_PRECISION_FORMAT));
|
230 | 160 | }
|
231 | 161 |
|
232 |
| - LineDataSet dataSet1 = new LineDataSet(entriesLux, getString(R.string.light_lux)); |
233 |
| - LineDataSet dataSet2 = new LineDataSet(entriesProximity, getString(R.string.proximity)); |
| 162 | + LineDataSet dataSetLux = new LineDataSet(entriesLux, getString(R.string.light_lux)); |
| 163 | + LineDataSet dataSetProximity = new LineDataSet(entriesProximity, getString(R.string.proximity)); |
234 | 164 |
|
235 |
| - dataSet1.setDrawCircles(true); |
236 |
| - dataSet2.setDrawCircles(true); |
| 165 | + updateChart(mChartLux, timeElapsed, dataSetLux); |
| 166 | + updateChart(mChartProximity, timeElapsed, dataSetProximity); |
237 | 167 |
|
238 |
| - LineData data = new LineData(dataSet1); |
239 |
| - mChartLux.setData(data); |
240 |
| - mChartLux.notifyDataSetChanged(); |
241 |
| - mChartLux.setVisibleXRangeMaximum(10); |
242 |
| - mChartLux.moveViewToX(timeElapsed); |
243 |
| - |
244 |
| - LineData data2 = new LineData(dataSet2); |
245 |
| - mChartProximity.setData(data2); |
246 |
| - mChartProximity.notifyDataSetChanged(); |
247 |
| - mChartProximity.setVisibleXRangeMaximum(10); |
248 |
| - mChartProximity.moveViewToX(timeElapsed); |
249 | 168 | } else if (isSensorDataAcquired()) {
|
250 | 169 | switch (dataAPDS9960Gesture) {
|
251 | 170 | case 1:
|
|
0 commit comments