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