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 c3e8c777c6..3e37bf71d7 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
@@ -58,8 +58,6 @@ public class NSClientInternalFragment extends Fragment implements View.OnClickLi
private CheckBox autoscrollCheckbox;
private CheckBox pausedCheckbox;
- String status = "";
-
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
@@ -119,7 +117,7 @@ public class NSClientInternalFragment extends Fragment implements View.OnClickLi
builder.setMessage("Clear queue? All data in queue will be lost!");
builder.setPositiveButton(getString(R.string.ok), new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int id) {
- getPlugin().queue().clearQueue();
+ UploadQueue.clearQueue();
updateGUI();
Answers.getInstance().logCustom(new CustomEvent("NSClientClearQueue"));
}
@@ -176,12 +174,13 @@ public class NSClientInternalFragment extends Fragment implements View.OnClickLi
activity.runOnUiThread(new Runnable() {
@Override
public void run() {
- logTextView.setText(getPlugin().textLog);
+ NSClientInternalPlugin.updateLog();
+ logTextView.setText(NSClientInternalPlugin.textLog);
if (getPlugin().autoscroll) {
logScrollview.fullScroll(ScrollView.FOCUS_DOWN);
}
urlTextView.setText(getPlugin().url());
- Spanned queuetext = Html.fromHtml(MainApp.sResources.getString(R.string.queue) + " " + getPlugin().queue().size() + "");
+ Spanned queuetext = Html.fromHtml(MainApp.sResources.getString(R.string.queue) + " " + UploadQueue.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 df88174b79..827023f5b3 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
@@ -9,14 +9,12 @@ import android.os.HandlerThread;
import android.os.IBinder;
import android.text.Html;
import android.text.Spanned;
-import android.text.TextUtils;
import com.squareup.otto.Subscribe;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.List;
@@ -36,29 +34,28 @@ import info.nightscout.utils.ToastUtils;
public class NSClientInternalPlugin implements PluginBase {
private static Logger log = LoggerFactory.getLogger(NSClientInternalPlugin.class);
- boolean fragmentEnabled = true;
- boolean fragmentVisible = true;
+ private boolean fragmentEnabled = true;
+ private boolean fragmentVisible = true;
static public Handler handler;
- static private HandlerThread handlerThread;
- public List listLog = new ArrayList();
- public Spanned textLog = Html.fromHtml("");
+ private static List listLog = new ArrayList<>();
+ static Spanned textLog = Html.fromHtml("");
public boolean paused = false;
- public boolean autoscroll = true;
+ boolean autoscroll = true;
public String status = "";
public NSClientService nsClientService = null;
- public NSClientInternalPlugin() {
+ NSClientInternalPlugin() {
MainApp.bus().register(this);
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");
+ HandlerThread handlerThread = new HandlerThread(NSClientInternalPlugin.class.getSimpleName() + "Handler");
handlerThread.start();
handler = new Handler(handlerThread.getLooper());
}
@@ -129,7 +126,7 @@ public class NSClientInternalPlugin implements PluginBase {
if (type == GENERAL) this.fragmentVisible = fragmentVisible;
}
- ServiceConnection mConnection = new ServiceConnection() {
+ private ServiceConnection mConnection = new ServiceConnection() {
public void onServiceDisconnected(ComponentName name) {
log.debug("Service is disconnected");
@@ -162,12 +159,12 @@ public class NSClientInternalPlugin implements PluginBase {
MainApp.bus().post(new EventNSClientUpdateGUI());
}
- public void clearLog() {
+ void clearLog() {
handler.post(new Runnable() {
@Override
public void run() {
- listLog = new ArrayList();
- updateLog();
+ listLog = new ArrayList<>();
+ MainApp.bus().post(new EventNSClientUpdateGUI());
}
});
}
@@ -176,31 +173,30 @@ public class NSClientInternalPlugin implements PluginBase {
handler.post(new Runnable() {
@Override
public void run() {
- SimpleDateFormat timeFormat = new SimpleDateFormat("HH:mm:ss");
listLog.add(ev);
// remove the first line if log is too large
if (listLog.size() >= Constants.MAX_LOG_LINES) {
listLog.remove(0);
}
- updateLog();
+ MainApp.bus().post(new EventNSClientUpdateGUI());
}
});
}
- private void updateLog() {
+ static void updateLog() {
try {
StringBuilder newTextLog = new StringBuilder();
- for (EventNSClientNewLog log : listLog) {
+ List temporaryList = new ArrayList<>(listLog);
+ for (EventNSClientNewLog log : temporaryList) {
newTextLog.append(log.toPreparedHtml());
}
textLog = Html.fromHtml(newTextLog.toString());
- MainApp.bus().post(new EventNSClientUpdateGUI());
} catch (OutOfMemoryError e) {
ToastUtils.showToastInUiThread(MainApp.instance().getApplicationContext(), "Out of memory!\nStop using this phone !!!", R.raw.error);
}
}
- public void resend(String reason) {
+ void resend(String reason) {
if (nsClientService != null)
nsClientService.resend(reason);
}
diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/NSClientInternal/events/EventNSClientNewLog.java b/app/src/main/java/info/nightscout/androidaps/plugins/NSClientInternal/events/EventNSClientNewLog.java
index 274a7ad828..7caafbd28a 100644
--- a/app/src/main/java/info/nightscout/androidaps/plugins/NSClientInternal/events/EventNSClientNewLog.java
+++ b/app/src/main/java/info/nightscout/androidaps/plugins/NSClientInternal/events/EventNSClientNewLog.java
@@ -22,9 +22,10 @@ public class EventNSClientNewLog {
this.logText = logText;
}
+ SimpleDateFormat timeFormat = new SimpleDateFormat("HH:mm:ss");
+
public StringBuilder toPreparedHtml() {
StringBuilder stringBuilder = new StringBuilder();
- SimpleDateFormat timeFormat = new SimpleDateFormat("HH:mm:ss");
stringBuilder.append(timeFormat.format(date));
stringBuilder.append(" ");
stringBuilder.append(action);