diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/general/nsclient/data/NSDeviceStatus.java b/app/src/main/java/info/nightscout/androidaps/plugins/general/nsclient/data/NSDeviceStatus.java
index 7195435515..757692e655 100644
--- a/app/src/main/java/info/nightscout/androidaps/plugins/general/nsclient/data/NSDeviceStatus.java
+++ b/app/src/main/java/info/nightscout/androidaps/plugins/general/nsclient/data/NSDeviceStatus.java
@@ -331,7 +331,7 @@ public class NSDeviceStatus {
// test warning level
int level = Levels.INFO;
long now = System.currentTimeMillis();
- if (deviceStatusOpenAPSData.clockSuggested != 0 && deviceStatusOpenAPSData.clockSuggested + sp.getInt(R.string.key_nsalarm_urgent_staledatavalue, 16) * 60 * 1000L < now)
+ if (deviceStatusOpenAPSData.clockSuggested != 0 && deviceStatusOpenAPSData.clockSuggested + sp.getInt(R.string.key_nsalarm_urgent_staledatavalue, 31) * 60 * 1000L < now)
level = Levels.URGENT;
else if (deviceStatusOpenAPSData.clockSuggested != 0 && deviceStatusOpenAPSData.clockSuggested + sp.getInt(R.string.key_nsalarm_staledatavalue, 16) * 60 * 1000L < now)
level = Levels.WARN;
diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/general/nsclient/services/NSClientService.java b/app/src/main/java/info/nightscout/androidaps/plugins/general/nsclient/services/NSClientService.java
index cc5057f7eb..7c4d41ca86 100644
--- a/app/src/main/java/info/nightscout/androidaps/plugins/general/nsclient/services/NSClientService.java
+++ b/app/src/main/java/info/nightscout/androidaps/plugins/general/nsclient/services/NSClientService.java
@@ -842,33 +842,42 @@ public class NSClientService extends DaggerService {
}
private void handleAnnouncement(JSONObject announcement) {
- NSAlarm nsAlarm = new NSAlarm(announcement);
- Notification notification = new NotificationWithAction(injector, nsAlarm);
- rxBus.send(new EventNewNotification(notification));
- rxBus.send(new EventNSClientNewLog("ANNOUNCEMENT", JsonHelper.safeGetString(announcement, "message", "received")));
- aapsLogger.debug(LTag.NSCLIENT, announcement.toString());
+ boolean defaultVal = config.getNSCLIENT();
+ if (sp.getBoolean(R.string.key_ns_announcements, defaultVal)) {
+ NSAlarm nsAlarm = new NSAlarm(announcement);
+ Notification notification = new NotificationWithAction(injector, nsAlarm);
+ rxBus.send(new EventNewNotification(notification));
+ rxBus.send(new EventNSClientNewLog("ANNOUNCEMENT", JsonHelper.safeGetString(announcement, "message", "received")));
+ aapsLogger.debug(LTag.NSCLIENT, announcement.toString());
+ }
}
private void handleAlarm(JSONObject alarm) {
- long snoozedTo = sp.getLong(R.string.key_snoozedTo, 0L);
- if (snoozedTo == 0L || System.currentTimeMillis() > snoozedTo) {
- NSAlarm nsAlarm = new NSAlarm(alarm);
- Notification notification = new NotificationWithAction(injector, nsAlarm);
- rxBus.send(new EventNewNotification(notification));
+ boolean defaultVal = config.getNSCLIENT();
+ if (sp.getBoolean(R.string.key_ns_alarms, defaultVal)) {
+ long snoozedTo = sp.getLong(R.string.key_snoozedTo, 0L);
+ if (snoozedTo == 0L || System.currentTimeMillis() > snoozedTo) {
+ NSAlarm nsAlarm = new NSAlarm(alarm);
+ Notification notification = new NotificationWithAction(injector, nsAlarm);
+ rxBus.send(new EventNewNotification(notification));
+ }
+ rxBus.send(new EventNSClientNewLog("ALARM", JsonHelper.safeGetString(alarm, "message", "received")));
+ aapsLogger.debug(LTag.NSCLIENT, alarm.toString());
}
- rxBus.send(new EventNSClientNewLog("ALARM", JsonHelper.safeGetString(alarm, "message", "received")));
- aapsLogger.debug(LTag.NSCLIENT, alarm.toString());
}
private void handleUrgentAlarm(JSONObject alarm) {
- long snoozedTo = sp.getLong(R.string.key_snoozedTo, 0L);
- if (snoozedTo == 0L || System.currentTimeMillis() > snoozedTo) {
- NSAlarm nsAlarm = new NSAlarm(alarm);
- Notification notification = new NotificationWithAction(injector, nsAlarm);
- rxBus.send(new EventNewNotification(notification));
+ boolean defaultVal = config.getNSCLIENT();
+ if (sp.getBoolean(R.string.key_ns_alarms, defaultVal)) {
+ long snoozedTo = sp.getLong(R.string.key_snoozedTo, 0L);
+ if (snoozedTo == 0L || System.currentTimeMillis() > snoozedTo) {
+ NSAlarm nsAlarm = new NSAlarm(alarm);
+ Notification notification = new NotificationWithAction(injector, nsAlarm);
+ rxBus.send(new EventNewNotification(notification));
+ }
+ rxBus.send(new EventNSClientNewLog("URGENTALARM", JsonHelper.safeGetString(alarm, "message", "received")));
+ aapsLogger.debug(LTag.NSCLIENT, alarm.toString());
}
- rxBus.send(new EventNSClientNewLog("URGENTALARM", JsonHelper.safeGetString(alarm, "message", "received")));
- aapsLogger.debug(LTag.NSCLIENT, alarm.toString());
}
public void handleNewCal(JSONArray cals, boolean isDelta) {
diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/general/overview/notifications/NotificationWithAction.kt b/app/src/main/java/info/nightscout/androidaps/plugins/general/overview/notifications/NotificationWithAction.kt
index f492196b29..4e85b03b5c 100644
--- a/app/src/main/java/info/nightscout/androidaps/plugins/general/overview/notifications/NotificationWithAction.kt
+++ b/app/src/main/java/info/nightscout/androidaps/plugins/general/overview/notifications/NotificationWithAction.kt
@@ -22,8 +22,6 @@ class NotificationWithAction constructor(
@Inject lateinit var defaultValueHelper: DefaultValueHelper
@Inject lateinit var nsClientPlugin: NSClientPlugin
- private var nsAlarm: NSAlarm? = null
-
init {
injector.androidInjector().inject(this)
}
@@ -36,7 +34,6 @@ class NotificationWithAction constructor(
}
constructor (injector: HasAndroidInjector, nsAlarm: NSAlarm) : this(injector) {
- this.nsAlarm = nsAlarm
date = System.currentTimeMillis()
when (nsAlarm.level()) {
0 -> {
@@ -50,14 +47,14 @@ class NotificationWithAction constructor(
id = NSALARM
level = NORMAL
text = nsAlarm.title()
- if (nsAlarm.low() && sp.getBoolean(R.string.key_nsalarm_low, false) || nsAlarm.high() && sp.getBoolean(R.string.key_nsalarm_high, false) || nsAlarm.timeago() && sp.getBoolean(R.string.key_nsalarm_staledata, false)) soundId = R.raw.alarm
+ soundId = R.raw.alarm
}
2 -> {
id = NSURGENTALARM
level = URGENT
text = nsAlarm.title()
- if (nsAlarm.low() && sp.getBoolean(R.string.key_nsalarm_urgent_low, false) || nsAlarm.high() && sp.getBoolean(R.string.key_nsalarm_urgent_high, false) || nsAlarm.timeago() && sp.getBoolean(R.string.key_nsalarm_staledata, false)) soundId = R.raw.urgentalarm
+ soundId = R.raw.urgentalarm
}
}
buttonText = R.string.snooze
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index de9f03587e..4908f7d04f 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -549,20 +549,12 @@
Do Profile Switch
Pump battery age
Alarm options
- nsalarm_urgent_high
- nsalarm_high
- nsalarm_low
- nsalarm_urgent_low
- nsalarm_staledata
- nsalarm_urgent_staledata
+ ns_announcements
+ ns_alarms
nsalarm_staledatavalue
nsalarm_urgent_staledatavalue
- Urgent high
- High
- Low
- Urgent low
- Stale data
- Urgent stale data
+ Create notifications from NS alarms
+ Create notifications from NS announcements
Stale data threshold [min]
Urgent stale data threshold [min]
Interval for autosens [h]
diff --git a/app/src/main/res/xml/pref_nsclientinternal.xml b/app/src/main/res/xml/pref_nsclientinternal.xml
index 6f68d77a7b..a25aeebd2f 100644
--- a/app/src/main/res/xml/pref_nsclientinternal.xml
+++ b/app/src/main/res/xml/pref_nsclientinternal.xml
@@ -42,29 +42,12 @@
android:title="@string/ns_alarmoptions">
+ android:key="@string/key_ns_alarms"
+ android:title="@string/ns_alarms" />
-
-
-
-
-
-
+ android:key="@string/key_ns_announcements"
+ android:title="@string/ns_announcements" />
-
-