From 2f3c3edfff869debc5dd75dea20b0085ac99ee29 Mon Sep 17 00:00:00 2001 From: Pogman <subaziro@gmail.com> Date: Sat, 18 Feb 2017 15:05:29 +0000 Subject: [PATCH] Fixes for charting when handling mmol/L setting --- .../android/medtronic/MainActivity.java | 34 +++++++++++-------- 1 file changed, 20 insertions(+), 14 deletions(-) diff --git a/app/src/main/java/info/nightscout/android/medtronic/MainActivity.java b/app/src/main/java/info/nightscout/android/medtronic/MainActivity.java index 363c971..6853871 100644 --- a/app/src/main/java/info/nightscout/android/medtronic/MainActivity.java +++ b/app/src/main/java/info/nightscout/android/medtronic/MainActivity.java @@ -58,6 +58,7 @@ import com.mikepenz.materialdrawer.model.interfaces.IDrawerItem; import java.text.DateFormat; import java.text.DecimalFormat; import java.text.NumberFormat; +import java.text.SimpleDateFormat; import java.util.Date; import java.util.Locale; import java.util.Queue; @@ -318,17 +319,19 @@ public class MainActivity extends AppCompatActivity implements OnSharedPreferenc mChart.getGridLabelRenderer().setHumanRounding(false); mChart.getGridLabelRenderer().setLabelFormatter(new DefaultLabelFormatter() { - DateFormat mFormat = DateFormat.getTimeInstance(DateFormat.SHORT); +// DateFormat mFormat = DateFormat.getTimeInstance(DateFormat.SHORT); + DateFormat mFormat = new SimpleDateFormat("HH:mm"); // 24 hour format forced to fix label overlap + @Override public String formatLabel(double value, boolean isValueX) { if (isValueX) { return mFormat.format(new Date((long) value)); } else { - if (mmolxl) { - return sgvFormatter.format(value / MMOLXLFACTOR); - } else { +// if (mmolxl) { +// return sgvFormatter.format(value / MMOLXLFACTOR); +// } else { return sgvFormatter.format(value); - } +// } } }} ); @@ -777,6 +780,9 @@ public class MainActivity extends AppCompatActivity implements OnSharedPreferenc } private void updateChart(RealmResults<PumpStatusEvent> results) { + + mChart.getGridLabelRenderer().setNumHorizontalLabels(6); + int size = results.size(); if (size == 0) { final long now = System.currentTimeMillis(), @@ -807,9 +813,9 @@ public class MainActivity extends AppCompatActivity implements OnSharedPreferenc int sgv = pumpStatus.getSgv(); if (mmolxl) { - entries[pos++] = new DataPoint(pumpStatus.getEventDate(), pumpStatus.getSgv() / MMOLXLFACTOR); + entries[pos++] = new DataPoint(pumpStatus.getEventDate(), (float) pumpStatus.getSgv() / MMOLXLFACTOR); } else { - entries[pos++] = new DataPoint(pumpStatus.getEventDate(), pumpStatus.getSgv()); + entries[pos++] = new DataPoint(pumpStatus.getEventDate(), (float) pumpStatus.getSgv()); } } @@ -835,11 +841,11 @@ public class MainActivity extends AppCompatActivity implements OnSharedPreferenc double sgv = dataPoint.getY(); StringBuilder sb = new StringBuilder(mFormat.format(new Date((long) dataPoint.getX())) + ": "); - if (mmolxl) { - sb.append(sgvFormatter.format(sgv / MMOLXLFACTOR)); - } else { +// if (mmolxl) { +// sb.append(sgvFormatter.format(sgv / MMOLXLFACTOR)); +// } else { sb.append(sgvFormatter.format(sgv)); - } +// } Toast.makeText(getBaseContext(), sb.toString(), Toast.LENGTH_SHORT).show(); } }); @@ -848,11 +854,11 @@ public class MainActivity extends AppCompatActivity implements OnSharedPreferenc @Override public void draw(Canvas canvas, Paint paint, float x, float y, DataPointInterface dataPoint) { double sgv = dataPoint.getY(); - if (sgv < 80) + if (sgv < (mmolxl?4.5:80)) paint.setColor(Color.RED); - else if (sgv <= 180) + else if (sgv <= (mmolxl?10:180)) paint.setColor(Color.GREEN); - else if (sgv <= 260) + else if (sgv <= (mmolxl?14:260)) paint.setColor(Color.YELLOW); else paint.setColor(Color.RED); -- GitLab