diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/general/automation/AutomationPlugin.kt b/app/src/main/java/info/nightscout/androidaps/plugins/general/automation/AutomationPlugin.kt
index 475c072a02..6c7850f6f2 100644
--- a/app/src/main/java/info/nightscout/androidaps/plugins/general/automation/AutomationPlugin.kt
+++ b/app/src/main/java/info/nightscout/androidaps/plugins/general/automation/AutomationPlugin.kt
@@ -209,7 +209,7 @@ object AutomationPlugin : PluginBase(PluginDescription()
return listOf(
TriggerTime(),
TriggerRecurringTime(),
- TriggerTimeOfDay(),
+ TriggerTimeRange(),
TriggerBg(),
TriggerDelta(),
TriggerIob(),
diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/general/automation/triggers/TriggerTimeOfDay.java b/app/src/main/java/info/nightscout/androidaps/plugins/general/automation/triggers/TriggerTimeRange.java
similarity index 89%
rename from app/src/main/java/info/nightscout/androidaps/plugins/general/automation/triggers/TriggerTimeOfDay.java
rename to app/src/main/java/info/nightscout/androidaps/plugins/general/automation/triggers/TriggerTimeRange.java
index b047feff85..8c622fc5f6 100644
--- a/app/src/main/java/info/nightscout/androidaps/plugins/general/automation/triggers/TriggerTimeOfDay.java
+++ b/app/src/main/java/info/nightscout/androidaps/plugins/general/automation/triggers/TriggerTimeRange.java
@@ -30,28 +30,28 @@ import info.nightscout.androidaps.utils.JsonHelper;
import info.nightscout.androidaps.utils.T;
-// Trigger for time range ( Time of day actually )
+// Trigger for time range ( from 10:00AM till 13:00PM )
-public class TriggerTimeOfDay extends Trigger {
+public class TriggerTimeRange extends Trigger {
private static Logger log = LoggerFactory.getLogger(L.AUTOMATION);
- // in minutes since midnight 6- means 1AM
+ // in minutes since midnight 60 means 1AM
private int start;
private int end;
private Comparator comparator = new Comparator();
- public TriggerTimeOfDay() {
+ public TriggerTimeRange() {
start = getMinSinceMidnight(DateUtil.now());
end = getMinSinceMidnight(DateUtil.now());
}
- private TriggerTimeOfDay(TriggerTimeOfDay triggerTimeOfDay) {
+ private TriggerTimeRange(TriggerTimeRange triggerTimeRange) {
super();
- lastRun = triggerTimeOfDay.lastRun;
- start = triggerTimeOfDay.start;
- end = triggerTimeOfDay.end;
+ lastRun = triggerTimeRange.lastRun;
+ start = triggerTimeRange.start;
+ end = triggerTimeRange.end;
}
@Override
@@ -92,7 +92,7 @@ public class TriggerTimeOfDay extends Trigger {
data.put("start", getMinSinceMidnight(start));
data.put("end", getMinSinceMidnight(end));
data.put("lastRun", lastRun);
- object.put("type", TriggerTimeOfDay.class.getName());
+ object.put("type", TriggerTimeRange.class.getName());
object.put("data", data);
} catch (JSONException e) {
e.printStackTrace();
@@ -102,7 +102,7 @@ public class TriggerTimeOfDay extends Trigger {
}
@Override
- TriggerTimeOfDay fromJSON(String data) {
+ TriggerTimeRange fromJSON(String data) {
JSONObject o;
try {
o = new JSONObject(data);
@@ -117,12 +117,12 @@ public class TriggerTimeOfDay extends Trigger {
@Override
public int friendlyName() {
- return R.string.time_of_day;
+ return R.string.time_range;
}
@Override
public String friendlyDescription() {
- return MainApp.gs(R.string.tod_value, DateUtil.timeString(toMilis(start)), DateUtil.timeString(toMilis(end)));
+ return MainApp.gs(R.string.timerange_value, DateUtil.timeString(toMilis(start)), DateUtil.timeString(toMilis(end)));
}
@Override
@@ -130,19 +130,20 @@ public class TriggerTimeOfDay extends Trigger {
return Optional.of(R.drawable.ic_access_alarm_24dp);
}
- TriggerTimeOfDay start(int start) {
+ TriggerTimeRange period(int start, int end) {
this.start = start;
+ this.end = end;
return this;
}
- TriggerTimeOfDay lastRun(long lastRun) {
+ TriggerTimeRange lastRun(long lastRun) {
this.lastRun = lastRun;
return this;
}
@Override
public Trigger duplicate() {
- return new TriggerTimeOfDay(this);
+ return new TriggerTimeRange(this);
}
long toMilis(long minutesSinceMidnight) {
@@ -220,7 +221,7 @@ public class TriggerTimeOfDay extends Trigger {
});
int px = MainApp.dpToPx(10);
- label.setText(MainApp.gs(R.string.thanspecifiedtime));
+ label.setText(MainApp.gs(R.string.between));
label.setTypeface(label.getTypeface(), Typeface.BOLD);
startButton.setPadding(px, px, px, px);
endButton.setPadding(px, px, px, px);
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index b55fda39db..7b5a66b7b8 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -1605,9 +1605,9 @@
Bolus wizard performs calculation but only this part of calculated insulin is delivered. Useful with SMB algorithm.
Loading ...
Snooze
- Time range
- Time is between %1$s and %2$s
- Between
+ Time range
+ Time is between %1$s and %2$s
+ Between
- %1$d day
diff --git a/app/src/test/java/info/nightscout/androidaps/plugins/general/automation/triggers/TriggerTimeOfDayTest.java b/app/src/test/java/info/nightscout/androidaps/plugins/general/automation/triggers/TriggerTimeRangeTest.java
similarity index 64%
rename from app/src/test/java/info/nightscout/androidaps/plugins/general/automation/triggers/TriggerTimeOfDayTest.java
rename to app/src/test/java/info/nightscout/androidaps/plugins/general/automation/triggers/TriggerTimeRangeTest.java
index 8f49366954..f270964d65 100644
--- a/app/src/test/java/info/nightscout/androidaps/plugins/general/automation/triggers/TriggerTimeOfDayTest.java
+++ b/app/src/test/java/info/nightscout/androidaps/plugins/general/automation/triggers/TriggerTimeRangeTest.java
@@ -19,69 +19,69 @@ import info.AAPSMocker;
import info.nightscout.androidaps.MainApp;
import info.nightscout.androidaps.R;
import info.nightscout.androidaps.utils.DateUtil;
-import info.nightscout.androidaps.utils.T;
import static org.powermock.api.mockito.PowerMockito.when;
@RunWith(PowerMockRunner.class)
@PrepareForTest({MainApp.class, Bus.class, DateUtil.class, GregorianCalendar.class})
-public class TriggerTimeOfDayTest {
+public class TriggerTimeRangeTest {
int now = 754;
- String timeJson = "{\"data\":{\"comparator\":\"IS_EQUAL\",\"lastRun\":0,\"minSinceMidnight\":753},\"type\":\"info.nightscout.androidaps.plugins.general.automation.triggers.TriggerTimeOfDay\"}";
+ String timeJson = "{\"data\":{\"lastRun\":0,\"start\":753,\"end\":784},\"type\":\"info.nightscout.androidaps.plugins.general.automation.triggers.TriggerTimeRange\"}";
@Test
public void shouldRunTest() {
// scheduled 1 min before
- TriggerTimeOfDay t = new TriggerTimeOfDay().minSinceMidnight(753);
+ TriggerTimeRange t;
// scheduled 1 min in the future
- t = new TriggerTimeOfDay().minSinceMidnight(now + 1);
+ t = new TriggerTimeRange().period(now + 1, now + 30);
Assert.assertFalse(t.shouldRun());
// already run
- t = new TriggerTimeOfDay().minSinceMidnight(now - 1).lastRun(now - 1);
+ t = new TriggerTimeRange().period(now - 1, now + 30).lastRun(now - 1);
Assert.assertFalse(t.shouldRun());
}
@Test
public void toJSONTest() {
- TriggerTimeOfDay t = new TriggerTimeOfDay().minSinceMidnight(now - 1);
+ TriggerTimeRange t = new TriggerTimeRange().period(now - 1, now + 30);
Assert.assertEquals(timeJson, t.toJSON());
}
@Test
public void fromJSONTest() throws JSONException {
- TriggerTimeOfDay t = new TriggerTimeOfDay().minSinceMidnight(120);
+ TriggerTimeRange t = new TriggerTimeRange().period(120 , 180);
- TriggerTimeOfDay t2 = (TriggerTimeOfDay) Trigger.instantiate(new JSONObject(t.toJSON()));
- Assert.assertEquals(now - 1, t2.minSinceMidnight(753).getMinSinceMidnight());
+ TriggerTimeRange t2 = (TriggerTimeRange) Trigger.instantiate(new JSONObject(t.toJSON()));
+ Assert.assertEquals(now - 1, t2.period(753 , 360).getStart());
+ Assert.assertEquals(360, t2.period(753 , 360).getEnd());
}
@Test
public void copyConstructorTest() {
- TriggerTimeOfDay t = new TriggerTimeOfDay();
- t.minSinceMidnight(now);
+ TriggerTimeRange t = new TriggerTimeRange();
+ t.period(now, now + 30);
- TriggerTimeOfDay t1 = (TriggerTimeOfDay) t.duplicate();
+ TriggerTimeRange t1 = (TriggerTimeRange) t.duplicate();
// Assert.assertEquals(now, t1.getRunAt(), 0.01d);
}
@Test
public void friendlyNameTest() {
- Assert.assertEquals(R.string.time_of_day, new TriggerTimeOfDay().friendlyName());
+ Assert.assertEquals(R.string.time_range, new TriggerTimeRange().friendlyName());
}
@Test
public void friendlyDescriptionTest() {
- Assert.assertEquals(null, new TriggerTimeOfDay().friendlyDescription()); //not mocked }
+ Assert.assertEquals(null, new TriggerTimeRange().friendlyDescription()); //not mocked }
}
@Test
public void iconTest() {
- Assert.assertEquals(Optional.of(R.drawable.ic_access_alarm_24dp), new TriggerTimeOfDay().icon());
+ Assert.assertEquals(Optional.of(R.drawable.ic_access_alarm_24dp), new TriggerTimeRange().icon());
}