synchronized access to log in nsclient
This commit is contained in:
parent
22d617cbc0
commit
cbd60cfdbe
4 changed files with 17 additions and 12 deletions
|
@ -48,7 +48,7 @@ public class NSClientInternalPlugin implements PluginBase {
|
|||
|
||||
static public Handler handler;
|
||||
|
||||
private static List<EventNSClientNewLog> listLog = new ArrayList<>();
|
||||
private final static List<EventNSClientNewLog> listLog = new ArrayList<>();
|
||||
static Spanned textLog = Html.fromHtml("");
|
||||
|
||||
public boolean paused = false;
|
||||
|
@ -177,7 +177,9 @@ public class NSClientInternalPlugin implements PluginBase {
|
|||
handler.post(new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
listLog = new ArrayList<>();
|
||||
synchronized (listLog) {
|
||||
listLog.clear();
|
||||
}
|
||||
MainApp.bus().post(new EventNSClientUpdateGUI());
|
||||
}
|
||||
});
|
||||
|
@ -187,11 +189,13 @@ public class NSClientInternalPlugin implements PluginBase {
|
|||
handler.post(new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
synchronized (listLog) {
|
||||
listLog.add(ev);
|
||||
// remove the first line if log is too large
|
||||
if (listLog.size() >= Constants.MAX_LOG_LINES) {
|
||||
listLog.remove(0);
|
||||
}
|
||||
}
|
||||
MainApp.bus().post(new EventNSClientUpdateGUI());
|
||||
}
|
||||
});
|
||||
|
@ -200,10 +204,11 @@ public class NSClientInternalPlugin implements PluginBase {
|
|||
static synchronized void updateLog() {
|
||||
try {
|
||||
StringBuilder newTextLog = new StringBuilder();
|
||||
List<EventNSClientNewLog> temporaryList = new ArrayList<>(listLog);
|
||||
for (EventNSClientNewLog log : temporaryList) {
|
||||
synchronized (listLog) {
|
||||
for (EventNSClientNewLog log : listLog) {
|
||||
newTextLog.append(log.toPreparedHtml());
|
||||
}
|
||||
}
|
||||
textLog = Html.fromHtml(newTextLog.toString());
|
||||
} catch (OutOfMemoryError e) {
|
||||
ToastUtils.showToastInUiThread(MainApp.instance().getApplicationContext(), "Out of memory!\nStop using this phone !!!", R.raw.error);
|
||||
|
|
|
@ -448,7 +448,7 @@
|
|||
<string name="settings_password">Парола за настройки</string>
|
||||
<string name="unlock_settings">Отключи настройките</string>
|
||||
<string name="approachingdailylimit">Близо до максмалния дневен инсулин</string>
|
||||
<string name="nsclientinternal">вътрешен NSClient</string>
|
||||
<string name="nsclientinternal">NSClient</string>
|
||||
<string name="nsclientinternal_shortname">NSCI</string>
|
||||
<string name="nsclientinternal_url">URL:</string>
|
||||
<string name="nsclientinternal_autoscroll">Автопревъртане</string>
|
||||
|
|
|
@ -442,7 +442,7 @@
|
|||
<string name="nosuccess">neúspěšně - zkontrolujte mobil</string>
|
||||
<string name="notavailable">Nedostupný</string>
|
||||
<string name="nowritepermission">NSClient nedostal oprávnění k zápisu. Špatné API secret?</string>
|
||||
<string name="nsclientinternal">NSClient interní</string>
|
||||
<string name="nsclientinternal">NSClient</string>
|
||||
<string name="nsclientinternal_autoscroll">Posouvat</string>
|
||||
<string name="nsclientinternal_secret_dialogmessage">Vložte API secret (min 12. znaků)</string>
|
||||
<string name="nsclientinternal_shortname">NSCl</string>
|
||||
|
|
|
@ -261,7 +261,7 @@
|
|||
<string name="ns_sync_use_absolute_title">только абсолютные величины для базала</string>
|
||||
<string name="ns_upload_only">только передача в NS (синхронизация отсутствует)</string>
|
||||
<string name="ns_upload_only_summary">только передача в NS. работает в SGV только если выбран местный источник вроде xdrip. не работает в профилях при действующем профиле NS</string>
|
||||
<string name="nsclientinternal">внутренний клиент NS</string>
|
||||
<string name="nsclientinternal">клиент NS</string>
|
||||
<string name="nsclientinternal_autoscroll">автоскроллинг</string>
|
||||
<string name="nsclientinternal_secret_dialogmessage">введите API secret для NS (мин 12 знаков)</string>
|
||||
<string name="nsclientinternal_secret_dialogtitle">API secret для NS</string>
|
||||
|
|
Loading…
Reference in a new issue