Merge branch 'dev2' into smb

This commit is contained in:
Milos Kozak 2017-11-01 20:50:14 +01:00
commit a1c6704ae9
121 changed files with 615 additions and 236 deletions

View file

@ -149,6 +149,7 @@ dependencies {
compile('com.github.tony19:logback-android-classic:1.1.1-6') { compile('com.github.tony19:logback-android-classic:1.1.1-6') {
exclude group: 'com.google.android', module: 'android' exclude group: 'com.google.android', module: 'android'
} }
compile 'org.apache.commons:commons-lang3:3.6'
compile 'org.slf4j:slf4j-api:1.7.12' compile 'org.slf4j:slf4j-api:1.7.12'
compile 'com.jjoe64:graphview:4.0.1' compile 'com.jjoe64:graphview:4.0.1'
compile 'com.joanzapata.iconify:android-iconify-fontawesome:2.1.1' compile 'com.joanzapata.iconify:android-iconify-fontawesome:2.1.1'

View file

@ -0,0 +1,87 @@
package com.squareup.otto;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import java.lang.reflect.Field;
import java.lang.reflect.Method;
import java.util.HashMap;
import java.util.HashSet;
import java.util.Map;
import java.util.Set;
import info.nightscout.androidaps.events.Event;
/** Logs events has they're being posted to and dispatched from the event bus.
*
* A summary of event-receiver calls that occurred so far is logged
* after 10s (after startup) and then again every 60s.
* */
public class LoggingBus extends Bus {
private static Logger log = LoggerFactory.getLogger(LoggingBus.class);
private static long everyMinute = System.currentTimeMillis() + 10 * 1000;
private Map<String, Set<String>> event2Receiver = new HashMap<>();
public LoggingBus(ThreadEnforcer enforcer) {
super(enforcer);
}
@Override
public void post(Object event) {
if (event instanceof DeadEvent) {
log.debug("Event has no receiver: " + ((DeadEvent) event).event + ", source: " + ((DeadEvent) event).source);
return;
}
if (!(event instanceof Event)) {
log.error("Posted event not an event class: " + event.getClass());
}
log.debug("<<< " + event);
try {
StackTraceElement caller = new Throwable().getStackTrace()[1];
String className = caller.getClassName();
className = className.substring(className.lastIndexOf(".") + 1);
log.debug(" source: " + className + "." + caller.getMethodName() + ":" + caller.getLineNumber());
} catch (RuntimeException e) {
log.debug(" source: <unknown>");
}
super.post(event);
}
@Override
protected void dispatch(Object event, EventHandler wrapper) {
try {
log.debug(">>> " + event);
Field methodField = wrapper.getClass().getDeclaredField("method");
methodField.setAccessible(true);
Method targetMethod = (Method) methodField.get(wrapper);
String className = targetMethod.getDeclaringClass().getSimpleName();
String methodName = targetMethod.getName();
String receiverMethod = className + "." + methodName;
log.debug(" receiver: " + receiverMethod);
String key = event.getClass().getSimpleName();
if (!event2Receiver.containsKey(key)) event2Receiver.put(key, new HashSet<String>());
event2Receiver.get(key).add(receiverMethod);
} catch (ReflectiveOperationException e) {
log.debug(" receiver: <unknown>");
}
if (everyMinute < System.currentTimeMillis()) {
log.debug("***************** Event -> receiver pairings seen so far ****************");
for (Map.Entry<String, Set<String>> stringSetEntry : event2Receiver.entrySet()) {
log.debug(" " + stringSetEntry.getKey());
for (String s : stringSetEntry.getValue()) {
log.debug(" -> " + s);
}
}
log.debug("*************************************************************************");
everyMinute = System.currentTimeMillis() + 60 * 1000;
}
super.dispatch(event, wrapper);
}
}

View file

@ -9,13 +9,9 @@ public class Config {
// MAIN FUCTIONALITY // MAIN FUCTIONALITY
public static final boolean APS = BuildConfig.APS; public static final boolean APS = BuildConfig.APS;
// PLUGINS // PLUGINS
public static final boolean OPENAPSENABLED = APS;
public static final boolean LOOPENABLED = APS;
public static final boolean NSCLIENT = BuildConfig.NSCLIENTOLNY; public static final boolean NSCLIENT = BuildConfig.NSCLIENTOLNY;
public static final boolean DANAR = true && BuildConfig.PUMPDRIVERS; public static final boolean DANAR = true && BuildConfig.PUMPDRIVERS;
public static final boolean DANARv2 = true && BuildConfig.PUMPDRIVERS;
public static final boolean ACTION = !BuildConfig.NSCLIENTOLNY; public static final boolean ACTION = !BuildConfig.NSCLIENTOLNY;
public static final boolean VIRTUALPUMP = !BuildConfig.NSCLIENTOLNY; public static final boolean VIRTUALPUMP = !BuildConfig.NSCLIENTOLNY;
@ -26,8 +22,6 @@ public class Config {
public static final boolean SMSCOMMUNICATORENABLED = !BuildConfig.NSCLIENTOLNY; public static final boolean SMSCOMMUNICATORENABLED = !BuildConfig.NSCLIENTOLNY;
public static final boolean ALLPREFERENCES = !BuildConfig.NSCLIENTOLNY;
public static final boolean displayDeviationSlope = true; public static final boolean displayDeviationSlope = true;
public static final boolean detailedLog = true; public static final boolean detailedLog = true;
@ -42,6 +36,7 @@ public class Config {
public static final boolean logPumpActions = true; public static final boolean logPumpActions = true;
public static final boolean logCongigBuilderActions = true; public static final boolean logCongigBuilderActions = true;
public static final boolean logAutosensData = false; public static final boolean logAutosensData = false;
public static final boolean logEvents = false;
// DanaR specific // DanaR specific
public static final boolean logDanaBTComm = true; public static final boolean logDanaBTComm = true;

View file

@ -336,6 +336,7 @@ public class MainActivity extends AppCompatActivity implements View.OnClickListe
@Override @Override
public void run() { public void run() {
Intent i = new Intent(v.getContext(), PreferencesActivity.class); Intent i = new Intent(v.getContext(), PreferencesActivity.class);
i.putExtra("id", -1);
startActivity(i); startActivity(i);
} }
}, null); }, null);

View file

@ -13,6 +13,7 @@ import com.crashlytics.android.answers.Answers;
import com.crashlytics.android.answers.CustomEvent; import com.crashlytics.android.answers.CustomEvent;
import com.j256.ormlite.android.apptools.OpenHelperManager; import com.j256.ormlite.android.apptools.OpenHelperManager;
import com.squareup.otto.Bus; import com.squareup.otto.Bus;
import com.squareup.otto.LoggingBus;
import com.squareup.otto.ThreadEnforcer; import com.squareup.otto.ThreadEnforcer;
import org.slf4j.Logger; import org.slf4j.Logger;
@ -26,7 +27,7 @@ import info.nightscout.androidaps.interfaces.InsulinInterface;
import info.nightscout.androidaps.interfaces.PluginBase; import info.nightscout.androidaps.interfaces.PluginBase;
import info.nightscout.androidaps.interfaces.PumpInterface; import info.nightscout.androidaps.interfaces.PumpInterface;
import info.nightscout.androidaps.plugins.Actions.ActionsFragment; import info.nightscout.androidaps.plugins.Actions.ActionsFragment;
import info.nightscout.androidaps.plugins.Careportal.CareportalFragment; import info.nightscout.androidaps.plugins.Careportal.CareportalPlugin;
import info.nightscout.androidaps.plugins.ConfigBuilder.ConfigBuilderFragment; import info.nightscout.androidaps.plugins.ConfigBuilder.ConfigBuilderFragment;
import info.nightscout.androidaps.plugins.ConfigBuilder.ConfigBuilderPlugin; import info.nightscout.androidaps.plugins.ConfigBuilder.ConfigBuilderPlugin;
import info.nightscout.androidaps.plugins.ConstraintsObjectives.ObjectivesPlugin; import info.nightscout.androidaps.plugins.ConstraintsObjectives.ObjectivesPlugin;
@ -69,7 +70,7 @@ import info.nightscout.androidaps.plugins.SourceMM640g.SourceMM640gPlugin;
import info.nightscout.androidaps.plugins.SourceNSClient.SourceNSClientPlugin; import info.nightscout.androidaps.plugins.SourceNSClient.SourceNSClientPlugin;
import info.nightscout.androidaps.plugins.SourceXdrip.SourceXdripPlugin; import info.nightscout.androidaps.plugins.SourceXdrip.SourceXdripPlugin;
import info.nightscout.androidaps.plugins.Treatments.TreatmentsPlugin; import info.nightscout.androidaps.plugins.Treatments.TreatmentsPlugin;
import info.nightscout.androidaps.plugins.Wear.WearFragment; import info.nightscout.androidaps.plugins.Wear.WearPlugin;
import info.nightscout.androidaps.plugins.XDripStatusline.StatuslinePlugin; import info.nightscout.androidaps.plugins.XDripStatusline.StatuslinePlugin;
import info.nightscout.androidaps.receivers.DataReceiver; import info.nightscout.androidaps.receivers.DataReceiver;
import info.nightscout.androidaps.receivers.KeepAliveReceiver; import info.nightscout.androidaps.receivers.KeepAliveReceiver;
@ -105,7 +106,8 @@ public class MainApp extends Application {
log.info("Version: " + BuildConfig.VERSION_NAME); log.info("Version: " + BuildConfig.VERSION_NAME);
log.info("BuildVersion: " + BuildConfig.BUILDVERSION); log.info("BuildVersion: " + BuildConfig.BUILDVERSION);
sBus = new Bus(ThreadEnforcer.ANY); sBus = Config.logEvents ? new LoggingBus(ThreadEnforcer.ANY) : new Bus(ThreadEnforcer.ANY);
sInstance = this; sInstance = this;
sResources = getResources(); sResources = getResources();
@ -129,13 +131,13 @@ public class MainApp extends Application {
if (Config.DANAR) pluginsList.add(DanaRKoreanPlugin.getPlugin()); if (Config.DANAR) pluginsList.add(DanaRKoreanPlugin.getPlugin());
if (Config.DANAR) pluginsList.add(DanaRv2Plugin.getPlugin()); if (Config.DANAR) pluginsList.add(DanaRv2Plugin.getPlugin());
if (Config.DANAR) pluginsList.add(DanaRSPlugin.getPlugin()); if (Config.DANAR) pluginsList.add(DanaRSPlugin.getPlugin());
pluginsList.add(CareportalFragment.getPlugin()); pluginsList.add(CareportalPlugin.getPlugin());
if (Config.MDI) pluginsList.add(MDIPlugin.getPlugin()); if (Config.MDI) pluginsList.add(MDIPlugin.getPlugin());
if (Config.VIRTUALPUMP) pluginsList.add(VirtualPumpPlugin.getInstance()); if (Config.VIRTUALPUMP) pluginsList.add(VirtualPumpPlugin.getPlugin());
if (Config.LOOPENABLED) pluginsList.add(LoopPlugin.getPlugin()); if (Config.APS) pluginsList.add(LoopPlugin.getPlugin());
if (Config.OPENAPSENABLED) pluginsList.add(OpenAPSMAPlugin.getPlugin()); if (Config.APS) pluginsList.add(OpenAPSMAPlugin.getPlugin());
if (Config.OPENAPSENABLED) pluginsList.add(OpenAPSAMAPlugin.getPlugin()); if (Config.APS) pluginsList.add(OpenAPSAMAPlugin.getPlugin());
if (Config.OPENAPSENABLED) pluginsList.add(OpenAPSSMBPlugin.getPlugin()); if (Config.APS) pluginsList.add(OpenAPSSMBPlugin.getPlugin());
pluginsList.add(NSProfilePlugin.getPlugin()); pluginsList.add(NSProfilePlugin.getPlugin());
if (Config.OTHERPROFILES) pluginsList.add(SimpleProfilePlugin.getPlugin()); if (Config.OTHERPROFILES) pluginsList.add(SimpleProfilePlugin.getPlugin());
if (Config.OTHERPROFILES) pluginsList.add(LocalProfileFragment.getPlugin()); if (Config.OTHERPROFILES) pluginsList.add(LocalProfileFragment.getPlugin());
@ -154,8 +156,8 @@ public class MainApp extends Application {
if (Config.SMSCOMMUNICATORENABLED) pluginsList.add(SmsCommunicatorPlugin.getPlugin()); if (Config.SMSCOMMUNICATORENABLED) pluginsList.add(SmsCommunicatorPlugin.getPlugin());
pluginsList.add(FoodPlugin.getPlugin()); pluginsList.add(FoodPlugin.getPlugin());
pluginsList.add(WearFragment.getPlugin(this)); pluginsList.add(WearPlugin.initPlugin(this));
pluginsList.add(StatuslinePlugin.getPlugin(this)); pluginsList.add(StatuslinePlugin.initPlugin(this));
pluginsList.add(new PersistentNotificationPlugin(this)); pluginsList.add(new PersistentNotificationPlugin(this));
pluginsList.add(NSClientInternalPlugin.getPlugin()); pluginsList.add(NSClientInternalPlugin.getPlugin());

View file

@ -1,5 +1,6 @@
package info.nightscout.androidaps; package info.nightscout.androidaps;
import android.content.Intent;
import android.content.SharedPreferences; import android.content.SharedPreferences;
import android.os.Bundle; import android.os.Bundle;
import android.preference.EditTextPreference; import android.preference.EditTextPreference;
@ -15,19 +16,27 @@ import android.text.TextUtils;
import info.nightscout.androidaps.events.EventPreferenceChange; import info.nightscout.androidaps.events.EventPreferenceChange;
import info.nightscout.androidaps.events.EventRefreshGui; import info.nightscout.androidaps.events.EventRefreshGui;
import info.nightscout.androidaps.interfaces.PluginBase; import info.nightscout.androidaps.interfaces.PluginBase;
<<<<<<< HEAD
import info.nightscout.androidaps.plugins.OpenAPSSMB.OpenAPSSMBPlugin; import info.nightscout.androidaps.plugins.OpenAPSSMB.OpenAPSSMBPlugin;
=======
import info.nightscout.androidaps.plugins.Careportal.CareportalPlugin;
import info.nightscout.androidaps.plugins.ConstraintsSafety.SafetyPlugin;
>>>>>>> dev2
import info.nightscout.androidaps.plugins.Insulin.InsulinOrefFreePeakPlugin; import info.nightscout.androidaps.plugins.Insulin.InsulinOrefFreePeakPlugin;
import info.nightscout.androidaps.plugins.Loop.LoopPlugin;
import info.nightscout.androidaps.plugins.NSClientInternal.NSClientInternalPlugin;
import info.nightscout.androidaps.plugins.OpenAPSAMA.OpenAPSAMAPlugin;
import info.nightscout.androidaps.plugins.OpenAPSMA.OpenAPSMAPlugin;
import info.nightscout.androidaps.plugins.PumpDanaR.BluetoothDevicePreference; import info.nightscout.androidaps.plugins.PumpDanaR.BluetoothDevicePreference;
import info.nightscout.androidaps.plugins.PumpDanaR.DanaRPlugin; import info.nightscout.androidaps.plugins.PumpDanaR.DanaRPlugin;
import info.nightscout.androidaps.plugins.PumpDanaRKorean.DanaRKoreanPlugin; import info.nightscout.androidaps.plugins.PumpDanaRKorean.DanaRKoreanPlugin;
import info.nightscout.androidaps.plugins.NSClientInternal.NSClientInternalPlugin;
import info.nightscout.androidaps.plugins.OpenAPSAMA.OpenAPSAMAPlugin;
import info.nightscout.androidaps.plugins.PumpDanaRS.DanaRSPlugin; import info.nightscout.androidaps.plugins.PumpDanaRS.DanaRSPlugin;
import info.nightscout.androidaps.plugins.PumpDanaRv2.DanaRv2Plugin; import info.nightscout.androidaps.plugins.PumpDanaRv2.DanaRv2Plugin;
import info.nightscout.androidaps.plugins.PumpVirtual.VirtualPumpPlugin; import info.nightscout.androidaps.plugins.PumpVirtual.VirtualPumpPlugin;
import info.nightscout.androidaps.plugins.SensitivityAAPS.SensitivityAAPSPlugin; import info.nightscout.androidaps.plugins.SensitivityAAPS.SensitivityAAPSPlugin;
import info.nightscout.androidaps.plugins.SensitivityOref0.SensitivityOref0Plugin; import info.nightscout.androidaps.plugins.SensitivityOref0.SensitivityOref0Plugin;
import info.nightscout.androidaps.plugins.SensitivityWeightedAverage.SensitivityWeightedAveragePlugin; import info.nightscout.androidaps.plugins.SensitivityWeightedAverage.SensitivityWeightedAveragePlugin;
import info.nightscout.androidaps.plugins.SmsCommunicator.SmsCommunicatorPlugin;
import info.nightscout.androidaps.plugins.Wear.WearPlugin; import info.nightscout.androidaps.plugins.Wear.WearPlugin;
import info.nightscout.androidaps.plugins.XDripStatusline.StatuslinePlugin; import info.nightscout.androidaps.plugins.XDripStatusline.StatuslinePlugin;
import info.nightscout.utils.LocaleHelper; import info.nightscout.utils.LocaleHelper;
@ -41,6 +50,7 @@ public class PreferencesActivity extends PreferenceActivity implements SharedPre
protected void onCreate(Bundle savedInstanceState) { protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState); super.onCreate(savedInstanceState);
myPreferenceFragment = new MyPreferenceFragment(); myPreferenceFragment = new MyPreferenceFragment();
myPreferenceFragment.setCaller(getIntent());
getFragmentManager().beginTransaction().replace(android.R.id.content, myPreferenceFragment).commit(); getFragmentManager().beginTransaction().replace(android.R.id.content, myPreferenceFragment).commit();
PreferenceManager.getDefaultSharedPreferences(this).registerOnSharedPreferenceChangeListener(this); PreferenceManager.getDefaultSharedPreferences(this).registerOnSharedPreferenceChangeListener(this);
} }
@ -73,12 +83,11 @@ public class PreferencesActivity extends PreferenceActivity implements SharedPre
if (pref.getKey().contains("password") || pref.getKey().contains("secret")) { if (pref.getKey().contains("password") || pref.getKey().contains("secret")) {
pref.setSummary("******"); pref.setSummary("******");
} else if (pref.getKey().equals(MainApp.sResources.getString(R.string.key_danars_name))) { } else if (pref.getKey().equals(MainApp.sResources.getString(R.string.key_danars_name))) {
pref.setSummary(SP.getString(R.string.key_danars_name,"")); pref.setSummary(SP.getString(R.string.key_danars_name, ""));
} else if (editTextPref.getText() != null && !editTextPref.getText().equals("")) { } else if (editTextPref.getText() != null && !editTextPref.getText().equals("")) {
((EditTextPreference) pref).setDialogMessage(editTextPref.getDialogMessage()); ((EditTextPreference) pref).setDialogMessage(editTextPref.getDialogMessage());
pref.setSummary(editTextPref.getText()); pref.setSummary(editTextPref.getText());
} } else if (pref.getKey().contains("smscommunicator_allowednumbers") && TextUtils.isEmpty(editTextPref.getText().toString().trim())) {
else if(pref.getKey().contains("smscommunicator_allowednumbers") && TextUtils.isEmpty(editTextPref.getText().toString().trim())){
pref.setSummary(MainApp.sResources.getString(R.string.smscommunicator_allowednumbers_summary)); pref.setSummary(MainApp.sResources.getString(R.string.smscommunicator_allowednumbers_summary));
} }
} }
@ -100,87 +109,79 @@ public class PreferencesActivity extends PreferenceActivity implements SharedPre
} }
public static class MyPreferenceFragment extends PreferenceFragment { public static class MyPreferenceFragment extends PreferenceFragment {
Intent caller;
public void setCaller(Intent i) {
caller = i;
}
void addPreferencesFromResourceIfEnabled(PluginBase p, int type) {
if (p.isEnabled(type) && p.getPreferencesId() != -1)
addPreferencesFromResource(p.getPreferencesId());
}
@Override @Override
public void onCreate(final Bundle savedInstanceState) { public void onCreate(final Bundle savedInstanceState) {
super.onCreate(savedInstanceState); super.onCreate(savedInstanceState);
if (Config.ALLPREFERENCES) {
Integer id = caller.getIntExtra("id", -1);
if (id != -1) {
addPreferencesFromResource(id);
} else {
if (!Config.NSCLIENT) {
addPreferencesFromResource(R.xml.pref_password); addPreferencesFromResource(R.xml.pref_password);
} }
addPreferencesFromResource(R.xml.pref_age); addPreferencesFromResource(R.xml.pref_age);
addPreferencesFromResource(R.xml.pref_language); addPreferencesFromResource(R.xml.pref_language);
if (Config.ALLPREFERENCES) {
if (!Config.NSCLIENT) {
addPreferencesFromResource(R.xml.pref_quickwizard); addPreferencesFromResource(R.xml.pref_quickwizard);
} }
addPreferencesFromResource(R.xml.pref_careportal); addPreferencesFromResourceIfEnabled(CareportalPlugin.getPlugin(), PluginBase.GENERAL);
if (Config.ALLPREFERENCES) { addPreferencesFromResourceIfEnabled(SafetyPlugin.getPlugin(), PluginBase.CONSTRAINTS);
addPreferencesFromResource(R.xml.pref_treatments); if (Config.APS) {
addPreferencesFromResourceIfEnabled(LoopPlugin.getPlugin(), PluginBase.LOOP);
addPreferencesFromResourceIfEnabled(OpenAPSMAPlugin.getPlugin(), PluginBase.APS);
addPreferencesFromResourceIfEnabled(OpenAPSAMAPlugin.getPlugin(), PluginBase.APS);
} }
if (Config.APS)
addPreferencesFromResource(R.xml.pref_closedmode); addPreferencesFromResourceIfEnabled(SensitivityAAPSPlugin.getPlugin(), PluginBase.SENSITIVITY);
if (Config.OPENAPSENABLED) { addPreferencesFromResourceIfEnabled(SensitivityWeightedAveragePlugin.getPlugin(), PluginBase.SENSITIVITY);
addPreferencesFromResource(R.xml.pref_openapsma); addPreferencesFromResourceIfEnabled(SensitivityOref0Plugin.getPlugin(), PluginBase.SENSITIVITY);
if (MainApp.getSpecificPlugin(OpenAPSAMAPlugin.class) != null && MainApp.getSpecificPlugin(OpenAPSAMAPlugin.class).isEnabled(PluginBase.APS))
addPreferencesFromResource(R.xml.pref_openapsama); if (!Config.NSCLIENT) {
if (MainApp.getSpecificPlugin(OpenAPSSMBPlugin.class) != null && MainApp.getSpecificPlugin(OpenAPSSMBPlugin.class).isEnabled(PluginBase.APS))
addPreferencesFromResource(R.xml.pref_openapsama);
}
if (MainApp.getSpecificPlugin(SensitivityAAPSPlugin.class) != null && MainApp.getSpecificPlugin(SensitivityAAPSPlugin.class).isEnabled(PluginBase.SENSITIVITY)
|| MainApp.getSpecificPlugin(SensitivityWeightedAveragePlugin.class) != null && MainApp.getSpecificPlugin(SensitivityWeightedAveragePlugin.class).isEnabled(PluginBase.SENSITIVITY))
addPreferencesFromResource(R.xml.pref_absorption_aaps);
if (MainApp.getSpecificPlugin(SensitivityOref0Plugin.class) != null && MainApp.getSpecificPlugin(SensitivityOref0Plugin.class).isEnabled(PluginBase.SENSITIVITY))
addPreferencesFromResource(R.xml.pref_absorption_oref0);
if (Config.ALLPREFERENCES) {
addPreferencesFromResource(R.xml.pref_profile); addPreferencesFromResource(R.xml.pref_profile);
} }
if (Config.DANAR) { if (Config.DANAR) {
DanaRPlugin danaRPlugin = MainApp.getSpecificPlugin(DanaRPlugin.class); addPreferencesFromResourceIfEnabled(DanaRPlugin.getPlugin(), PluginBase.PUMP);
DanaRKoreanPlugin danaRKoreanPlugin = MainApp.getSpecificPlugin(DanaRKoreanPlugin.class); addPreferencesFromResourceIfEnabled(DanaRKoreanPlugin.getPlugin(), PluginBase.PUMP);
DanaRv2Plugin danaRv2Plugin = MainApp.getSpecificPlugin(DanaRv2Plugin.class); addPreferencesFromResourceIfEnabled(DanaRv2Plugin.getPlugin(), PluginBase.PUMP);
DanaRSPlugin danaRSPlugin = MainApp.getSpecificPlugin(DanaRSPlugin.class); addPreferencesFromResourceIfEnabled(DanaRSPlugin.getPlugin(), PluginBase.PUMP);
if (danaRPlugin.isEnabled(PluginBase.PUMP)) {
addPreferencesFromResource(R.xml.pref_danar); if (DanaRPlugin.getPlugin().isEnabled(PluginBase.PROFILE)
} || DanaRKoreanPlugin.getPlugin().isEnabled(PluginBase.PROFILE)
if (danaRKoreanPlugin.isEnabled(PluginBase.PUMP)) { || DanaRv2Plugin.getPlugin().isEnabled(PluginBase.PROFILE)
addPreferencesFromResource(R.xml.pref_danarkorean); || DanaRSPlugin.getPlugin().isEnabled(PluginBase.PROFILE)) {
}
if (danaRv2Plugin != null && danaRv2Plugin.isEnabled(PluginBase.PUMP)) {
addPreferencesFromResource(R.xml.pref_danarv2);
}
if (danaRSPlugin != null && danaRSPlugin.isEnabled(PluginBase.PUMP)) {
addPreferencesFromResource(R.xml.pref_danars);
}
if (danaRPlugin.isEnabled(PluginBase.PROFILE) || danaRKoreanPlugin.isEnabled(PluginBase.PROFILE) || danaRv2Plugin != null && danaRv2Plugin.isEnabled(PluginBase.PROFILE)) {
addPreferencesFromResource(R.xml.pref_danarprofile); addPreferencesFromResource(R.xml.pref_danarprofile);
} }
} }
VirtualPumpPlugin virtualPumpPlugin = MainApp.getSpecificPlugin(VirtualPumpPlugin.class);
if (virtualPumpPlugin != null && virtualPumpPlugin.isEnabled(PluginBase.PUMP)) {
addPreferencesFromResource(R.xml.pref_virtualpump);
}
InsulinOrefFreePeakPlugin insulinOrefFreePeakPlugin = MainApp.getSpecificPlugin(InsulinOrefFreePeakPlugin.class);
if (insulinOrefFreePeakPlugin.isEnabled(PluginBase.INSULIN)) {
addPreferencesFromResource(R.xml.pref_insulinoreffreepeak);
}
NSClientInternalPlugin nsClientInternalPlugin = MainApp.getSpecificPlugin(NSClientInternalPlugin.class); addPreferencesFromResourceIfEnabled(VirtualPumpPlugin.getPlugin(), PluginBase.PUMP);
if (nsClientInternalPlugin != null && nsClientInternalPlugin.isEnabled(PluginBase.GENERAL)) {
addPreferencesFromResource(R.xml.pref_nsclientinternal); addPreferencesFromResourceIfEnabled(InsulinOrefFreePeakPlugin.getPlugin(), PluginBase.INSULIN);
}
if (Config.SMSCOMMUNICATORENABLED) addPreferencesFromResourceIfEnabled(NSClientInternalPlugin.getPlugin(), PluginBase.GENERAL);
addPreferencesFromResource(R.xml.pref_smscommunicator); addPreferencesFromResourceIfEnabled(SmsCommunicatorPlugin.getPlugin(), PluginBase.GENERAL);
if (Config.ALLPREFERENCES) {
if (!Config.NSCLIENT) {
addPreferencesFromResource(R.xml.pref_others); addPreferencesFromResource(R.xml.pref_others);
} }
addPreferencesFromResource(R.xml.pref_advanced); addPreferencesFromResource(R.xml.pref_advanced);
WearPlugin wearPlugin = MainApp.getSpecificPlugin(WearPlugin.class); addPreferencesFromResourceIfEnabled(WearPlugin.getPlugin(), PluginBase.GENERAL);
if (wearPlugin != null && wearPlugin.isEnabled(PluginBase.GENERAL)) { addPreferencesFromResourceIfEnabled(StatuslinePlugin.getPlugin(), PluginBase.GENERAL);
addPreferencesFromResource(R.xml.pref_wear);
}
StatuslinePlugin statuslinePlugin = MainApp.getSpecificPlugin(StatuslinePlugin.class);
if (statuslinePlugin != null && statuslinePlugin.isEnabled(PluginBase.GENERAL)) {
addPreferencesFromResource(R.xml.pref_xdripstatus);
} }
initSummary(getPreferenceScreen()); initSummary(getPreferenceScreen());

View file

@ -0,0 +1,16 @@
package info.nightscout.androidaps.events;
import org.apache.commons.lang3.builder.ReflectionToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
/** Base class for all events posted on the event bus. */
public abstract class Event {
static {
ReflectionToStringBuilder.setDefaultStyle(ToStringStyle.SHORT_PREFIX_STYLE);
}
@Override
public String toString() {
return ReflectionToStringBuilder.toString(this);
}
}

View file

@ -3,5 +3,5 @@ package info.nightscout.androidaps.events;
/** /**
* Created by mike on 07.07.2016. * Created by mike on 07.07.2016.
*/ */
public class EventAppExit { public class EventAppExit extends Event {
} }

View file

@ -4,7 +4,7 @@ package info.nightscout.androidaps.events;
* Created by adrian on 07/02/17. * Created by adrian on 07/02/17.
*/ */
public class EventBolusRequested { public class EventBolusRequested extends Event {
private double amount; private double amount;
public EventBolusRequested (double amount){ public EventBolusRequested (double amount){

View file

@ -4,5 +4,5 @@ package info.nightscout.androidaps.events;
* Created by mike on 25.05.2017. * Created by mike on 25.05.2017.
*/ */
public class EventCareportalEventChange { public class EventCareportalEventChange extends Event {
} }

View file

@ -4,5 +4,5 @@ package info.nightscout.androidaps.events;
* Created by mike on 17.02.2017. * Created by mike on 17.02.2017.
*/ */
public class EventConfigBuilderChange { public class EventConfigBuilderChange extends Event {
} }

View file

@ -4,5 +4,5 @@ package info.nightscout.androidaps.events;
* Created by mike on 15.05.2017. * Created by mike on 15.05.2017.
*/ */
public class EventExtendedBolusChange { public class EventExtendedBolusChange extends Event {
} }

View file

@ -4,5 +4,5 @@ package info.nightscout.androidaps.events;
* Created by mike on 20.09.2017. * Created by mike on 20.09.2017.
*/ */
public class EventFoodDatabaseChanged { public class EventFoodDatabaseChanged extends Event {
} }

View file

@ -4,5 +4,5 @@ package info.nightscout.androidaps.events;
* Created by mike on 13.12.2016. * Created by mike on 13.12.2016.
*/ */
public class EventInitializationChanged { public class EventInitializationChanged extends Event {
} }

View file

@ -0,0 +1,5 @@
package info.nightscout.androidaps.events;
/** Supeclass for all events concerned with input or output into or from the LoopPlugin. */
public abstract class EventLoop extends Event {
}

View file

@ -3,5 +3,5 @@ package info.nightscout.androidaps.events;
/** /**
* Created by mike on 05.06.2016. * Created by mike on 05.06.2016.
*/ */
public class EventNewBG { public class EventNewBG extends EventLoop {
} }

View file

@ -3,5 +3,5 @@ package info.nightscout.androidaps.events;
/** /**
* Created by mike on 04.06.2016. * Created by mike on 04.06.2016.
*/ */
public class EventNewBasalProfile { public class EventNewBasalProfile extends Event {
} }

View file

@ -5,7 +5,7 @@ import info.nightscout.androidaps.MainApp;
/** /**
* Created by mike on 19.06.2016. * Created by mike on 19.06.2016.
*/ */
public class EventPreferenceChange { public class EventPreferenceChange extends Event {
public String changedKey; public String changedKey;
public EventPreferenceChange(String key) { public EventPreferenceChange(String key) {
changedKey = key; changedKey = key;

View file

@ -4,5 +4,5 @@ package info.nightscout.androidaps.events;
* Created by mike on 02.06.2017. * Created by mike on 02.06.2017.
*/ */
public class EventProfileSwitchChange { public class EventProfileSwitchChange extends Event {
} }

View file

@ -7,7 +7,7 @@ import info.nightscout.androidaps.R;
* Created by mike on 19.02.2017. * Created by mike on 19.02.2017.
*/ */
public class EventPumpStatusChanged { public class EventPumpStatusChanged extends Event {
public static final int CONNECTING = 0; public static final int CONNECTING = 0;
public static final int CONNECTED = 1; public static final int CONNECTED = 1;
public static final int PERFORMING = 2; public static final int PERFORMING = 2;

View file

@ -3,5 +3,5 @@ package info.nightscout.androidaps.events;
/** /**
* Created by mike on 13.06.2016. * Created by mike on 13.06.2016.
*/ */
public class EventRefreshGui { public class EventRefreshGui extends Event {
} }

View file

@ -4,7 +4,7 @@ package info.nightscout.androidaps.events;
* Created by mike on 16.06.2017. * Created by mike on 16.06.2017.
*/ */
public class EventRefreshOverview { public class EventRefreshOverview extends Event {
public String from; public String from;
public EventRefreshOverview(String from) { public EventRefreshOverview(String from) {

View file

@ -4,5 +4,5 @@ package info.nightscout.androidaps.events;
* Created by mike on 12.06.2017. * Created by mike on 12.06.2017.
*/ */
public class EventReloadProfileSwitchData { public class EventReloadProfileSwitchData extends Event {
} }

View file

@ -4,5 +4,5 @@ package info.nightscout.androidaps.events;
* Created by mike on 29.05.2017. * Created by mike on 29.05.2017.
*/ */
public class EventReloadTempBasalData { public class EventReloadTempBasalData extends Event {
} }

View file

@ -4,7 +4,7 @@ package info.nightscout.androidaps.events;
* Created by mike on 29.05.2017. * Created by mike on 29.05.2017.
*/ */
public class EventReloadTreatmentData { public class EventReloadTreatmentData extends Event {
public Object next; public Object next;
public EventReloadTreatmentData(Object next) { public EventReloadTreatmentData(Object next) {

View file

@ -3,5 +3,5 @@ package info.nightscout.androidaps.events;
/** /**
* Created by mike on 05.06.2016. * Created by mike on 05.06.2016.
*/ */
public class EventTempBasalChange { public class EventTempBasalChange extends EventLoop {
} }

View file

@ -4,5 +4,5 @@ package info.nightscout.androidaps.events;
* Created by mike on 13.01.2017. * Created by mike on 13.01.2017.
*/ */
public class EventTempTargetChange { public class EventTempTargetChange extends Event {
} }

View file

@ -3,5 +3,5 @@ package info.nightscout.androidaps.events;
/** /**
* Created by mike on 04.06.2016. * Created by mike on 04.06.2016.
*/ */
public class EventTreatmentChange { public class EventTreatmentChange extends EventLoop {
} }

View file

@ -0,0 +1,5 @@
package info.nightscout.androidaps.events;
/** Base class for events to update the UI, mostly a specific tab. */
public abstract class EventUpdateGui extends Event {
}

View file

@ -30,4 +30,5 @@ public interface PluginBase {
boolean showInList(int type); boolean showInList(int type);
void setFragmentEnabled(int type, boolean fragmentEnabled); void setFragmentEnabled(int type, boolean fragmentEnabled);
void setFragmentVisible(int type, boolean fragmentVisible); void setFragmentVisible(int type, boolean fragmentVisible);
int getPreferencesId();
} }

View file

@ -74,4 +74,9 @@ public class ActionsPlugin implements PluginBase {
if (type == GENERAL) this.fragmentVisible = fragmentVisible; if (type == GENERAL) this.fragmentVisible = fragmentVisible;
} }
@Override
public int getPreferencesId() {
return -1;
}
} }

View file

@ -26,8 +26,6 @@ import info.nightscout.androidaps.plugins.Overview.OverviewFragment;
public class CareportalFragment extends SubscriberFragment implements View.OnClickListener { public class CareportalFragment extends SubscriberFragment implements View.OnClickListener {
static CareportalPlugin careportalPlugin;
TextView iage; TextView iage;
TextView cage; TextView cage;
TextView sage; TextView sage;
@ -37,13 +35,6 @@ public class CareportalFragment extends SubscriberFragment implements View.OnCli
LinearLayout butonsLayout; LinearLayout butonsLayout;
View noProfileView; View noProfileView;
static public CareportalPlugin getPlugin() {
if (careportalPlugin == null) {
careportalPlugin = new CareportalPlugin();
}
return careportalPlugin;
}
// date,bg,insulin,carbs,prebolus,duration,percent,absolute,profile,split,temptarget // date,bg,insulin,carbs,prebolus,duration,percent,absolute,profile,split,temptarget
public static final OptionsToShow BGCHECK = new OptionsToShow(R.id.careportal_bgcheck, R.string.careportal_bgcheck).date().bg(); public static final OptionsToShow BGCHECK = new OptionsToShow(R.id.careportal_bgcheck, R.string.careportal_bgcheck).date().bg();
public static final OptionsToShow SNACKBOLUS = new OptionsToShow(R.id.careportal_snackbolus, R.string.careportal_snackbolus).date().bg().insulin().carbs().prebolus(); public static final OptionsToShow SNACKBOLUS = new OptionsToShow(R.id.careportal_snackbolus, R.string.careportal_snackbolus).date().bg().insulin().carbs().prebolus();

View file

@ -10,6 +10,15 @@ public class CareportalPlugin implements PluginBase {
private boolean fragmentEnabled = true; private boolean fragmentEnabled = true;
private boolean fragmentVisible = true; private boolean fragmentVisible = true;
static CareportalPlugin careportalPlugin;
static public CareportalPlugin getPlugin() {
if (careportalPlugin == null) {
careportalPlugin = new CareportalPlugin();
}
return careportalPlugin;
}
@Override @Override
public int getType() { public int getType() {
return PluginBase.GENERAL; return PluginBase.GENERAL;
@ -71,4 +80,9 @@ public class CareportalPlugin implements PluginBase {
if (type == GENERAL) this.fragmentVisible = fragmentVisible; if (type == GENERAL) this.fragmentVisible = fragmentVisible;
} }
@Override
public int getPreferencesId() {
return R.xml.pref_careportal;
}
} }

View file

@ -138,6 +138,7 @@ public class NewNSTreatmentDialog extends DialogFragment implements View.OnClick
@Override @Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) { Bundle savedInstanceState) {
if (options==null) return null;
getDialog().setTitle(getString(options.eventName)); getDialog().setTitle(getString(options.eventName));
setStyle(DialogFragment.STYLE_NORMAL, getTheme()); setStyle(DialogFragment.STYLE_NORMAL, getTheme());
View view = inflater.inflate(R.layout.careportal_newnstreatment_dialog, container, false); View view = inflater.inflate(R.layout.careportal_newnstreatment_dialog, container, false);

View file

@ -2,6 +2,7 @@ package info.nightscout.androidaps.plugins.ConfigBuilder;
import android.content.Context; import android.content.Context;
import android.content.Intent;
import android.os.Bundle; import android.os.Bundle;
import android.support.v4.app.Fragment; import android.support.v4.app.Fragment;
import android.view.LayoutInflater; import android.view.LayoutInflater;
@ -10,6 +11,7 @@ import android.view.ViewGroup;
import android.widget.ArrayAdapter; import android.widget.ArrayAdapter;
import android.widget.Button; import android.widget.Button;
import android.widget.CheckBox; import android.widget.CheckBox;
import android.widget.ImageView;
import android.widget.LinearLayout; import android.widget.LinearLayout;
import android.widget.ListAdapter; import android.widget.ListAdapter;
import android.widget.ListView; import android.widget.ListView;
@ -22,6 +24,7 @@ import com.crashlytics.android.answers.CustomEvent;
import java.util.ArrayList; import java.util.ArrayList;
import info.nightscout.androidaps.MainApp; import info.nightscout.androidaps.MainApp;
import info.nightscout.androidaps.PreferencesActivity;
import info.nightscout.androidaps.R; import info.nightscout.androidaps.R;
import info.nightscout.androidaps.events.EventConfigBuilderChange; import info.nightscout.androidaps.events.EventConfigBuilderChange;
import info.nightscout.androidaps.events.EventRefreshGui; import info.nightscout.androidaps.events.EventRefreshGui;
@ -194,7 +197,7 @@ public class ConfigBuilderFragment extends Fragment {
public PluginCustomAdapter(Context context, int textViewResourceId, public PluginCustomAdapter(Context context, int textViewResourceId,
ArrayList<PluginBase> pluginList, int type) { ArrayList<PluginBase> pluginList, int type) {
super(context, textViewResourceId, pluginList); super(context, textViewResourceId, pluginList);
this.pluginList = new ArrayList<PluginBase>(); this.pluginList = new ArrayList<>();
this.pluginList.addAll(pluginList); this.pluginList.addAll(pluginList);
this.type = type; this.type = type;
} }
@ -203,12 +206,14 @@ public class ConfigBuilderFragment extends Fragment {
TextView name; TextView name;
CheckBox checkboxEnabled; CheckBox checkboxEnabled;
CheckBox checkboxVisible; CheckBox checkboxVisible;
ImageView settings;
} }
@Override @Override
public View getView(int position, View view, ViewGroup parent) { public View getView(int position, View view, ViewGroup parent) {
PluginViewHolder holder = null; PluginViewHolder holder = null;
PluginBase plugin = pluginList.get(position);
if (view == null) { if (view == null) {
view = LayoutInflater.from(parent.getContext()).inflate(R.layout.configbuilder_simpleitem, null); view = LayoutInflater.from(parent.getContext()).inflate(R.layout.configbuilder_simpleitem, null);
@ -217,6 +222,13 @@ public class ConfigBuilderFragment extends Fragment {
holder.name = (TextView) view.findViewById(R.id.configbuilder_simpleitem_name); holder.name = (TextView) view.findViewById(R.id.configbuilder_simpleitem_name);
holder.checkboxEnabled = (CheckBox) view.findViewById(R.id.configbuilder_simpleitem_checkboxenabled); holder.checkboxEnabled = (CheckBox) view.findViewById(R.id.configbuilder_simpleitem_checkboxenabled);
holder.checkboxVisible = (CheckBox) view.findViewById(R.id.configbuilder_simpleitem_checkboxvisible); holder.checkboxVisible = (CheckBox) view.findViewById(R.id.configbuilder_simpleitem_checkboxvisible);
holder.settings = (ImageView) view.findViewById(R.id.configbuilder_simpleitem_settings);
if (plugin.isEnabled(type) && plugin.getPreferencesId() != -1)
holder.settings.setVisibility(View.VISIBLE);
else
holder.settings.setVisibility(View.INVISIBLE);
view.setTag(holder); view.setTag(holder);
holder.checkboxEnabled.setOnClickListener(new View.OnClickListener() { holder.checkboxEnabled.setOnClickListener(new View.OnClickListener() {
@ -244,17 +256,31 @@ public class ConfigBuilderFragment extends Fragment {
getPlugin().logPluginStatus(); getPlugin().logPluginStatus();
} }
}); });
holder.settings.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
final PluginBase plugin = (PluginBase) v.getTag();
PasswordProtection.QueryPassword(getContext(), R.string.settings_password, "settings_password", new Runnable() {
@Override
public void run() {
Intent i = new Intent(getContext(), PreferencesActivity.class);
i.putExtra("id", plugin.getPreferencesId());
startActivity(i);
}
}, null);
}
});
} else { } else {
holder = (PluginViewHolder) view.getTag(); holder = (PluginViewHolder) view.getTag();
} }
PluginBase plugin = pluginList.get(position);
holder.name.setText(plugin.getName()); holder.name.setText(plugin.getName());
holder.checkboxEnabled.setChecked(plugin.isEnabled(type)); holder.checkboxEnabled.setChecked(plugin.isEnabled(type));
holder.checkboxVisible.setChecked(plugin.isVisibleInTabs(type)); holder.checkboxVisible.setChecked(plugin.isVisibleInTabs(type));
holder.name.setTag(plugin); holder.name.setTag(plugin);
holder.checkboxEnabled.setTag(plugin); holder.checkboxEnabled.setTag(plugin);
holder.checkboxVisible.setTag(plugin); holder.checkboxVisible.setTag(plugin);
holder.settings.setTag(plugin);
if (!plugin.canBeHidden(type)) { if (!plugin.canBeHidden(type)) {
holder.checkboxEnabled.setEnabled(false); holder.checkboxEnabled.setEnabled(false);

View file

@ -148,6 +148,11 @@ public class ConfigBuilderPlugin implements PluginBase, PumpInterface, Constrain
// Always visible // Always visible
} }
@Override
public int getPreferencesId() {
return -1;
}
public void initialize() { public void initialize() {
pluginList = MainApp.getPluginsList(); pluginList = MainApp.getPluginsList();
loadSettings(); loadSettings();
@ -303,7 +308,7 @@ public class ConfigBuilderPlugin implements PluginBase, PumpInterface, Constrain
pluginsInCategory = MainApp.getSpecificPluginsList(PluginBase.PUMP); pluginsInCategory = MainApp.getSpecificPluginsList(PluginBase.PUMP);
activePump = (PumpInterface) getTheOneEnabledInArray(pluginsInCategory, PluginBase.PUMP); activePump = (PumpInterface) getTheOneEnabledInArray(pluginsInCategory, PluginBase.PUMP);
if (activePump == null) if (activePump == null)
activePump = VirtualPumpPlugin.getInstance(); // for NSClient build activePump = VirtualPumpPlugin.getPlugin(); // for NSClient build
if (Config.logConfigBuilder) if (Config.logConfigBuilder)
log.debug("Selected pump interface: " + ((PluginBase) activePump).getName()); log.debug("Selected pump interface: " + ((PluginBase) activePump).getName());
for (PluginBase p : pluginsInCategory) { for (PluginBase p : pluginsInCategory) {

View file

@ -104,6 +104,11 @@ public class ObjectivesPlugin implements PluginBase, ConstraintsInterface {
if (type == CONSTRAINTS) this.fragmentVisible = fragmentVisible; if (type == CONSTRAINTS) this.fragmentVisible = fragmentVisible;
} }
@Override
public int getPreferencesId() {
return -1;
}
class Objective { class Objective {
Integer num; Integer num;
String objective; String objective;

View file

@ -86,6 +86,11 @@ public class SafetyPlugin implements PluginBase, ConstraintsInterface {
public void setFragmentVisible(int type, boolean fragmentVisible) { public void setFragmentVisible(int type, boolean fragmentVisible) {
} }
@Override
public int getPreferencesId() {
return R.xml.pref_safety;
}
@Override @Override
public boolean isLoopEnabled() { public boolean isLoopEnabled() {
return MainApp.getConfigBuilder().getPumpDescription().isTempBasalCapable; return MainApp.getConfigBuilder().getPumpDescription().isTempBasalCapable;

View file

@ -76,5 +76,10 @@ public class FoodPlugin implements PluginBase {
if (type == GENERAL) this.fragmentVisible = fragmentVisible; if (type == GENERAL) this.fragmentVisible = fragmentVisible;
} }
@Override
public int getPreferencesId() {
return -1;
}
} }

View file

@ -80,6 +80,11 @@ public class InsulinFastactingPlugin implements PluginBase, InsulinInterface {
if (type == INSULIN) this.fragmentVisible = fragmentVisible; if (type == INSULIN) this.fragmentVisible = fragmentVisible;
} }
@Override
public int getPreferencesId() {
return -1;
}
// Insulin interface // Insulin interface
@Override @Override
public int getId() { public int getId() {

View file

@ -80,6 +80,11 @@ public class InsulinFastactingProlongedPlugin implements PluginBase, InsulinInte
if (type == INSULIN) this.fragmentVisible = fragmentVisible; if (type == INSULIN) this.fragmentVisible = fragmentVisible;
} }
@Override
public int getPreferencesId() {
return -1;
}
// Insulin interface // Insulin interface
@Override @Override
public int getId() { public int getId() {

View file

@ -68,6 +68,11 @@ public class InsulinOrefFreePeakPlugin extends InsulinOrefBasePlugin {
if (type == INSULIN) this.fragmentVisible = fragmentVisible; if (type == INSULIN) this.fragmentVisible = fragmentVisible;
} }
@Override
public int getPreferencesId() {
return R.xml.pref_insulinoreffreepeak;
}
@Override @Override
int getPeak() { int getPeak() {
return SP.getInt(R.string.key_insulin_oref_peak, DEFAULT_PEAK); return SP.getInt(R.string.key_insulin_oref_peak, DEFAULT_PEAK);

View file

@ -67,6 +67,11 @@ public class InsulinOrefRapidActingPlugin extends InsulinOrefBasePlugin {
if (type == INSULIN) this.fragmentVisible = fragmentVisible; if (type == INSULIN) this.fragmentVisible = fragmentVisible;
} }
@Override
public int getPreferencesId() {
return -1;
}
@Override @Override
int getPeak() { int getPeak() {
return PEAK; return PEAK;

View file

@ -67,6 +67,11 @@ public class InsulinOrefUltraRapidActingPlugin extends InsulinOrefBasePlugin {
if (type == INSULIN) this.fragmentVisible = fragmentVisible; if (type == INSULIN) this.fragmentVisible = fragmentVisible;
} }
@Override
public int getPreferencesId() {
return -1;
}
@Override @Override
int getPeak() { int getPeak() {
return PEAK; return PEAK;

View file

@ -126,6 +126,11 @@ public class IobCobCalculatorPlugin implements PluginBase {
} }
@Override
public int getPreferencesId() {
return -1;
}
IobCobCalculatorPlugin() { IobCobCalculatorPlugin() {
MainApp.bus().register(this); MainApp.bus().register(this);
if (sHandlerThread == null) { if (sHandlerThread == null) {

View file

@ -1,8 +1,10 @@
package info.nightscout.androidaps.plugins.IobCobCalculator.events; package info.nightscout.androidaps.plugins.IobCobCalculator.events;
import info.nightscout.androidaps.events.EventLoop;
/** /**
* Created by mike on 30.04.2017. * Created by mike on 30.04.2017.
*/ */
public class EventAutosensCalculationFinished { public class EventAutosensCalculationFinished extends EventLoop {
} }

View file

@ -1,10 +1,12 @@
package info.nightscout.androidaps.plugins.IobCobCalculator.events; package info.nightscout.androidaps.plugins.IobCobCalculator.events;
import info.nightscout.androidaps.events.Event;
/** /**
* Created by mike on 26.04.2017. * Created by mike on 26.04.2017.
*/ */
public class EventNewHistoryData { public class EventNewHistoryData extends Event {
public long time = 0; public long time = 0;
public EventNewHistoryData(long time) { public EventNewHistoryData(long time) {

View file

@ -148,6 +148,11 @@ public class LoopPlugin implements PluginBase {
if (type == LOOP) this.fragmentVisible = fragmentVisible; if (type == LOOP) this.fragmentVisible = fragmentVisible;
} }
@Override
public int getPreferencesId() {
return R.xml.pref_closedmode;
}
@Subscribe @Subscribe
public void onStatusEvent(final EventTreatmentChange ev) { public void onStatusEvent(final EventTreatmentChange ev) {
invoke("EventTreatmentChange", true); invoke("EventTreatmentChange", true);

View file

@ -1,9 +1,11 @@
package info.nightscout.androidaps.plugins.Loop.events; package info.nightscout.androidaps.plugins.Loop.events;
import info.nightscout.androidaps.events.EventUpdateGui;
/** /**
* Created by mike on 05.08.2016. * Created by mike on 05.08.2016.
*/ */
public class EventLoopSetLastRunGui { public class EventLoopSetLastRunGui extends EventUpdateGui {
public String text = null; public String text = null;
public EventLoopSetLastRunGui(String text) { public EventLoopSetLastRunGui(String text) {

View file

@ -1,7 +1,9 @@
package info.nightscout.androidaps.plugins.Loop.events; package info.nightscout.androidaps.plugins.Loop.events;
import info.nightscout.androidaps.events.EventUpdateGui;
/** /**
* Created by mike on 05.08.2016. * Created by mike on 05.08.2016.
*/ */
public class EventLoopUpdateGui { public class EventLoopUpdateGui extends EventUpdateGui {
} }

View file

@ -1,7 +1,9 @@
package info.nightscout.androidaps.plugins.Loop.events; package info.nightscout.androidaps.plugins.Loop.events;
import info.nightscout.androidaps.events.Event;
/** /**
* Created by mike on 07.08.2016. * Created by mike on 07.08.2016.
*/ */
public class EventNewOpenLoopNotification { public class EventNewOpenLoopNotification extends Event {
} }

View file

@ -135,6 +135,11 @@ public class NSClientInternalPlugin implements PluginBase {
if (type == GENERAL) this.fragmentVisible = fragmentVisible; if (type == GENERAL) this.fragmentVisible = fragmentVisible;
} }
@Override
public int getPreferencesId() {
return R.xml.pref_nsclientinternal;
}
private ServiceConnection mConnection = new ServiceConnection() { private ServiceConnection mConnection = new ServiceConnection() {
public void onServiceDisconnected(ComponentName name) { public void onServiceDisconnected(ComponentName name) {

View file

@ -7,14 +7,14 @@ import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
import info.nightscout.androidaps.MainApp; import info.nightscout.androidaps.MainApp;
import info.nightscout.androidaps.events.Event;
import info.nightscout.androidaps.plugins.NSClientInternal.events.EventNSClientRestart; import info.nightscout.androidaps.plugins.NSClientInternal.events.EventNSClientRestart;
import info.nightscout.androidaps.plugins.NSClientInternal.services.NSClientService;
import io.socket.client.Ack; import io.socket.client.Ack;
/** /**
* Created by mike on 29.12.2015. * Created by mike on 29.12.2015.
*/ */
public class NSAddAck implements Ack { public class NSAddAck extends Event implements Ack {
private static Logger log = LoggerFactory.getLogger(NSAddAck.class); private static Logger log = LoggerFactory.getLogger(NSAddAck.class);
public String _id = null; public String _id = null;
public String nsClientID = null; public String nsClientID = null;

View file

@ -3,13 +3,14 @@ package info.nightscout.androidaps.plugins.NSClientInternal.acks;
import org.json.JSONObject; import org.json.JSONObject;
import info.nightscout.androidaps.MainApp; import info.nightscout.androidaps.MainApp;
import info.nightscout.androidaps.events.Event;
import info.nightscout.androidaps.plugins.NSClientInternal.events.EventNSClientNewLog; import info.nightscout.androidaps.plugins.NSClientInternal.events.EventNSClientNewLog;
import io.socket.client.Ack; import io.socket.client.Ack;
/** /**
* Created by mike on 02.01.2016. * Created by mike on 02.01.2016.
*/ */
public class NSAuthAck implements Ack{ public class NSAuthAck extends Event implements Ack{
public boolean read = false; public boolean read = false;
public boolean write = false; public boolean write = false;
public boolean write_treatment = false; public boolean write_treatment = false;

View file

@ -1,44 +0,0 @@
package info.nightscout.androidaps.plugins.NSClientInternal.acks;
import android.os.SystemClock;
import org.json.JSONException;
import org.json.JSONObject;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import io.socket.client.Ack;
/**
* Created by mike on 29.12.2015.
*/
public class NSPingAck implements Ack {
private static Logger log = LoggerFactory.getLogger(NSPingAck.class);
public long mills = 0;
public boolean received = false;
public boolean auth_received = false;
public boolean read = false;
public boolean write = false;
public boolean write_treatment = false;
public void call(Object...args) {
JSONObject response = (JSONObject)args[0];
mills = response.optLong("mills");
if (response.has("authorization")) {
auth_received = true;
try {
JSONObject authorization = response.getJSONObject("authorization");
read = authorization.optBoolean("read");
write = authorization.optBoolean("write");
write_treatment = authorization.optBoolean("write_treatment");
} catch (JSONException e) {
log.error("Unhandled exception", e);
}
}
received = true;
synchronized(this) {
this.notify();
}
}
}

View file

@ -6,12 +6,13 @@ import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
import info.nightscout.androidaps.MainApp; import info.nightscout.androidaps.MainApp;
import info.nightscout.androidaps.events.Event;
import io.socket.client.Ack; import io.socket.client.Ack;
/** /**
* Created by mike on 21.02.2016. * Created by mike on 21.02.2016.
*/ */
public class NSUpdateAck implements Ack { public class NSUpdateAck extends Event implements Ack {
private static Logger log = LoggerFactory.getLogger(NSUpdateAck.class); private static Logger log = LoggerFactory.getLogger(NSUpdateAck.class);
public boolean result = false; public boolean result = false;
public String _id = null; public String _id = null;

View file

@ -1,19 +1,15 @@
package info.nightscout.androidaps.plugins.NSClientInternal.events; package info.nightscout.androidaps.plugins.NSClientInternal.events;
import android.text.Html;
import android.text.Spanned;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import java.text.SimpleDateFormat; import java.text.SimpleDateFormat;
import java.util.Date; import java.util.Date;
import info.nightscout.androidaps.events.Event;
/** /**
* Created by mike on 15.02.2017. * Created by mike on 15.02.2017.
*/ */
public class EventNSClientNewLog { public class EventNSClientNewLog extends Event {
public Date date = new Date(); public Date date = new Date();
public String action; public String action;
public String logText; public String logText;

View file

@ -1,8 +1,10 @@
package info.nightscout.androidaps.plugins.NSClientInternal.events; package info.nightscout.androidaps.plugins.NSClientInternal.events;
import info.nightscout.androidaps.events.Event;
/** /**
* Created by mike on 15.02.2017. * Created by mike on 15.02.2017.
*/ */
public class EventNSClientRestart { public class EventNSClientRestart extends Event {
} }

View file

@ -1,9 +1,11 @@
package info.nightscout.androidaps.plugins.NSClientInternal.events; package info.nightscout.androidaps.plugins.NSClientInternal.events;
import info.nightscout.androidaps.events.Event;
/** /**
* Created by mike on 02.01.2016. * Created by mike on 02.01.2016.
*/ */
public class EventNSClientStatus { public class EventNSClientStatus extends Event {
public String status = ""; public String status = "";
public EventNSClientStatus(String status) { public EventNSClientStatus(String status) {

View file

@ -1,8 +1,10 @@
package info.nightscout.androidaps.plugins.NSClientInternal.events; package info.nightscout.androidaps.plugins.NSClientInternal.events;
import info.nightscout.androidaps.events.EventUpdateGui;
/** /**
* Created by mike on 17.02.2017. * Created by mike on 17.02.2017.
*/ */
public class EventNSClientUpdateGUI { public class EventNSClientUpdateGUI extends EventUpdateGui {
} }

View file

@ -103,6 +103,11 @@ public class OpenAPSAMAPlugin implements PluginBase, APSInterface {
if (type == APS) this.fragmentVisible = fragmentVisible; if (type == APS) this.fragmentVisible = fragmentVisible;
} }
@Override
public int getPreferencesId() {
return R.xml.pref_openapsama;
}
@Override @Override
public void setFragmentEnabled(int type, boolean fragmentEnabled) { public void setFragmentEnabled(int type, boolean fragmentEnabled) {
if (type == APS) this.fragmentEnabled = fragmentEnabled; if (type == APS) this.fragmentEnabled = fragmentEnabled;

View file

@ -101,6 +101,11 @@ public class OpenAPSMAPlugin implements PluginBase, APSInterface {
if (type == APS) this.fragmentVisible = fragmentVisible; if (type == APS) this.fragmentVisible = fragmentVisible;
} }
@Override
public int getPreferencesId() {
return R.xml.pref_openapsma;
}
@Override @Override
public void setFragmentEnabled(int type, boolean fragmentEnabled) { public void setFragmentEnabled(int type, boolean fragmentEnabled) {
if (type == APS) this.fragmentEnabled = fragmentEnabled; if (type == APS) this.fragmentEnabled = fragmentEnabled;

View file

@ -1,7 +1,9 @@
package info.nightscout.androidaps.plugins.OpenAPSMA.events; package info.nightscout.androidaps.plugins.OpenAPSMA.events;
import info.nightscout.androidaps.events.EventUpdateGui;
/** /**
* Created by mike on 05.08.2016. * Created by mike on 05.08.2016.
*/ */
public class EventOpenAPSUpdateGui { public class EventOpenAPSUpdateGui extends EventUpdateGui {
} }

View file

@ -1,9 +1,11 @@
package info.nightscout.androidaps.plugins.OpenAPSMA.events; package info.nightscout.androidaps.plugins.OpenAPSMA.events;
import info.nightscout.androidaps.events.EventUpdateGui;
/** /**
* Created by mike on 05.08.2016. * Created by mike on 05.08.2016.
*/ */
public class EventOpenAPSUpdateResultGui { public class EventOpenAPSUpdateResultGui extends EventUpdateGui {
public String text = null; public String text = null;
public EventOpenAPSUpdateResultGui(String text) { public EventOpenAPSUpdateResultGui(String text) {

View file

@ -996,7 +996,7 @@ public class OverviewFragment extends Fragment implements View.OnClickListener,
tempTargetView.setTextColor(Color.BLACK); tempTargetView.setTextColor(Color.BLACK);
tempTargetView.setBackgroundColor(MainApp.sResources.getColor(R.color.tempTargetBackground)); tempTargetView.setBackgroundColor(MainApp.sResources.getColor(R.color.tempTargetBackground));
tempTargetView.setVisibility(View.VISIBLE); tempTargetView.setVisibility(View.VISIBLE);
tempTargetView.setText(Profile.toTargetRangeString(tempTarget.low, tempTarget.high, Constants.MGDL, units)); tempTargetView.setText(Profile.toTargetRangeString(tempTarget.low, tempTarget.high, Constants.MGDL, units) + " " + DateUtil.untilString(tempTarget.end()));
} else { } else {
tempTargetView.setTextColor(Color.WHITE); tempTargetView.setTextColor(Color.WHITE);
tempTargetView.setBackgroundColor(MainApp.sResources.getColor(R.color.tempTargetDisabledBackground)); tempTargetView.setBackgroundColor(MainApp.sResources.getColor(R.color.tempTargetDisabledBackground));

View file

@ -103,6 +103,11 @@ public class OverviewPlugin implements PluginBase {
// Always visible // Always visible
} }
@Override
public int getPreferencesId() {
return -1;
}
@Override @Override
public int getType() { public int getType() {
return PluginBase.GENERAL; return PluginBase.GENERAL;

View file

@ -1,12 +1,13 @@
package info.nightscout.androidaps.plugins.Overview.events; package info.nightscout.androidaps.plugins.Overview.events;
import info.nightscout.androidaps.data.PumpEnactResult; import info.nightscout.androidaps.data.PumpEnactResult;
import info.nightscout.androidaps.events.Event;
/** /**
* Created by adrian on 20/02/17. * Created by adrian on 20/02/17.
*/ */
public class EventDismissBolusprogressIfRunning { public class EventDismissBolusprogressIfRunning extends Event {
public final PumpEnactResult result; public final PumpEnactResult result;
public EventDismissBolusprogressIfRunning(PumpEnactResult result) { public EventDismissBolusprogressIfRunning(PumpEnactResult result) {

View file

@ -1,10 +1,12 @@
package info.nightscout.androidaps.plugins.Overview.events; package info.nightscout.androidaps.plugins.Overview.events;
import info.nightscout.androidaps.events.Event;
/** /**
* Created by mike on 03.12.2016. * Created by mike on 03.12.2016.
*/ */
public class EventDismissNotification { public class EventDismissNotification extends Event {
public int id; public int id;
public EventDismissNotification(int did) { public EventDismissNotification(int did) {

View file

@ -1,12 +1,13 @@
package info.nightscout.androidaps.plugins.Overview.events; package info.nightscout.androidaps.plugins.Overview.events;
import info.nightscout.androidaps.events.Event;
import info.nightscout.androidaps.plugins.Overview.Notification; import info.nightscout.androidaps.plugins.Overview.Notification;
/** /**
* Created by mike on 03.12.2016. * Created by mike on 03.12.2016.
*/ */
public class EventNewNotification { public class EventNewNotification extends Event {
public Notification notification; public Notification notification;
public EventNewNotification(Notification n) { public EventNewNotification(Notification n) {

View file

@ -4,8 +4,9 @@ import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
import info.nightscout.androidaps.db.Treatment; import info.nightscout.androidaps.db.Treatment;
import info.nightscout.androidaps.events.Event;
public class EventOverviewBolusProgress { public class EventOverviewBolusProgress extends Event {
private static Logger log = LoggerFactory.getLogger(EventOverviewBolusProgress.class); private static Logger log = LoggerFactory.getLogger(EventOverviewBolusProgress.class);
public String status = ""; public String status = "";
public Treatment t = null; public Treatment t = null;

View file

@ -1,8 +1,10 @@
package info.nightscout.androidaps.plugins.Overview.events; package info.nightscout.androidaps.plugins.Overview.events;
import info.nightscout.androidaps.events.Event;
/** /**
* Created by mike on 20.10.2016. * Created by mike on 20.10.2016.
*/ */
public class EventQuickWizardChange { public class EventQuickWizardChange extends Event {
} }

View file

@ -1,10 +1,12 @@
package info.nightscout.androidaps.plugins.Overview.events; package info.nightscout.androidaps.plugins.Overview.events;
import info.nightscout.androidaps.events.Event;
/** /**
* Created by mike on 02.07.2017. * Created by mike on 02.07.2017.
*/ */
public class EventSetWakeLock { public class EventSetWakeLock extends Event {
public boolean lock = false; public boolean lock = false;
public EventSetWakeLock(boolean val) { public EventSetWakeLock(boolean val) {

View file

@ -205,6 +205,11 @@ public class PersistentNotificationPlugin implements PluginBase {
//no visible fragment //no visible fragment
} }
@Override
public int getPreferencesId() {
return -1;
}
private String deltastring(double deltaMGDL, double deltaMMOL, String units) { private String deltastring(double deltaMGDL, double deltaMMOL, String units) {
String deltastring = ""; String deltastring = "";
if (deltaMGDL >= 0) { if (deltaMGDL >= 0) {

View file

@ -119,6 +119,11 @@ public class CircadianPercentageProfilePlugin implements PluginBase, ProfileInte
if (type == PROFILE) this.fragmentVisible = fragmentVisible; if (type == PROFILE) this.fragmentVisible = fragmentVisible;
} }
@Override
public int getPreferencesId() {
return -1;
}
void storeSettings() { void storeSettings() {
if (Config.logPrefsChange) if (Config.logPrefsChange)
log.debug("Storing settings"); log.debug("Storing settings");

View file

@ -108,6 +108,11 @@ public class LocalProfilePlugin implements PluginBase, ProfileInterface {
if (type == PROFILE) this.fragmentVisible = fragmentVisible; if (type == PROFILE) this.fragmentVisible = fragmentVisible;
} }
@Override
public int getPreferencesId() {
return -1;
}
public void storeSettings() { public void storeSettings() {
SharedPreferences settings = PreferenceManager.getDefaultSharedPreferences(MainApp.instance().getApplicationContext()); SharedPreferences settings = PreferenceManager.getDefaultSharedPreferences(MainApp.instance().getApplicationContext());
SharedPreferences.Editor editor = settings.edit(); SharedPreferences.Editor editor = settings.edit();

View file

@ -104,6 +104,11 @@ public class NSProfilePlugin implements PluginBase, ProfileInterface {
if (type == PROFILE) this.fragmentVisible = fragmentVisible; if (type == PROFILE) this.fragmentVisible = fragmentVisible;
} }
@Override
public int getPreferencesId() {
return -1;
}
@Override @Override
public int getType() { public int getType() {
return PluginBase.PROFILE; return PluginBase.PROFILE;

View file

@ -1,7 +1,9 @@
package info.nightscout.androidaps.plugins.ProfileNS.events; package info.nightscout.androidaps.plugins.ProfileNS.events;
import info.nightscout.androidaps.events.EventUpdateGui;
/** /**
* Created by mike on 05.08.2016. * Created by mike on 05.08.2016.
*/ */
public class EventNSProfileUpdateGUI { public class EventNSProfileUpdateGUI extends EventUpdateGui {
} }

View file

@ -111,6 +111,11 @@ public class SimpleProfilePlugin implements PluginBase, ProfileInterface {
if (type == PROFILE) this.fragmentVisible = fragmentVisible; if (type == PROFILE) this.fragmentVisible = fragmentVisible;
} }
@Override
public int getPreferencesId() {
return -1;
}
public void storeSettings() { public void storeSettings() {
if (Config.logPrefsChange) if (Config.logPrefsChange)
log.debug("Storing settings"); log.debug("Storing settings");

View file

@ -226,7 +226,7 @@ public class DanaRFragment extends SubscriberFragment {
Long agoMsec = System.currentTimeMillis() - pump.lastBolusTime.getTime(); Long agoMsec = System.currentTimeMillis() - pump.lastBolusTime.getTime();
double agoHours = agoMsec / 60d / 60d / 1000d; double agoHours = agoMsec / 60d / 60d / 1000d;
if (agoHours < 6) // max 6h back if (agoHours < 6) // max 6h back
lastBolusView.setText(DateUtil.timeString(pump.lastBolusTime) + " (" + DecimalFormatter.to1Decimal(agoHours) + " " + MainApp.sResources.getString(R.string.hoursago) + ") " + DecimalFormatter.to2Decimal(DanaRPump.getInstance().lastBolusAmount) + " U"); lastBolusView.setText(DateUtil.timeString(pump.lastBolusTime) + " " + DateUtil.sinceString(pump.lastBolusTime.getTime()) + " " + DecimalFormatter.to2Decimal(DanaRPump.getInstance().lastBolusAmount) + " U");
else lastBolusView.setText(""); else lastBolusView.setText("");
} }

View file

@ -217,6 +217,11 @@ public class DanaRPlugin implements PluginBase, PumpInterface, DanaRInterface, C
fragmentPumpVisible = fragmentVisible; fragmentPumpVisible = fragmentVisible;
} }
@Override
public int getPreferencesId() {
return R.xml.pref_danar;
}
@Override @Override
public boolean isFakingTempsByExtendedBoluses() { public boolean isFakingTempsByExtendedBoluses() {
return useExtendedBoluses; return useExtendedBoluses;

View file

@ -1,7 +1,9 @@
package info.nightscout.androidaps.plugins.PumpDanaR.events; package info.nightscout.androidaps.plugins.PumpDanaR.events;
import info.nightscout.androidaps.events.Event;
/** /**
* Created by mike on 03.08.2016. * Created by mike on 03.08.2016.
*/ */
public class EventDanaRBolusStart { public class EventDanaRBolusStart extends Event {
} }

View file

@ -1,7 +1,9 @@
package info.nightscout.androidaps.plugins.PumpDanaR.events; package info.nightscout.androidaps.plugins.PumpDanaR.events;
import info.nightscout.androidaps.events.Event;
/** /**
* Created by mike on 08.07.2016. * Created by mike on 08.07.2016.
*/ */
public class EventDanaRNewStatus { public class EventDanaRNewStatus extends Event {
} }

View file

@ -1,9 +1,11 @@
package info.nightscout.androidaps.plugins.PumpDanaR.events; package info.nightscout.androidaps.plugins.PumpDanaR.events;
import info.nightscout.androidaps.events.Event;
/** /**
* Created by mike on 20.07.2016. * Created by mike on 20.07.2016.
*/ */
public class EventDanaRSyncStatus { public class EventDanaRSyncStatus extends Event {
public String message; public String message;
public EventDanaRSyncStatus() { public EventDanaRSyncStatus() {

View file

@ -219,6 +219,11 @@ public class DanaRKoreanPlugin implements PluginBase, PumpInterface, DanaRInterf
this.fragmentPumpVisible = fragmentVisible; this.fragmentPumpVisible = fragmentVisible;
} }
@Override
public int getPreferencesId() {
return R.xml.pref_danarkorean;
}
@Override @Override
public boolean isFakingTempsByExtendedBoluses() { public boolean isFakingTempsByExtendedBoluses() {
return useExtendedBoluses; return useExtendedBoluses;

View file

@ -137,6 +137,11 @@ public class DanaRSPlugin implements PluginBase, PumpInterface, DanaRInterface,
this.fragmentPumpVisible = fragmentVisible; this.fragmentPumpVisible = fragmentVisible;
} }
@Override
public int getPreferencesId() {
return R.xml.pref_danars;
}
static boolean fragmentPumpEnabled = false; static boolean fragmentPumpEnabled = false;
static boolean fragmentProfileEnabled = false; static boolean fragmentProfileEnabled = false;
static boolean fragmentPumpVisible = false; static boolean fragmentPumpVisible = false;

View file

@ -204,6 +204,11 @@ public class DanaRv2Plugin implements PluginBase, PumpInterface, DanaRInterface,
this.fragmentPumpVisible = fragmentVisible; this.fragmentPumpVisible = fragmentVisible;
} }
@Override
public int getPreferencesId() {
return R.xml.pref_danarv2;
}
@Override @Override
public boolean isFakingTempsByExtendedBoluses() { public boolean isFakingTempsByExtendedBoluses() {
return false; return false;

View file

@ -99,6 +99,11 @@ public class MDIPlugin implements PluginBase, PumpInterface {
if (type == PUMP) this.fragmentVisible = fragmentVisible; if (type == PUMP) this.fragmentVisible = fragmentVisible;
} }
@Override
public int getPreferencesId() {
return -1;
}
@Override @Override
public int getType() { public int getType() {
return PluginBase.PUMP; return PluginBase.PUMP;

View file

@ -79,7 +79,7 @@ public class VirtualPumpFragment extends SubscriberFragment {
activity.runOnUiThread(new Runnable() { activity.runOnUiThread(new Runnable() {
@Override @Override
public void run() { public void run() {
VirtualPumpPlugin virtualPump = VirtualPumpPlugin.getInstance(); VirtualPumpPlugin virtualPump = VirtualPumpPlugin.getPlugin();
basaBasalRateView.setText(virtualPump.getBaseBasalRate() + "U"); basaBasalRateView.setText(virtualPump.getBaseBasalRate() + "U");
if (MainApp.getConfigBuilder().isTempBasalInProgress()) { if (MainApp.getConfigBuilder().isTempBasalInProgress()) {
tempBasalView.setText(MainApp.getConfigBuilder().getTempBasalFromHistory(System.currentTimeMillis()).toStringFull()); tempBasalView.setText(MainApp.getConfigBuilder().getTempBasalFromHistory(System.currentTimeMillis()).toStringFull());

View file

@ -64,12 +64,12 @@ public class VirtualPumpPlugin implements PluginBase, PumpInterface {
return fromNSAreCommingFakedExtendedBoluses; return fromNSAreCommingFakedExtendedBoluses;
} }
private static VirtualPumpPlugin instance = null; private static VirtualPumpPlugin plugin = null;
public static VirtualPumpPlugin getInstance() { public static VirtualPumpPlugin getPlugin() {
loadFakingStatus(); loadFakingStatus();
if (instance == null) if (plugin == null)
instance = new VirtualPumpPlugin(); plugin = new VirtualPumpPlugin();
return instance; return plugin;
} }
private VirtualPumpPlugin() { private VirtualPumpPlugin() {
@ -154,6 +154,11 @@ public class VirtualPumpPlugin implements PluginBase, PumpInterface {
if (type == PUMP) this.fragmentVisible = fragmentVisible; if (type == PUMP) this.fragmentVisible = fragmentVisible;
} }
@Override
public int getPreferencesId() {
return R.xml.pref_virtualpump;
}
@Override @Override
public int getType() { public int getType() {
return PluginBase.PUMP; return PluginBase.PUMP;

View file

@ -1,7 +1,9 @@
package info.nightscout.androidaps.plugins.PumpVirtual.events; package info.nightscout.androidaps.plugins.PumpVirtual.events;
import info.nightscout.androidaps.events.EventUpdateGui;
/** /**
* Created by mike on 05.08.2016. * Created by mike on 05.08.2016.
*/ */
public class EventVirtualPumpUpdateGui { public class EventVirtualPumpUpdateGui extends EventUpdateGui {
} }

View file

@ -96,6 +96,11 @@ public class SensitivityAAPSPlugin implements PluginBase, SensitivityInterface{
if (type == SENSITIVITY) this.fragmentVisible = fragmentVisible; if (type == SENSITIVITY) this.fragmentVisible = fragmentVisible;
} }
@Override
public int getPreferencesId() {
return R.xml.pref_absorption_aaps;
}
@Override @Override
public AutosensResult detectSensitivity(long fromTime, long toTime) { public AutosensResult detectSensitivity(long fromTime, long toTime) {

View file

@ -94,6 +94,11 @@ public class SensitivityOref0Plugin implements PluginBase, SensitivityInterface
if (type == SENSITIVITY) this.fragmentVisible = fragmentVisible; if (type == SENSITIVITY) this.fragmentVisible = fragmentVisible;
} }
@Override
public int getPreferencesId() {
return R.xml.pref_absorption_oref0;
}
@Override @Override
public AutosensResult detectSensitivity(long fromTime, long toTime) { public AutosensResult detectSensitivity(long fromTime, long toTime) {

View file

@ -93,6 +93,11 @@ public class SensitivityWeightedAveragePlugin implements PluginBase, Sensitivity
if (type == SENSITIVITY) this.fragmentVisible = fragmentVisible; if (type == SENSITIVITY) this.fragmentVisible = fragmentVisible;
} }
@Override
public int getPreferencesId() {
return R.xml.pref_absorption_aaps;
}
@Override @Override
public AutosensResult detectSensitivity(long fromTime, long toTime) { public AutosensResult detectSensitivity(long fromTime, long toTime) {

View file

@ -186,6 +186,11 @@ public class SmsCommunicatorPlugin implements PluginBase {
if (type == GENERAL) this.fragmentVisible = fragmentVisible; if (type == GENERAL) this.fragmentVisible = fragmentVisible;
} }
@Override
public int getPreferencesId() {
return R.xml.pref_smscommunicator;
}
@Subscribe @Subscribe
public void processSettings(final EventPreferenceChange ev) { public void processSettings(final EventPreferenceChange ev) {
if (ev == null || ev.isChanged(R.string.key_smscommunicator_allowednumbers)) { if (ev == null || ev.isChanged(R.string.key_smscommunicator_allowednumbers)) {

View file

@ -2,10 +2,12 @@ package info.nightscout.androidaps.plugins.SmsCommunicator.events;
import android.os.Bundle; import android.os.Bundle;
import info.nightscout.androidaps.events.Event;
/** /**
* Created by mike on 13.07.2016. * Created by mike on 13.07.2016.
*/ */
public class EventNewSMS { public class EventNewSMS extends Event {
public Bundle bundle; public Bundle bundle;
public EventNewSMS(Bundle bundle) { public EventNewSMS(Bundle bundle) {
this.bundle = bundle; this.bundle = bundle;

View file

@ -1,7 +1,9 @@
package info.nightscout.androidaps.plugins.SmsCommunicator.events; package info.nightscout.androidaps.plugins.SmsCommunicator.events;
import info.nightscout.androidaps.events.EventUpdateGui;
/** /**
* Created by mike on 05.08.2016. * Created by mike on 05.08.2016.
*/ */
public class EventSmsCommunicatorUpdateGui { public class EventSmsCommunicatorUpdateGui extends EventUpdateGui {
} }

View file

@ -75,5 +75,10 @@ public class SourceGlimpPlugin implements PluginBase, BgSourceInterface {
} }
@Override
public int getPreferencesId() {
return -1;
}
} }

View file

@ -75,5 +75,10 @@ public class SourceMM640gPlugin implements PluginBase, BgSourceInterface {
} }
@Override
public int getPreferencesId() {
return -1;
}
} }

View file

@ -77,5 +77,10 @@ public class SourceNSClientPlugin implements PluginBase, BgSourceInterface {
} }
@Override
public int getPreferencesId() {
return -1;
}
} }

View file

@ -75,5 +75,10 @@ public class SourceXdripPlugin implements PluginBase, BgSourceInterface {
public void setFragmentVisible(int type, boolean fragmentVisible) { public void setFragmentVisible(int type, boolean fragmentVisible) {
} }
@Override
public int getPreferencesId() {
return -1;
}
} }

Some files were not shown because too many files have changed in this diff Show more