2022-03-07 16:07:28 +00:00
|
|
|
Bangle.loadWidgets();
|
|
|
|
|
|
|
|
let alarms = require("Storage").readJSON("qalarm.json", 1) || [];
|
|
|
|
|
|
|
|
/**
|
|
|
|
* LIBRARY
|
|
|
|
*/
|
2022-03-08 18:03:23 +00:00
|
|
|
|
|
|
|
function getCurrentTime() {
|
|
|
|
let time = new Date();
|
|
|
|
return (
|
|
|
|
time.getHours() * 3600000 +
|
|
|
|
time.getMinutes() * 60000 +
|
|
|
|
time.getSeconds() * 1000
|
|
|
|
);
|
|
|
|
}
|
|
|
|
|
2022-03-07 16:07:28 +00:00
|
|
|
function alarmExists(alarmIndex){
|
2022-03-08 18:03:23 +00:00
|
|
|
var exists = alarmIndex >= 0 && alarmIndex < alarms.length;
|
|
|
|
return exists;
|
2022-03-07 16:07:28 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
function isAlarmStarted(alarmIndex){
|
|
|
|
if(!alarmExists(alarmIndex)){
|
|
|
|
return false;
|
|
|
|
}
|
|
|
|
|
|
|
|
let time = new Date();
|
|
|
|
let t = getCurrentTime();
|
|
|
|
a = alarms[alarmIndex];
|
|
|
|
return a.on &&
|
2022-03-08 18:03:23 +00:00
|
|
|
t <= a.t &&
|
2022-03-07 16:07:28 +00:00
|
|
|
a.last != time.getDate() &&
|
|
|
|
(a.timer || a.daysOfWeek[time.getDay()]);
|
|
|
|
}
|
|
|
|
|
2022-03-08 18:03:23 +00:00
|
|
|
function getTimerMin(alarmIndex){
|
2022-03-07 16:07:28 +00:00
|
|
|
if(!isAlarmStarted(alarmIndex)){
|
|
|
|
return 0;
|
|
|
|
}
|
|
|
|
|
|
|
|
let a = alarms[alarmIndex] ;
|
2022-03-08 18:03:23 +00:00
|
|
|
let diff = a.t - getCurrentTime();
|
|
|
|
// let hrs = Math.floor(t / 3600000);
|
|
|
|
let mins = Math.round((diff / 60000) % 60);
|
|
|
|
// return hrs + ":" + ("0" + mins).substr(-2);
|
|
|
|
return mins;
|
|
|
|
}
|
2022-03-07 16:07:28 +00:00
|
|
|
|
|
|
|
function _reload(){
|
|
|
|
require("Storage").write("qalarm.json", JSON.stringify(alarms));
|
|
|
|
eval(require("Storage").read("qalarmcheck.js"));
|
|
|
|
if (WIDGETS["qalarm"]) WIDGETS["qalarm"].reload();
|
|
|
|
}
|
|
|
|
|
|
|
|
function editTimer(alarmIndex, hrs, mins, secs){
|
|
|
|
var a = {
|
|
|
|
on: true,
|
|
|
|
rp: false,
|
|
|
|
as: false,
|
|
|
|
hard: false,
|
|
|
|
};
|
|
|
|
a.timer = hrs * 3600 + mins * 60 + secs;
|
2022-03-08 18:03:23 +00:00
|
|
|
a.t = (getCurrentTime() + a.timer * 1000) % 86400000;
|
2022-03-07 16:07:28 +00:00
|
|
|
|
|
|
|
if(alarmExists(a)){
|
|
|
|
alarms[alarmIndex] = a;
|
|
|
|
} else {
|
|
|
|
alarms.push(a)
|
2022-03-08 18:03:23 +00:00
|
|
|
alarmIndex = alarms.length-1;
|
2022-03-07 16:07:28 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
_reload();
|
|
|
|
return alarmIndex;
|
|
|
|
}
|
|
|
|
|
|
|
|
function deleteAlarm(alarmIndex){
|
|
|
|
if(!alarmExists(alarmIndex)){
|
|
|
|
return;
|
|
|
|
}
|
|
|
|
|
|
|
|
alarms.splice(alarmIndex, 1);
|
|
|
|
_reload();
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// Export functions
|
|
|
|
exports.alarmExists = alarmExists;
|
|
|
|
exports.isAlarmStarted = isAlarmStarted;
|
2022-03-08 18:03:23 +00:00
|
|
|
exports.deleteAlarm = deleteAlarm;
|
|
|
|
|
|
|
|
exports.timerExists = alarmExists;
|
|
|
|
exports.isTimerStarted = isAlarmStarted;
|
|
|
|
exports.getTimerMin = getTimerMin;
|
2022-03-07 16:07:28 +00:00
|
|
|
exports.editTimer = editTimer;
|
2022-03-08 18:03:23 +00:00
|
|
|
exports.deleteTimer = deleteAlarm;
|