From 27e9cfda6f29c9d589d36fec0a38a3d9476c0b6c Mon Sep 17 00:00:00 2001 From: Johannes Mockenhaupt Date: Fri, 8 Dec 2017 12:51:59 +0100 Subject: [PATCH] Overhaul Combo tab buttons and dialogs. --- .../plugins/PumpCombo/ComboFragment.java | 21 ++++++++++++ .../plugins/PumpCombo/ComboPlugin.java | 34 +++++++++++++++++-- .../main/res/layout/combopump_fragment.xml | 15 ++++++-- app/src/main/res/values-de/strings.xml | 2 +- app/src/main/res/values/strings.xml | 2 +- 5 files changed, 68 insertions(+), 6 deletions(-) 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 fe4dce770a..4b98ae4f2f 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 @@ -2,6 +2,7 @@ package info.nightscout.androidaps.plugins.PumpCombo; import android.app.Activity; +import android.app.AlertDialog; import android.graphics.Color; import android.os.Bundle; import android.text.Spanned; @@ -15,6 +16,7 @@ import android.widget.TextView; import com.squareup.otto.Subscribe; import de.jotomo.ruffy.spi.PumpState; +import info.nightscout.androidaps.MainApp; import info.nightscout.androidaps.R; import info.nightscout.androidaps.plugins.Common.SubscriberFragment; import info.nightscout.androidaps.plugins.ConfigBuilder.ConfigBuilderPlugin; @@ -60,6 +62,10 @@ public class ComboFragment extends SubscriberFragment implements View.OnClickLis tddHistory.setOnClickListener(this); tddHistory.setOnLongClickListener(this); + Button fullHistory = (Button) view.findViewById(R.id.combo_full_history); + fullHistory.setOnClickListener(this); + fullHistory.setOnLongClickListener(this); + updateGUI(); return view; } @@ -78,6 +84,12 @@ public class ComboFragment extends SubscriberFragment implements View.OnClickLis ComboTddHistoryDialog thd = new ComboTddHistoryDialog(); thd.show(getFragmentManager(), ComboTddHistoryDialog.class.getSimpleName()); break; + case R.id.combo_full_history: + AlertDialog.Builder builder = new AlertDialog.Builder(getContext()); + builder.setTitle(R.string.combo_warning); + builder.setMessage(R.string.combo_read_full_history_warning); + builder.show(); + break; } } @@ -90,6 +102,15 @@ public class ComboFragment extends SubscriberFragment implements View.OnClickLis case R.id.combo_tdd_history: new Thread(() -> ComboPlugin.getPlugin().readTddData()).start(); return true; + case R.id.combo_full_history: + AlertDialog.Builder builder = new AlertDialog.Builder(getContext()); + builder.setTitle(R.string.combo_warning); + builder.setMessage(R.string.combo_read_full_history_confirmation); + builder.setPositiveButton(R.string.ok, (dialog, which) -> + new Thread(() -> ComboPlugin.getPlugin().readAllPumpData()).start()); + builder.setNegativeButton(MainApp.sResources.getString(R.string.cancel), null); + builder.show(); + return true; } return false; } diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/PumpCombo/ComboPlugin.java b/app/src/main/java/info/nightscout/androidaps/plugins/PumpCombo/ComboPlugin.java index 29a7987f4c..3216ca23d4 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/PumpCombo/ComboPlugin.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/PumpCombo/ComboPlugin.java @@ -96,6 +96,7 @@ public class ComboPlugin implements PluginBase, PumpInterface, ConstraintsInterf private volatile boolean bolusInProgress; private volatile boolean cancelBolus; private Bolus lastRequestedBolus; + private long pumpHistoryLastChecked; public static ComboPlugin getPlugin() { if (plugin == null) @@ -873,8 +874,37 @@ public class ComboPlugin implements PluginBase, PumpInterface, ConstraintsInterf } void readAlertData() { - readHistory(new PumpHistoryRequest() - .pumpErrorHistory(PumpHistoryRequest.FULL)); + readHistory(new PumpHistoryRequest().pumpErrorHistory(PumpHistoryRequest.FULL)); + } + + void readAllPumpData() { + long lastCheckInitiated = System.currentTimeMillis(); + + boolean readHistorySuccess = readHistory(new PumpHistoryRequest() + .bolusHistory(pumpHistoryLastChecked) + .tbrHistory(pumpHistoryLastChecked) + .pumpErrorHistory(PumpHistoryRequest.FULL) + .tddHistory(PumpHistoryRequest.FULL)); + if (!readHistorySuccess) { + return; + } + + pumpHistoryLastChecked = lastCheckInitiated; + +/* not displayed in the UI anymore due to pump bug + CommandResult reservoirResult = runCommand("Checking reservoir level", 2, + ruffyScripter::readReservoirLevelAndLastBolus); + if (!reservoirResult.success) { + return; + } +*/ + + CommandResult basalResult = runCommand("Reading basal profile", 2, ruffyScripter::readBasalProfile); + if (!basalResult.success) { + return; + } + + pump.basalProfile = basalResult.basalProfile; } @Override diff --git a/app/src/main/res/layout/combopump_fragment.xml b/app/src/main/res/layout/combopump_fragment.xml index ba7efef275..588f673223 100644 --- a/app/src/main/res/layout/combopump_fragment.xml +++ b/app/src/main/res/layout/combopump_fragment.xml @@ -379,7 +379,7 @@ android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_weight="1" - android:drawableTop="@drawable/icon_danarhistory" + android:drawableTop="@drawable/icon_cp_announcement" android:paddingLeft="0dp" android:paddingRight="0dp" android:text="@string/combo_pump_alerts" /> @@ -393,7 +393,18 @@ android:drawableTop="@drawable/icon_danarstats" android:paddingLeft="0dp" android:paddingRight="0dp" - android:text="@string/combo_stats" /> + android:text="@string/combo_tdds" /> + +