diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/Wear/ActionStringHandler.java b/app/src/main/java/info/nightscout/androidaps/plugins/Wear/ActionStringHandler.java index bebf692389..887021afc4 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/Wear/ActionStringHandler.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/Wear/ActionStringHandler.java @@ -201,13 +201,15 @@ public class ActionStringHandler { if(bgReading==null && useBG){ sendError("No recent BG to base calculation on!"); return; } - + DecimalFormat format = new DecimalFormat("0.00"); BolusWizard bolusWizard = new BolusWizard(); bolusWizard.doCalc(profile.getDefaultProfile(), carbsAfterConstraints, useBG?bgReading.valueToUnits(profile.getUnits()):0d, 0d, useBolusIOB, useBasalIOB); Double insulinAfterConstraints = MainApp.getConfigBuilder().applyBolusConstraints(bolusWizard.calculatedTotalInsulin); if(insulinAfterConstraints - bolusWizard.calculatedTotalInsulin !=0){ - sendError("Insulin contraint violation!"); return; + sendError("Insulin contraint violation!" + + "\nCannot deliver " + format.format(bolusWizard.calculatedTotalInsulin) +"!"); + return; } @@ -222,17 +224,14 @@ public class ActionStringHandler { } else { rAction = actionstring; } - DecimalFormat format = new DecimalFormat("0.00"); rMessage += "Carbs: " + bolusWizard.carbs + "g"; rMessage += "\nBolus: " + format.format(bolusWizard.calculatedTotalInsulin) + "U"; - rMessage += "\nCalculation: "; - rMessage += "\nWizard: " + format.format(insulin) + "U"; - rMessage += "\nCarb: " + format.format(bolusWizard.insulinFromCarbs) + "U"; - if(useBG)rMessage += "\nBG: " + format.format(bolusWizard.insulinFromBG) + "U"; + rMessage += "\n_____________"; + rMessage += "\nCalc (IC:" + DecimalFormatter.to1Decimal(bolusWizard.ic) + ", " + "ISF:" + DecimalFormatter.to1Decimal(bolusWizard.sens) + "): "; + rMessage += "\nFrom Carbs: " + format.format(bolusWizard.insulinFromCarbs) + "U"; + if(useBG)rMessage += "\nFrom BG: " + format.format(bolusWizard.insulinFromBG) + "U"; if(useBolusIOB)rMessage += "\nBolus IOB: " + format.format(bolusWizard.insulingFromBolusIOB) + "U"; if(useBasalIOB)rMessage += "\nBasal IOB: " + format.format(bolusWizard.insulingFromBasalsIOB) + "U"; - rMessage += "\nIC:" + DecimalFormatter.to1Decimal(bolusWizard.ic); - if(useBG)rMessage += " ISF:" + DecimalFormatter.to1Decimal(bolusWizard.sens); lastBolusWizard = bolusWizard; @@ -315,7 +314,7 @@ public class ActionStringHandler { } private static void doFillBolus(final Double amount) { - if(1==1)return; + //if(1==1)return; Handler handler = new Handler(handlerThread.getLooper()); handler.post(new Runnable() { @Override @@ -331,7 +330,7 @@ public class ActionStringHandler { } private static void doBolus(final Double amount, final Integer carbs) { - if(1==1)return; + //if(1==1)return; Handler handler = new Handler(handlerThread.getLooper()); handler.post(new Runnable() { @Override diff --git a/wear/src/main/java/info/nightscout/androidaps/data/ListenerService.java b/wear/src/main/java/info/nightscout/androidaps/data/ListenerService.java index c85566512f..88c334d07a 100644 --- a/wear/src/main/java/info/nightscout/androidaps/data/ListenerService.java +++ b/wear/src/main/java/info/nightscout/androidaps/data/ListenerService.java @@ -80,8 +80,20 @@ public class ListenerService extends WearableListenerService implements GoogleAp Wearable.MessageApi.sendMessage(googleApiClient, node.getId(), WEARABLE_RESEND_PATH, null); } } - } else - googleApiClient.connect(); + } else { + googleApiClient.blockingConnect(15, TimeUnit.SECONDS); + if (googleApiClient.isConnected()) { + if (System.currentTimeMillis() - lastRequest > 20 * 1000) { // enforce 20-second debounce period + lastRequest = System.currentTimeMillis(); + + NodeApi.GetConnectedNodesResult nodes = + Wearable.NodeApi.getConnectedNodes(googleApiClient).await(); + for (Node node : nodes.getNodes()) { + Wearable.MessageApi.sendMessage(googleApiClient, node.getId(), WEARABLE_RESEND_PATH, null); + } + } + } + } return null; } } diff --git a/wear/src/main/java/info/nightscout/androidaps/interaction/menus/MainMenuActivity.java b/wear/src/main/java/info/nightscout/androidaps/interaction/menus/MainMenuActivity.java index a97c165792..71e3b48d5c 100644 --- a/wear/src/main/java/info/nightscout/androidaps/interaction/menus/MainMenuActivity.java +++ b/wear/src/main/java/info/nightscout/androidaps/interaction/menus/MainMenuActivity.java @@ -1,6 +1,9 @@ package info.nightscout.androidaps.interaction.menus; import android.content.Intent; +import android.content.SharedPreferences; +import android.os.Bundle; +import android.preference.PreferenceManager; import info.nightscout.androidaps.data.ListenerService; import info.nightscout.androidaps.interaction.AAPSPreferences; @@ -15,8 +18,20 @@ import info.nightscout.androidaps.interaction.actions.WizardActivity; public class MainMenuActivity extends MenuListActivity { + SharedPreferences sp; + + @Override + protected void onCreate(Bundle savedInstanceState) { + sp = PreferenceManager.getDefaultSharedPreferences(this); + super.onCreate(savedInstanceState); + ListenerService.requestData(this); + } + @Override protected String[] getElements() { + + boolean showPrimeFill = sp.getBoolean("primefill", false); + return new String[] { "TempT", "Bolus", @@ -24,7 +39,7 @@ public class MainMenuActivity extends MenuListActivity { "Settings", "Re-Sync", "Status", - "Prime/Fill"}; + showPrimeFill?"Prime/Fill":""}; } @Override @@ -61,9 +76,12 @@ public class MainMenuActivity extends MenuListActivity { this.startActivity(intent); break; case 6: - intent = new Intent(this, FillMenuActivity.class); - intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); - this.startActivity(intent); + boolean showPrimeFill = sp.getBoolean("primefill", false); + if(showPrimeFill) { + intent = new Intent(this, FillMenuActivity.class); + intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); + this.startActivity(intent); + } break; } diff --git a/wear/src/main/java/info/nightscout/androidaps/interaction/utils/MenuListActivity.java b/wear/src/main/java/info/nightscout/androidaps/interaction/utils/MenuListActivity.java index 681ceb134a..d151196091 100644 --- a/wear/src/main/java/info/nightscout/androidaps/interaction/utils/MenuListActivity.java +++ b/wear/src/main/java/info/nightscout/androidaps/interaction/utils/MenuListActivity.java @@ -18,7 +18,7 @@ import info.nightscout.androidaps.R; public abstract class MenuListActivity extends Activity implements WearableListView.ClickListener { - String[] elements = getElements(); + String[] elements; protected abstract String[] getElements(); @@ -33,6 +33,7 @@ public abstract class MenuListActivity extends Activity @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); + elements = getElements(); setContentView(R.layout.actions_list_activity); // Get the list component from the layout of the activity diff --git a/wear/src/main/res/xml/preferences.xml b/wear/src/main/res/xml/preferences.xml index f19fe60110..28ab0eb621 100644 --- a/wear/src/main/res/xml/preferences.xml +++ b/wear/src/main/res/xml/preferences.xml @@ -105,7 +105,6 @@ app:wear_iconOff="@drawable/settings_off" app:wear_iconOn="@drawable/settings_on"/> - + +