Depending on setting, stop or reset timer when alarm dismissed
parent
b7ab9da74a
commit
1d1e37acd6
|
|
@ -24,8 +24,9 @@ function showAlarm(alarm) {
|
||||||
// If there's a timer chained from this one, start it (only for
|
// If there's a timer chained from this one, start it (only for
|
||||||
// alarms not in snoozed status)
|
// alarms not in snoozed status)
|
||||||
var isChainedTimer = false;
|
var isChainedTimer = false;
|
||||||
|
var chainTimer = null;
|
||||||
if (timer.chain_id !== null && alarm.ot === undefined) {
|
if (timer.chain_id !== null && alarm.ot === undefined) {
|
||||||
var chainTimer = tt.TIMERS[tt.find_timer_by_id(timer.chain_id)];
|
chainTimer = tt.TIMERS[tt.find_timer_by_id(timer.chain_id)];
|
||||||
if (chainTimer !== undefined) {
|
if (chainTimer !== undefined) {
|
||||||
chainTimer.reset();
|
chainTimer.reset();
|
||||||
chainTimer.start();
|
chainTimer.start();
|
||||||
|
|
@ -84,13 +85,19 @@ function showAlarm(alarm) {
|
||||||
if (index !== -1) {
|
if (index !== -1) {
|
||||||
alarms.splice(index, 1);
|
alarms.splice(index, 1);
|
||||||
}
|
}
|
||||||
|
if (timer !== chainTimer) {
|
||||||
|
timer.pause();
|
||||||
|
if (tt.SETTINGS.auto_reset) {
|
||||||
|
timer.reset();
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
if (action === 'halt') {
|
if (action === 'halt') {
|
||||||
timer.pause();
|
|
||||||
chainTimer.pause();
|
chainTimer.pause();
|
||||||
tt.update_system_alarms();
|
|
||||||
alarms = require("sched").getAlarms();
|
|
||||||
}
|
}
|
||||||
|
tt.update_system_alarms();
|
||||||
|
alarms = require("sched").getAlarms();
|
||||||
|
|
||||||
Bangle.emit("alarmDismiss", alarm);
|
Bangle.emit("alarmDismiss", alarm);
|
||||||
|
|
||||||
// The updated alarm is still a member of 'alarms'
|
// The updated alarm is still a member of 'alarms'
|
||||||
|
|
|
||||||
|
|
@ -1276,6 +1276,13 @@ class AppSettingsMenu {
|
||||||
tt.set_settings_dirty();
|
tt.set_settings_dirty();
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
'Auto reset': {
|
||||||
|
value: tt.SETTINGS.auto_reset, // boolean
|
||||||
|
onchange: v => {
|
||||||
|
tt.SETTINGS.auto_reset = v;
|
||||||
|
tt.set_settings_dirty();
|
||||||
|
}
|
||||||
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
E.showMenu(menu);
|
E.showMenu(menu);
|
||||||
|
|
|
||||||
|
|
@ -345,6 +345,7 @@ const SETTINGS = Object.assign({
|
||||||
'confirm_reset': 'auto',
|
'confirm_reset': 'auto',
|
||||||
'confirm_delete': true,
|
'confirm_delete': true,
|
||||||
'alarm_return': false,
|
'alarm_return': false,
|
||||||
|
'auto_reset': false,
|
||||||
}, Storage.readJSON(SETTINGS_FILENAME, true) || {});
|
}, Storage.readJSON(SETTINGS_FILENAME, true) || {});
|
||||||
|
|
||||||
var TIMERS = load_timers();
|
var TIMERS = load_timers();
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue