1
0
Fork 0

Tests with qalarm

master
David Peer 2022-03-07 17:07:28 +01:00
parent 1770c6712d
commit 29faff8eb8
3 changed files with 84 additions and 1 deletions

View File

@ -4,3 +4,4 @@
Fix app icon
Change menu order so 'back' is at the top
0.04: Fix alarm not activating sometimes.
0.05: Include library for other apps.

81
apps/qalarm/lib.js Normal file
View File

@ -0,0 +1,81 @@
Bangle.loadWidgets();
let alarms = require("Storage").readJSON("qalarm.json", 1) || [];
/**
* LIBRARY
*/
function alarmExists(alarmIndex){
return alarmIndex > 0 && alarmIndex < alarms.length;
}
function isAlarmStarted(alarmIndex){
if(!alarmExists(alarmIndex)){
return false;
}
let time = new Date();
let t = getCurrentTime();
a = alarms[alarmIndex];
return a.on &&
a.t <= t &&
a.last != time.getDate() &&
(a.timer || a.daysOfWeek[time.getDay()]);
}
function getAlarmMin(alarmIndex){
if(!isAlarmStarted(alarmIndex)){
return 0;
}
let t = getCurrentTime();
let a = alarms[alarmIndex] ;
return a.t - t * 60;
}
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 = {
timer: 300,
on: true,
rp: false,
as: false,
hard: false,
};
a.timer = hrs * 3600 + mins * 60 + secs;
a.t = (getCurrentTime() + alarm.timer * 1000) % 86400000;
if(alarmExists(a)){
alarms[alarmIndex] = a;
} else {
alarmIndex = alarms.length;
alarms.push(a)
}
_reload();
return alarmIndex;
}
function deleteAlarm(alarmIndex){
if(!alarmExists(alarmIndex)){
return;
}
alarms.splice(alarmIndex, 1);
_reload();
}
// Export functions
exports.alarmExists = alarmExists;
exports.isAlarmStarted = isAlarmStarted;
exports.getAlarmMin = getAlarmMin;
exports.editTimer = editTimer;
exports.deleteAlarm = deleteAlarm;

View File

@ -3,11 +3,12 @@
"name": "Q Alarm and Timer",
"shortName": "Q Alarm",
"icon": "app.png",
"version": "0.04",
"version": "0.05",
"description": "Alarm and timer app with days of week and 'hard' option.",
"tags": "tool,alarm,widget",
"supports": ["BANGLEJS", "BANGLEJS2"],
"storage": [
{ "name": "qalarm", "url": "lib.js" },
{ "name": "qalarm.app.js", "url": "app.js" },
{ "name": "qalarm.boot.js", "url": "boot.js" },
{ "name": "qalarm.js", "url": "qalarm.js" },