diff --git a/app/src/main/java/info/nightscout/androidaps/events/EventPreferenceChange.java b/app/src/main/java/info/nightscout/androidaps/events/EventPreferenceChange.java
index f8b38a4321..76da0a4e67 100644
--- a/app/src/main/java/info/nightscout/androidaps/events/EventPreferenceChange.java
+++ b/app/src/main/java/info/nightscout/androidaps/events/EventPreferenceChange.java
@@ -11,6 +11,10 @@ public class EventPreferenceChange {
changedKey = key;
}
+ public EventPreferenceChange(int resourceID) {
+ changedKey = MainApp.sResources.getString(resourceID);
+ }
+
public boolean isChanged(int id) {
return changedKey.equals(MainApp.sResources.getString(id));
}
diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/NSClientInternal/NSClientInternalFragment.java b/app/src/main/java/info/nightscout/androidaps/plugins/NSClientInternal/NSClientInternalFragment.java
index a30571d4d1..42ddcc9ba8 100644
--- a/app/src/main/java/info/nightscout/androidaps/plugins/NSClientInternal/NSClientInternalFragment.java
+++ b/app/src/main/java/info/nightscout/androidaps/plugins/NSClientInternal/NSClientInternalFragment.java
@@ -5,6 +5,8 @@ import android.app.Activity;
import android.graphics.Paint;
import android.os.Bundle;
import android.support.v4.app.Fragment;
+import android.text.Html;
+import android.text.Spanned;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
@@ -20,6 +22,7 @@ import org.slf4j.LoggerFactory;
import info.nightscout.androidaps.MainApp;
import info.nightscout.androidaps.R;
+import info.nightscout.androidaps.events.EventPreferenceChange;
import info.nightscout.androidaps.interfaces.FragmentBase;
import info.nightscout.androidaps.plugins.NSClientInternal.events.EventNSClientNewLog;
import info.nightscout.androidaps.plugins.NSClientInternal.events.EventNSClientRestart;
@@ -60,8 +63,10 @@ public class NSClientInternalFragment extends Fragment implements FragmentBase,
logScrollview = (ScrollView) view.findViewById(R.id.nsclientinternal_logscrollview);
autoscrollCheckbox = (CheckBox) view.findViewById(R.id.nsclientinternal_autoscroll);
+ autoscrollCheckbox.setChecked(getPlugin().autoscroll);
autoscrollCheckbox.setOnCheckedChangeListener(this);
pausedCheckbox = (CheckBox) view.findViewById(R.id.nsclientinternal_paused);
+ pausedCheckbox.setChecked(getPlugin().paused);
pausedCheckbox.setOnCheckedChangeListener(this);
logTextView = (TextView) view.findViewById(R.id.nsclientinternal_log);
queueTextView = (TextView) view.findViewById(R.id.nsclientinternal_queue);
@@ -113,13 +118,14 @@ public class NSClientInternalFragment extends Fragment implements FragmentBase,
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
switch (buttonView.getId()) {
case R.id.nsclientinternal_paused:
- SP.putBoolean("nsclientinternal_paused", isChecked);
+ SP.putBoolean(R.string.key_nsclientinternal_paused, isChecked);
getPlugin().paused = isChecked;
- // TODO
+ MainApp.bus().post(new EventPreferenceChange(R.string.key_nsclientinternal_paused));
updateGUI();
break;
case R.id.nsclientinternal_autoscroll:
- SP.putBoolean("nsclientinternal_autoscroll", isChecked);
+ SP.putBoolean(R.string.key_nsclientinternal_autoscroll, isChecked);
+ getPlugin().autoscroll = isChecked;
updateGUI();
break;
}
@@ -153,8 +159,9 @@ public class NSClientInternalFragment extends Fragment implements FragmentBase,
if (getPlugin().autoscroll) {
logScrollview.fullScroll(ScrollView.FOCUS_DOWN);
}
- urlTextView.setText(getPlugin().url);
- queueTextView.setText(((Integer)getPlugin().queue().size()).toString());
+ urlTextView.setText(getPlugin().url());
+ Spanned queuetext = Html.fromHtml(MainApp.sResources.getString(R.string.queue) + " " + getPlugin().queue().size() + "");
+ queueTextView.setText(queuetext);
statusTextView.setText(getPlugin().status);
}
});
diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/NSClientInternal/NSClientInternalPlugin.java b/app/src/main/java/info/nightscout/androidaps/plugins/NSClientInternal/NSClientInternalPlugin.java
index ff530e6410..a272ed77aa 100644
--- a/app/src/main/java/info/nightscout/androidaps/plugins/NSClientInternal/NSClientInternalPlugin.java
+++ b/app/src/main/java/info/nightscout/androidaps/plugins/NSClientInternal/NSClientInternalPlugin.java
@@ -52,7 +52,6 @@ public class NSClientInternalPlugin implements PluginBase {
public boolean paused = false;
public boolean autoscroll = true;
- public String url = "";
public String status = "";
@@ -60,9 +59,8 @@ public class NSClientInternalPlugin implements PluginBase {
public NSClientInternalPlugin() {
MainApp.bus().register(this);
- paused = SP.getBoolean("nsclientinternal_paused", false);
- autoscroll = SP.getBoolean("nsclientinternal_autoscroll", true);
- url = SP.getString("nsclientinternal_url", "");
+ paused = SP.getBoolean(R.string.key_nsclientinternal_paused, false);
+ autoscroll = SP.getBoolean(R.string.key_nsclientinternal_autoscroll, true);
if (handler == null) {
handlerThread = new HandlerThread(NSClientInternalPlugin.class.getSimpleName() + "Handler");
@@ -212,4 +210,8 @@ public class NSClientInternalPlugin implements PluginBase {
public UploadQueue queue() {
return NSClientService.uploadQueue;
}
+
+ public String url() {
+ return NSClientService.nsURL;
+ }
}
diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/NSClientInternal/acks/NSAddAck.java b/app/src/main/java/info/nightscout/androidaps/plugins/NSClientInternal/acks/NSAddAck.java
index 43fc09876e..05cbb17623 100644
--- a/app/src/main/java/info/nightscout/androidaps/plugins/NSClientInternal/acks/NSAddAck.java
+++ b/app/src/main/java/info/nightscout/androidaps/plugins/NSClientInternal/acks/NSAddAck.java
@@ -5,6 +5,8 @@ import org.json.JSONObject;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
+import info.nightscout.androidaps.MainApp;
+import info.nightscout.androidaps.plugins.NSClientInternal.events.EventNSClientRestart;
import info.nightscout.androidaps.plugins.NSClientInternal.services.NSClientService;
import io.socket.client.Ack;
@@ -38,7 +40,7 @@ public class NSAddAck implements Ack {
synchronized(this) {
this.notify();
}
- NSClientService.forcerestart = true;
+ MainApp.bus().post(new EventNSClientRestart());
return;
}
log.debug("DBACCESS " + response.getString("result"));
diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/NSClientInternal/services/NSClientService.java b/app/src/main/java/info/nightscout/androidaps/plugins/NSClientInternal/services/NSClientService.java
index 2f42814f5d..750d9752ab 100644
--- a/app/src/main/java/info/nightscout/androidaps/plugins/NSClientInternal/services/NSClientService.java
+++ b/app/src/main/java/info/nightscout/androidaps/plugins/NSClientInternal/services/NSClientService.java
@@ -66,7 +66,6 @@ public class NSClientService extends Service {
private static Logger log = LoggerFactory.getLogger(ExecutionService.class);
static public PowerManager.WakeLock mWakeLock;
- public static boolean forcerestart = false;
private IBinder mBinder = new NSClientService.LocalBinder();
static NSProfile nsProfile;
@@ -83,7 +82,7 @@ public class NSClientService extends Service {
public static Integer nightscoutVersionCode = 0;
private boolean nsEnabled = false;
- private String nsURL = "";
+ static public String nsURL = "";
private String nsAPISecret = "";
private String nsDevice = "";
private Integer nsHours = 3;
@@ -151,7 +150,8 @@ public class NSClientService extends Service {
public void onStatusEvent(EventPreferenceChange ev) {
if (ev.isChanged(R.string.key_nsclientinternal_url) ||
ev.isChanged(R.string.key_nsclientinternal_api_secret) ||
- ev.isChanged(R.string.key_nsclientinternal_hours)
+ ev.isChanged(R.string.key_nsclientinternal_hours) ||
+ ev.isChanged(R.string.key_nsclientinternal_paused)
) {
destroy();
initialize();
@@ -185,7 +185,10 @@ public class NSClientService extends Service {
nsAPIhashCode = Hashing.sha1().hashString(nsAPISecret, Charsets.UTF_8).toString();
MainApp.bus().post(new EventNSClientStatus("Initializing"));
- if (!nsEnabled) {
+ if (((NSClientInternalPlugin)MainApp.getSpecificPlugin(NSClientInternalPlugin.class)).paused) {
+ MainApp.bus().post(new EventNSClientNewLog("NSCLIENT", "paused"));
+ MainApp.bus().post(new EventNSClientStatus("Paused"));
+ } else if (!nsEnabled) {
MainApp.bus().post(new EventNSClientNewLog("NSCLIENT", "disabled"));
MainApp.bus().post(new EventNSClientStatus("Disabled"));
} else if (!nsURL.equals("")) {
diff --git a/app/src/main/java/info/nightscout/utils/SP.java b/app/src/main/java/info/nightscout/utils/SP.java
index 4305be2076..33ac2c1abb 100644
--- a/app/src/main/java/info/nightscout/utils/SP.java
+++ b/app/src/main/java/info/nightscout/utils/SP.java
@@ -69,4 +69,10 @@ public class SP {
editor.putBoolean(key, value);
editor.apply();
}
+
+ static public void putBoolean(int resourceID, boolean value) {
+ SharedPreferences.Editor editor = sharedPreferences.edit();
+ editor.putBoolean(MainApp.sResources.getString(resourceID), value);
+ editor.apply();
+ }
}
diff --git a/app/src/main/res/layout/nsclientinternal_fragment.xml b/app/src/main/res/layout/nsclientinternal_fragment.xml
index 064d369253..580df825ca 100644
--- a/app/src/main/res/layout/nsclientinternal_fragment.xml
+++ b/app/src/main/res/layout/nsclientinternal_fragment.xml
@@ -13,35 +13,34 @@
+ android:orientation="horizontal"
+ android:gravity="center_horizontal">
+ android:text="@string/nsclientinternal_url" />
+ android:layout_marginLeft="5dp"
+ android:autoLink="web" />
+ android:orientation="horizontal"
+ android:gravity="center_horizontal">
-
-
-
-
+ android:layout_height="wrap_content"
+ android:textStyle="normal|bold" />
+
+
+
+ android:orientation="horizontal"
+ android:layout_marginBottom="10dp"
+ android:layout_marginTop="10dp">
+ android:textColor="@android:color/holo_orange_light"
+ android:textStyle="normal|bold" />
+ android:textColor="@android:color/holo_orange_light"
+ android:textStyle="normal|bold" />
+ android:textColor="@android:color/holo_orange_light"
+ android:textStyle="normal|bold" />
+ android:textColor="@android:color/holo_orange_light"
+ android:textStyle="normal|bold" />
+ android:textColor="@android:color/holo_orange_light"
+ android:textStyle="normal|bold" />
@@ -149,8 +153,7 @@
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_marginLeft="5dp"
- android:layout_marginRight="5dp"
- android:layout_marginTop="10dp">
+ android:layout_marginRight="5dp">
danar_useextended
danarprofile_dia
Clear log
+ nsclientinternal_autoscroll
+ nsclientinternal_paused