diff --git a/apps/quicklaunch/boot.js b/apps/quicklaunch/boot.js index bc2408e78..4a2381d49 100644 --- a/apps/quicklaunch/boot.js +++ b/apps/quicklaunch/boot.js @@ -1,29 +1,24 @@ { - let settings = Object.assign(require("Storage").readJSON("quicklaunch.json", true) || {}); + let settings = require("Storage").readJSON("quicklaunch.json", true) || {}; + const storage = require("Storage"); - let hash = require("Storage").hash(/\.info/); - if (settings.hash!=hash) { - //apps changed, rescan and remove no longer existing apps - let apps = require("Storage").list(/\.info$/).map(app=>{var a=require("Storage").readJSON(app,1);return a&&{src:a.src};}); - - for (let c of ["leftapp","rightapp","upapp","downapp","tapapp"]){ - if (!settings[c]) settings[c] = {"name":"(none)"}; - if (!require("Storage").read(settings[c].src)) settings[c] = {"name":"(none)"}; - } - settings.hash = hash; - require("Storage").write("quicklaunch.json",settings); - } + let reset = function(name){ + if (!settings[name]) settings[name] = {"name":"(none)"}; + if (!require("Storage").read(settings[name].src)) settings[name] = {"name":"(none)"}; + storage.write("quicklaunch.json", settings); + }; Bangle.on("touch", () => { if (!Bangle.CLOCK) return; - if (settings.tapapp.src) load(settings.tapapp.src); + if (settings.tapapp.src){ if (!storage.read(settings.tapapp.src)) reset("tapapp"); else load(settings.tapapp.src); } }); + Bangle.on("swipe", (lr,ud) => { if (!Bangle.CLOCK) return; - if (lr == -1 && settings.leftapp.src) load(settings.leftapp.src); - if (lr == 1 && settings.rightapp.src) load(settings.rightapp.src); - if (ud == 1 && settings.upapp.src) load(settings.upapp.src); - if (ud == -1 && settings.downapp.src) load(settings.downapp.src); + if (lr == -1 && settings.leftapp && settings.leftapp.src){ if (!storage.read(settings.leftapp.src)) reset("leftapp"); else load(settings.leftapp.src); } + if (lr == 1 && settings.rightapp && settings.rightapp.src){ if (!storage.read(settings.rightapp.src)) reset("rightapp"); else load(settings.rightapp.src); } + if (ud == 1 && settings.upapp && settings.upapp.src){ if (!storage.read(settings.upapp.src)) reset("upapp"); else load(settings.upapp.src); } + if (ud == -1 && settings.downapp && settings.downapp.src){ if (!storage.read(settings.downapp.src)) reset("downapp"); else load(settings.downapp.src); } }); }