From cc6db3a059c2630cce751f5d1dcbc877ff67d266 Mon Sep 17 00:00:00 2001 From: Johannes Mockenhaupt Date: Wed, 8 Nov 2017 23:31:40 +0100 Subject: [PATCH] Some ComboFragment cleanups. --- app/build.gradle | 1 - .../plugins/PumpCombo/ComboFragment.java | 40 ++++++++++--------- .../main/res/layout/combopump_fragment.xml | 1 + app/src/main/res/values/strings.xml | 6 ++- 4 files changed, 26 insertions(+), 22 deletions(-) diff --git a/app/build.gradle b/app/build.gradle index 3e2bf45d20..9a21d83b3c 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -154,7 +154,6 @@ dependencies { exclude group: 'com.google.android', module: 'android' } compile 'org.apache.commons:commons-lang3:3.6' - compile 'org.ocpsoft.prettytime:prettytime:4.0.1.Final' compile 'org.slf4j:slf4j-api:1.7.12' compile 'com.jjoe64:graphview:4.0.1' compile 'com.joanzapata.iconify:android-iconify-fontawesome:2.1.1' diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/PumpCombo/ComboFragment.java b/app/src/main/java/info/nightscout/androidaps/plugins/PumpCombo/ComboFragment.java index 83f212d858..c3a46328aa 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/PumpCombo/ComboFragment.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/PumpCombo/ComboFragment.java @@ -24,6 +24,7 @@ import de.jotomo.ruffy.spi.history.Bolus; import info.nightscout.androidaps.R; import info.nightscout.androidaps.plugins.Common.SubscriberFragment; import info.nightscout.androidaps.plugins.PumpCombo.events.EventComboPumpUpdateGUI; +import info.nightscout.utils.DateUtil; // TODO clean up time/date formatting once this stabilizes a bit more public class ComboFragment extends SubscriberFragment implements View.OnClickListener, View.OnLongClickListener { @@ -39,8 +40,6 @@ public class ComboFragment extends SubscriberFragment implements View.OnClickLis private Button refresh; - private PrettyTime prettyTime = new PrettyTime(); - @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { @@ -96,7 +95,7 @@ public class ComboFragment extends SubscriberFragment implements View.OnClickLis ComboPlugin plugin = ComboPlugin.getPlugin(); // state - stateView.setText(plugin.getStateSummary()); + stateView.setText(plugin.getStateSummary()); // todo: inline, coupled with colour PumpState ps = plugin.getPump().state; if (ps.insulinState == PumpState.EMPTY || ps.batteryState == PumpState.EMPTY) { stateView.setTextColor(Color.RED); @@ -118,9 +117,6 @@ public class ComboFragment extends SubscriberFragment implements View.OnClickLis } else if (ps.batteryState == PumpState.LOW) { batteryView.setText("{fa-battery-quarter}"); batteryView.setTextColor(Color.YELLOW); - } else if (ps.batteryState == PumpState.UNKNOWN) { - batteryView.setText(""); - batteryView.setTextColor(Color.YELLOW); } else { batteryView.setText("{fa-battery-full}"); batteryView.setTextColor(Color.WHITE); @@ -138,19 +134,22 @@ public class ComboFragment extends SubscriberFragment implements View.OnClickLis } // last connection - String timeAgo = StringUtils.capitalize(prettyTime.format(new Date(plugin.getPump().lastSuccessfulConnection))); + String minAgo = DateUtil.minAgo(plugin.getPump().lastSuccessfulConnection); if (plugin.getPump().lastSuccessfulConnection == 0) { lastConnectionView.setText(R.string.combo_pump_never_connected); - lastConnectionView.setTextColor(Color.RED); + lastConnectionView.setTextColor(Color.YELLOW); + } else if (plugin.getPump().lastSuccessfulConnection + 60 * 1000 > System.currentTimeMillis()) { + lastConnectionView.setText(R.string.combo_pump_connected_now); + lastConnectionView.setTextColor(Color.WHITE); } else if (plugin.getPump().lastSuccessfulConnection < System.currentTimeMillis() - 30 * 60 * 1000) { -// lastConnectionView.setText(getString(R.string.combo_no_pump_connection, minAgo)); + lastConnectionView.setText(getString(R.string.combo_no_pump_connection, minAgo)); lastConnectionView.setTextColor(Color.RED); } else if (plugin.getPump().lastConnectionAttempt > plugin.getPump().lastSuccessfulConnection) { - String lastFailed = timeAgo + "\n" + getString(R.string.combo_connect_attempt_failed); + String lastFailed = minAgo + "\n" + getString(R.string.combo_connect_attempt_failed); lastConnectionView.setText(lastFailed); lastConnectionView.setTextColor(Color.YELLOW); } else { - lastConnectionView.setText(timeAgo); + lastConnectionView.setText(minAgo); lastConnectionView.setTextColor(Color.WHITE); } @@ -160,12 +159,17 @@ public class ComboFragment extends SubscriberFragment implements View.OnClickLis long agoMsc = System.currentTimeMillis() - bolus.timestamp; double bolusMinAgo = agoMsc / 60d / 1000d; double bolusHoursAgo = agoMsc / 60d / 60d / 1000d; - lastBolusView.setText(String.format("%.1f U (", bolus.amount) + prettyTime.format(new Date(bolus.timestamp)) + ")"); -// lastBolusView.setText(getString(R.string.combo_last_bolus, -// bolus.amount, -// bolusMinAgo < 60 ? bolusMinAgo : bolusHoursAgo, -// bolusMinAgo < 60 ? getString(R.string.minago) : getString(R.string.hoursago), -// DateUtil.timeString(bolus.timestamp))); + if ((agoMsc < 60 * 1000)) { + lastBolusView.setText(String.format("%.1f U (now)", bolus.amount, (int) bolusMinAgo)); + } else if (bolusMinAgo < 60) { + lastBolusView.setText(String.format("%.1f U (%d min ago)", bolus.amount, (int) bolusMinAgo)); +// lastBolusView.setText(getString(R.string.combo_last_bolus, bolus.amount, +// getString(R.string.minago, bolusMinAgo), DateUtil.timeString(bolus.timestamp))); + } else { + lastBolusView.setText(String.format("%.1f U (%.1f h ago)", bolus.amount, bolusHoursAgo)); +// lastBolusView.setText(getString(R.string.combo_last_bolus, bolus.amount, +// String.format("%.1f", bolusHoursAgo) + getString(R.string.hoursago), DateUtil.timeString(bolus.timestamp))); + } } else { lastBolusView.setText(""); } @@ -177,8 +181,6 @@ public class ComboFragment extends SubscriberFragment implements View.OnClickLis long remaining = ps.tbrRemainingDuration - minSinceRead; if (remaining >= 0) { tbrStr = getString(R.string.combo_tbr_remaining, ps.tbrPercent, remaining); - tbrStr = ps.tbrPercent + "% (" + prettyTime.formatDuration(new Date(System.currentTimeMillis() + remaining * 60 * 1000)) + " remaining)"; - tbrStr = ps.tbrPercent + "% (" + prettyTime.format(new Date(System.currentTimeMillis() + remaining * 60 * 1000)) + " remaining)"; } } tempBasalText.setText(tbrStr); diff --git a/app/src/main/res/layout/combopump_fragment.xml b/app/src/main/res/layout/combopump_fragment.xml index d4d271fecf..192d740c84 100644 --- a/app/src/main/res/layout/combopump_fragment.xml +++ b/app/src/main/res/layout/combopump_fragment.xml @@ -95,6 +95,7 @@ android:gravity="start" android:paddingLeft="5dp" android:textColor="@android:color/white" + android:text="" android:textSize="20sp" /> diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 18b60c22a9..7e50ff5682 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -770,9 +770,9 @@ Activity No connection for %s Last connect attempt failed - %s (%s) + %s %d%% (%d min remaining) - %.1f U (%.1f %s, %s) + %.1f U (%s, %s) Pump disconnected Suspended due to error Suspended by user @@ -800,5 +800,7 @@ Bolus delivery failed. A (partial) bolus might have been delivered. Attempting to update history from pump. Please check the Combo page and bolus again as needed. Unsafe usage: extended or multiwave boluses have been delivered within the last 6 hours or the selected basal rate is not 1. Loop mode has been disabled until 6 hours after the last unsupported bolus or basal rate profile. Only normal boluses are supported in loop mode with basal rate profile 1. A bolus with the same amount was requested within the last minute. For safety reasons this is disallowed. + Initializing + Now