2022-11-14 19:16:03 +00:00
|
|
|
{
|
|
|
|
const DEBUG = false;
|
|
|
|
const FILE = "swp2clk.data.json";
|
2021-12-22 20:58:26 +00:00
|
|
|
|
2022-11-14 19:16:03 +00:00
|
|
|
let log = (message) => {
|
2021-12-21 21:46:30 +00:00
|
|
|
if (DEBUG) {
|
|
|
|
console.log(JSON.stringify(message));
|
|
|
|
}
|
|
|
|
};
|
|
|
|
|
2022-11-14 19:16:03 +00:00
|
|
|
let readSettings = () => {
|
2021-12-21 21:46:30 +00:00
|
|
|
log("reading settings");
|
2022-11-14 19:16:03 +00:00
|
|
|
let settings = require("Storage").readJSON(FILE, 1) || {
|
2021-12-21 21:46:30 +00:00
|
|
|
mode: 0,
|
|
|
|
whiteList: [],
|
2022-11-14 19:16:03 +00:00
|
|
|
blackList: []
|
2021-12-21 21:46:30 +00:00
|
|
|
};
|
|
|
|
log(settings);
|
|
|
|
return settings;
|
|
|
|
};
|
|
|
|
|
2022-11-14 19:16:03 +00:00
|
|
|
let settings = readSettings();
|
|
|
|
//inhibit is needed to filter swipes that had another handler load anything earlier than this handler was called
|
|
|
|
let inhibit = false;
|
|
|
|
Bangle.load = ( o => (f) => {
|
|
|
|
o(f);
|
|
|
|
log("inhibit caused by change to:" + f);
|
|
|
|
inhibit = true;
|
|
|
|
})(Bangle.load);
|
|
|
|
|
|
|
|
let swipeHandler = (dir) => {
|
2022-11-30 09:37:39 +00:00
|
|
|
let currentFile = global.__FILE__||"default";
|
|
|
|
log("swipe:" + dir + " on app: " + currentFile);
|
2022-11-14 19:16:03 +00:00
|
|
|
|
2022-11-30 09:37:39 +00:00
|
|
|
if (!inhibit && dir === 1 && !Bangle.CLOCK) {
|
|
|
|
log("on a not clock app " + currentFile);
|
|
|
|
if ((settings.mode === 1 && settings.whiteList.includes(currentFile)) || // "White List"
|
|
|
|
(settings.mode === 2 && !settings.blackList.includes(currentFile)) || // "Black List"
|
2022-11-14 19:16:03 +00:00
|
|
|
settings.mode === 3) { // "Always"
|
|
|
|
log("load clock");
|
|
|
|
Bangle.showClock();
|
|
|
|
}
|
|
|
|
}
|
|
|
|
inhibit = false;
|
2021-12-21 21:46:30 +00:00
|
|
|
};
|
|
|
|
|
2022-11-14 19:16:03 +00:00
|
|
|
Bangle.on("swipe", swipeHandler);
|
|
|
|
}
|