67 lines
1.7 KiB
JavaScript
67 lines
1.7 KiB
JavaScript
const tt = require('triangletimer');
|
|
|
|
function showAlarm(alarm) {
|
|
const settings = require("sched").getSettings();
|
|
const tri_timer = tt.TIMERS[alarm.data.idx];
|
|
const message = tt.format_triangle(tri_timer) + '\n' + alarm.msg;
|
|
|
|
Bangle.loadWidgets();
|
|
Bangle.drawWidgets();
|
|
|
|
// buzzCount should really be called buzzRepeat, so subtract 1
|
|
let buzzCount = tri_timer.buzz_count - 1;
|
|
|
|
tt.update_system_alarms();
|
|
|
|
E.showPrompt(message, {
|
|
title: 'Triangle timer',
|
|
buttons: { "Goto": true, "OK": false }
|
|
}).then(function (go) {
|
|
buzzCount = 0;
|
|
|
|
Bangle.emit("alarmDismiss", alarm);
|
|
|
|
if (go) {
|
|
console.log('alarm ' + alarm.data.idx);
|
|
tt.set_last_viewed_timer(tri_timer);
|
|
load('triangletimer.app.js');
|
|
} else {
|
|
load();
|
|
}
|
|
});
|
|
|
|
function buzz() {
|
|
if (settings.unlockAtBuzz) {
|
|
Bangle.setLocked(false);
|
|
}
|
|
|
|
const pattern = tri_timer.vibrate_pattern || settings.defaultTimerPattern;
|
|
console.log('buzz: ' + pattern);
|
|
console.log('buzzCount: ' + buzzCount);
|
|
require("buzz").pattern(pattern).then(() => {
|
|
if (buzzCount == null || buzzCount--) {
|
|
setTimeout(buzz, settings.buzzIntervalMillis);
|
|
} else if (alarm.as) { // auto-snooze
|
|
// buzzCount should really be called buzzRepeat, so subtract 1
|
|
buzzCount = tri_timer.buzz_count - 1;
|
|
setTimeout(buzz, settings.defaultSnoozeMillis);
|
|
}
|
|
});
|
|
}
|
|
|
|
if ((require("Storage").readJSON("setting.json", 1) || {}).quiet > 1)
|
|
return;
|
|
|
|
buzz();
|
|
}
|
|
|
|
let alarms = require("sched").getAlarms();
|
|
let active = require("sched").getActiveAlarms(alarms);
|
|
if (active.length) {
|
|
// if there's an alarm, show it
|
|
showAlarm(active[0]);
|
|
} else {
|
|
// otherwise just go back to default app
|
|
setTimeout(load, 100);
|
|
}
|