Chnaged main screen graph to bar chart.

This commit is contained in:
Graham Jones
2016-05-09 22:48:41 +01:00
parent 8f98e86c83
commit 28f26f8d38
5 changed files with 67 additions and 22 deletions

View File

@@ -1,6 +1,13 @@
OpenSeizureDetector Android App - Change Log OpenSeizureDetector Android App - Change Log
============================================ ============================================
V2.0.4 - 09 May 2016
Improved handling of watch app settings to make sure
they are loaded correctly without having to re-start app.
Added watch app to Andid phone app package so watch app can be
installed directly from phone rather than using pebble store.
Changed main screen graph to bar chart.
V2.0.3 - 23 April 2016 V2.0.3 - 23 April 2016
Further modification to beep code to avoid occasional crashes Further modification to beep code to avoid occasional crashes
if system tries to beep during a re-start. if system tries to beep during a re-start.

View File

@@ -54,10 +54,16 @@ import java.util.Timer;
import java.util.TimerTask; import java.util.TimerTask;
//MPAndroidChart //MPAndroidChart
import com.github.mikephil.charting.charts.BarChart;
import com.github.mikephil.charting.charts.LineChart; import com.github.mikephil.charting.charts.LineChart;
import com.github.mikephil.charting.components.XAxis;
import com.github.mikephil.charting.data.BarData;
import com.github.mikephil.charting.data.BarDataSet;
import com.github.mikephil.charting.data.BarEntry;
import com.github.mikephil.charting.data.Entry; import com.github.mikephil.charting.data.Entry;
import com.github.mikephil.charting.data.LineData; import com.github.mikephil.charting.data.LineData;
import com.github.mikephil.charting.data.LineDataSet; import com.github.mikephil.charting.data.LineDataSet;
import com.github.mikephil.charting.utils.ColorTemplate;
public class MainActivity extends Activity { public class MainActivity extends Activity {
static final String TAG = "MainActivity"; static final String TAG = "MainActivity";
@@ -162,6 +168,9 @@ public class MainActivity extends Activity {
Log.v(TAG, "action_launch_pebble_app"); Log.v(TAG, "action_launch_pebble_app");
mUtil.startPebbleApp(); mUtil.startPebbleApp();
return true; return true;
case R.id.action_instal_watch_app:
Log.v(TAG, "action_install_watch_app");
mConnection.mSdServer.mSdDataSource.installWatchApp();
case R.id.action_accept_alarm: case R.id.action_accept_alarm:
Log.v(TAG, "action_accept_alarm"); Log.v(TAG, "action_accept_alarm");
@@ -499,33 +508,56 @@ public class MainActivity extends Activity {
//////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////
// Produce graph // Produce graph
LineChart mChart = (LineChart) findViewById(R.id.chart1); BarChart mChart = (BarChart) findViewById(R.id.chart1);
mChart.setDescription(""); mChart.setDescription("Simple Spectrum");
mChart.setDrawBarShadow(false);
mChart.setNoDataTextDescription("You need to provide data for the chart."); mChart.setNoDataTextDescription("You need to provide data for the chart.");
// X Values // X Values
ArrayList<String> xVals = new ArrayList<String>(); ArrayList<String> xVals = new ArrayList<String>();
for (int i = 0; i < 10; i++) { for (int i = 0; i < 10; i++) {
xVals.add((i) + ""); xVals.add((i) + "");
} }
XAxis xAxis = mChart.getXAxis();
xAxis.setPosition(XAxis.XAxisPosition.BOTTOM);
xAxis.setTextSize(10f);
xAxis.setDrawAxisLine(true);
xAxis.setDrawLabels(true);
xAxis.setEnabled(true);
// Y Values // Y Values
ArrayList<Entry> yVals = new ArrayList<Entry>(); //ArrayList<Entry> yVals = new ArrayList<Entry>();
ArrayList<BarEntry> yBarVals = new ArrayList<BarEntry>();
for (int i = 0; i < 10; i++) { for (int i = 0; i < 10; i++) {
if (mConnection.mSdServer != null) if (mConnection.mSdServer != null) {
yVals.add(new Entry(mConnection.mSdServer.mSdData.simpleSpec[i], i)); //yVals.add(new Entry(mConnection.mSdServer.mSdData.simpleSpec[i], i));
else yBarVals.add(new BarEntry(mConnection.mSdServer.mSdData.simpleSpec[i], i));
yVals.add(new Entry(i, i)); }
else {
//yVals.add(new Entry(i, i));
yBarVals.add(new BarEntry(i,i));
}
} }
// create a dataset and give it a type // create a dataset and give it a type
LineDataSet set1 = new LineDataSet(yVals, "DataSet 1"); //LineDataSet set1 = new LineDataSet(yVals, "DataSet 1");
set1.setColor(Color.BLACK); //set1.setColor(Color.BLACK);
set1.setLineWidth(1f); //set1.setLineWidth(1f);
//ArrayList<LineDataSet> dataSets = new ArrayList<LineDataSet>();
//dataSets.add(set1); // add the datasets
//LineData data = new LineData(xVals, dataSets);
BarDataSet barDataSet = new BarDataSet(yBarVals,"Spectrum");
barDataSet.setColor(Color.GRAY);
barDataSet.setBarSpacePercent(20f);
barDataSet.setBarShadowColor(Color.WHITE);
ArrayList<BarDataSet> barDataSets = new ArrayList<BarDataSet>();
barDataSets.add(barDataSet);
BarData barData = new BarData(xVals,barDataSets);
mChart.setData(barData);
ArrayList<LineDataSet> dataSets = new ArrayList<LineDataSet>();
dataSets.add(set1); // add the datasets
LineData data = new LineData(xVals, dataSets);
//data.setValueTextSize(10f); //data.setValueTextSize(10f);
mChart.setData(data); //mChart.setData(data);
mChart.invalidate(); mChart.invalidate();
} }
}; };

View File

@@ -148,6 +148,8 @@ public class SdData implements Parcelable {
jsonObj.put("haveSettings", haveSettings); jsonObj.put("haveSettings", haveSettings);
jsonObj.put("alarmState", alarmState); jsonObj.put("alarmState", alarmState);
jsonObj.put("alarmPhrase", alarmPhrase); jsonObj.put("alarmPhrase", alarmPhrase);
jsonObj.put("alarmFreqMin",alarmFreqMin);
jsonObj.put("alarmFreqMax",alarmFreqMax);
jsonObj.put("alarmThresh", alarmThresh); jsonObj.put("alarmThresh", alarmThresh);
jsonObj.put("alarmRatioThresh", alarmRatioThresh); jsonObj.put("alarmRatioThresh", alarmRatioThresh);
JSONArray arr = new JSONArray(); JSONArray arr = new JSONArray();

View File

@@ -131,7 +131,7 @@
android:text="Cancel Audible (temporarily)" /> android:text="Cancel Audible (temporarily)" />
</LinearLayout> </LinearLayout>
<com.github.mikephil.charting.charts.LineChart <com.github.mikephil.charting.charts.BarChart
android:id="@+id/chart1" android:id="@+id/chart1"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="match_parent" /> android:layout_height="match_parent" />

View File

@@ -5,12 +5,6 @@
android:title="Accept Alarm" /> android:title="Accept Alarm" />
<item
android:id="@+id/action_launch_pebble_app"
android:icon="@drawable/stop_server"
android:showAsAction="never|withText"
android:title="Launch Pebble App" />
<item <item
android:id="@+id/action_start_stop" android:id="@+id/action_start_stop"
android:icon="@drawable/stop_server" android:icon="@drawable/stop_server"
@@ -24,6 +18,16 @@
android:showAsAction="never|withText" android:showAsAction="never|withText"
android:title="Test Fault Beep" /> android:title="Test Fault Beep" />
--> -->
<item
android:id="@+id/action_launch_pebble_app"
android:showAsAction="never|withText"
android:title="Launch Pebble App" />
<item
android:id="@+id/action_instal_watch_app"
android:showAsAction="never|withText"
android:title="Install Watch App" />
<item <item
android:id="@+id/action_test_alarm_beep" android:id="@+id/action_test_alarm_beep"
android:icon="@drawable/stop_server" android:icon="@drawable/stop_server"