diff --git a/app/src/main/java/info/nightscout/androidaps/PreferencesActivity.java b/app/src/main/java/info/nightscout/androidaps/PreferencesActivity.java index ccd6fc3857..dc1c5eefdb 100644 --- a/app/src/main/java/info/nightscout/androidaps/PreferencesActivity.java +++ b/app/src/main/java/info/nightscout/androidaps/PreferencesActivity.java @@ -19,6 +19,7 @@ import info.nightscout.androidaps.plugins.DanaR.BluetoothDevicePreference; import info.nightscout.androidaps.plugins.DanaR.DanaRPlugin; import info.nightscout.androidaps.plugins.DanaRKorean.DanaRKoreanPlugin; import info.nightscout.androidaps.plugins.OpenAPSAMA.OpenAPSAMAPlugin; +import info.nightscout.androidaps.plugins.VirtualPump.VirtualPumpPlugin; import info.nightscout.utils.LocaleHelper; public class PreferencesActivity extends PreferenceActivity implements SharedPreferences.OnSharedPreferenceChangeListener { @@ -104,6 +105,10 @@ public class PreferencesActivity extends PreferenceActivity implements SharedPre addPreferencesFromResource(R.xml.pref_danarprofile); } } + VirtualPumpPlugin virtualPumpPlugin = (VirtualPumpPlugin) MainApp.getSpecificPlugin(VirtualPumpPlugin.class); + if (virtualPumpPlugin != null && virtualPumpPlugin.isEnabled(PluginBase.PUMP)) { + addPreferencesFromResource(R.xml.pref_virtualpump); + } if (Config.SMSCOMMUNICATORENABLED) addPreferencesFromResource(R.xml.pref_smscommunicator); addPreferencesFromResource(R.xml.pref_others); diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/ConfigBuilder/ConfigBuilderPlugin.java b/app/src/main/java/info/nightscout/androidaps/plugins/ConfigBuilder/ConfigBuilderPlugin.java index 95bc0df99d..a0b2a7b3b0 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/ConfigBuilder/ConfigBuilderPlugin.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/ConfigBuilder/ConfigBuilderPlugin.java @@ -969,7 +969,10 @@ public class ConfigBuilderPlugin implements PluginBase, PumpInterface, Constrain } if (activePump != null) { deviceStatus.device = "openaps://" + deviceID(); - deviceStatus.pump = getJSONStatus(); + JSONObject pumpstatus = getJSONStatus(); + if (pumpstatus != null) { + deviceStatus.pump = getJSONStatus(); + } deviceStatus.created_at = DateUtil.toISOString(new Date()); diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/VirtualPump/VirtualPumpPlugin.java b/app/src/main/java/info/nightscout/androidaps/plugins/VirtualPump/VirtualPumpPlugin.java index 33bceea49a..e90916122f 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/VirtualPump/VirtualPumpPlugin.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/VirtualPump/VirtualPumpPlugin.java @@ -1,6 +1,8 @@ package info.nightscout.androidaps.plugins.VirtualPump; import android.content.Context; +import android.content.SharedPreferences; +import android.preference.PreferenceManager; import org.json.JSONException; import org.json.JSONObject; @@ -401,6 +403,10 @@ public class VirtualPumpPlugin implements PluginBase, PumpInterface { @Override public JSONObject getJSONStatus() { + SharedPreferences preferences = PreferenceManager.getDefaultSharedPreferences(MainApp.instance().getApplicationContext()); + if (!preferences.getBoolean("virtualpump_uploadstatus", false)) { + return null; + } JSONObject pump = new JSONObject(); JSONObject battery = new JSONObject(); JSONObject status = new JSONObject(); diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 30c834e5b5..08470fbbec 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -501,4 +501,6 @@ Updating basal rates Disconnecting Executing + Virtual pump settings + Upload status to NS diff --git a/app/src/main/res/xml/pref_virtualpump.xml b/app/src/main/res/xml/pref_virtualpump.xml new file mode 100644 index 0000000000..23d39114b4 --- /dev/null +++ b/app/src/main/res/xml/pref_virtualpump.xml @@ -0,0 +1,13 @@ + + + + + + + + \ No newline at end of file