mirror of https://github.com/espruino/BangleApps
commit
a05216ca00
|
@ -49,3 +49,4 @@
|
||||||
0.44: Add "delete timer after expiration" setting to events.
|
0.44: Add "delete timer after expiration" setting to events.
|
||||||
0.45: Fix new alarm when selectedAlarm is undefined
|
0.45: Fix new alarm when selectedAlarm is undefined
|
||||||
0.46: Show alarm groups if the Show Group setting is ON. Scroll alarms menu back to previous position when getting back to it.
|
0.46: Show alarm groups if the Show Group setting is ON. Scroll alarms menu back to previous position when getting back to it.
|
||||||
|
0.47: Fix wrap around when snoozed through midnight
|
||||||
|
|
|
@ -28,6 +28,8 @@ const iconTimerOff = "\0" + (g.theme.dark
|
||||||
|
|
||||||
// An array of alarm objects (see sched/README.md)
|
// An array of alarm objects (see sched/README.md)
|
||||||
var alarms = require("sched").getAlarms();
|
var alarms = require("sched").getAlarms();
|
||||||
|
// Fix possible wrap around in existing alarms #3281, broken alarms still needs to be saved to get fixed
|
||||||
|
alarms.forEach(e => e.t %= 86400000); // This can probably be removed in the future when we are sure there are no more broken alarms
|
||||||
|
|
||||||
function handleFirstDayOfWeek(dow) {
|
function handleFirstDayOfWeek(dow) {
|
||||||
if (firstDayOfWeek == 1) {
|
if (firstDayOfWeek == 1) {
|
||||||
|
@ -497,7 +499,7 @@ function showEditTimerMenu(selectedTimer, timerIndex) {
|
||||||
|
|
||||||
function prepareTimerForSave(timer, timerIndex, time, temp) {
|
function prepareTimerForSave(timer, timerIndex, time, temp) {
|
||||||
timer.timer = require("time_utils").encodeTime(time);
|
timer.timer = require("time_utils").encodeTime(time);
|
||||||
timer.t = require("time_utils").getCurrentTimeMillis() + timer.timer;
|
timer.t = (require("time_utils").getCurrentTimeMillis() + timer.timer) % 86400000;
|
||||||
timer.last = 0;
|
timer.last = 0;
|
||||||
|
|
||||||
if (!temp) {
|
if (!temp) {
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
"id": "alarm",
|
"id": "alarm",
|
||||||
"name": "Alarms & Timers",
|
"name": "Alarms & Timers",
|
||||||
"shortName": "Alarms",
|
"shortName": "Alarms",
|
||||||
"version": "0.46",
|
"version": "0.47",
|
||||||
"description": "Set alarms and timers on your Bangle",
|
"description": "Set alarms and timers on your Bangle",
|
||||||
"icon": "app.png",
|
"icon": "app.png",
|
||||||
"tags": "tool,alarm",
|
"tags": "tool,alarm",
|
||||||
|
|
|
@ -25,3 +25,4 @@
|
||||||
0.22: Dated event repeat option
|
0.22: Dated event repeat option
|
||||||
0.23: Allow buzzing forever when an alarm fires
|
0.23: Allow buzzing forever when an alarm fires
|
||||||
0.24: Emit alarmReload when alarms change (used by widalarm)
|
0.24: Emit alarmReload when alarms change (used by widalarm)
|
||||||
|
0.25: Fix wrap around when snoozed through midnight
|
||||||
|
|
|
@ -4,6 +4,7 @@ exports.getAlarms = function() {
|
||||||
};
|
};
|
||||||
// Write a list of alarms back to storage
|
// Write a list of alarms back to storage
|
||||||
exports.setAlarms = function(alarms) {
|
exports.setAlarms = function(alarms) {
|
||||||
|
alarms.forEach(e => e.t %= 86400000); // Also fix #3281 from other apps, e.g. multitimer
|
||||||
return require("Storage").writeJSON("sched.json",alarms);
|
return require("Storage").writeJSON("sched.json",alarms);
|
||||||
};
|
};
|
||||||
// Return an alarm object based on ID
|
// Return an alarm object based on ID
|
||||||
|
@ -35,7 +36,7 @@ exports.setAlarm = function(id, alarm) {
|
||||||
if (alarm.timer) { // if it's a timer, set the start time as a time from *now*
|
if (alarm.timer) { // if it's a timer, set the start time as a time from *now*
|
||||||
var time = new Date();
|
var time = new Date();
|
||||||
var currentTime = (time.getHours()*3600000)+(time.getMinutes()*60000)+(time.getSeconds()*1000);
|
var currentTime = (time.getHours()*3600000)+(time.getMinutes()*60000)+(time.getSeconds()*1000);
|
||||||
alarm.t = currentTime + alarm.timer;
|
alarm.t = (currentTime + alarm.timer) % 86400000;
|
||||||
}
|
}
|
||||||
alarms.push(alarm);
|
alarms.push(alarm);
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
{
|
{
|
||||||
"id": "sched",
|
"id": "sched",
|
||||||
"name": "Scheduler",
|
"name": "Scheduler",
|
||||||
"version": "0.24",
|
"version": "0.25",
|
||||||
"description": "Scheduling library for alarms and timers",
|
"description": "Scheduling library for alarms and timers",
|
||||||
"icon": "app.png",
|
"icon": "app.png",
|
||||||
"type": "scheduler",
|
"type": "scheduler",
|
||||||
|
|
|
@ -36,6 +36,7 @@ function showAlarm(alarm) {
|
||||||
alarm.ot = alarm.t;
|
alarm.ot = alarm.t;
|
||||||
}
|
}
|
||||||
alarm.t += settings.defaultSnoozeMillis;
|
alarm.t += settings.defaultSnoozeMillis;
|
||||||
|
alarm.t %= 86400000;
|
||||||
Bangle.emit("alarmSnooze", alarm);
|
Bangle.emit("alarmSnooze", alarm);
|
||||||
} else {
|
} else {
|
||||||
let del = alarm.del === undefined ? settings.defaultDeleteExpiredTimers : alarm.del;
|
let del = alarm.del === undefined ? settings.defaultDeleteExpiredTimers : alarm.del;
|
||||||
|
|
Loading…
Reference in New Issue