mirror of https://github.com/espruino/BangleApps
commit
a05216ca00
|
@ -49,3 +49,4 @@
|
|||
0.44: Add "delete timer after expiration" setting to events.
|
||||
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.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)
|
||||
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) {
|
||||
if (firstDayOfWeek == 1) {
|
||||
|
@ -497,7 +499,7 @@ function showEditTimerMenu(selectedTimer, timerIndex) {
|
|||
|
||||
function prepareTimerForSave(timer, timerIndex, time, temp) {
|
||||
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;
|
||||
|
||||
if (!temp) {
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
"id": "alarm",
|
||||
"name": "Alarms & Timers",
|
||||
"shortName": "Alarms",
|
||||
"version": "0.46",
|
||||
"version": "0.47",
|
||||
"description": "Set alarms and timers on your Bangle",
|
||||
"icon": "app.png",
|
||||
"tags": "tool,alarm",
|
||||
|
|
|
@ -25,3 +25,4 @@
|
|||
0.22: Dated event repeat option
|
||||
0.23: Allow buzzing forever when an alarm fires
|
||||
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
|
||||
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 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*
|
||||
var time = new Date();
|
||||
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);
|
||||
}
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
{
|
||||
"id": "sched",
|
||||
"name": "Scheduler",
|
||||
"version": "0.24",
|
||||
"version": "0.25",
|
||||
"description": "Scheduling library for alarms and timers",
|
||||
"icon": "app.png",
|
||||
"type": "scheduler",
|
||||
|
|
|
@ -36,6 +36,7 @@ function showAlarm(alarm) {
|
|||
alarm.ot = alarm.t;
|
||||
}
|
||||
alarm.t += settings.defaultSnoozeMillis;
|
||||
alarm.t %= 86400000;
|
||||
Bangle.emit("alarmSnooze", alarm);
|
||||
} else {
|
||||
let del = alarm.del === undefined ? settings.defaultDeleteExpiredTimers : alarm.del;
|
||||
|
|
Loading…
Reference in New Issue