From ea4187c00ea08fd36e22fed20d188cfa909e8ef2 Mon Sep 17 00:00:00 2001 From: frigis1 <63980066+frigis1@users.noreply.github.com> Date: Sat, 26 Mar 2022 12:11:26 -0700 Subject: [PATCH] Update boot.js --- apps/quicklaunch/boot.js | 43 +++++++++++++++++++++++++++++++++++----- 1 file changed, 38 insertions(+), 5 deletions(-) diff --git a/apps/quicklaunch/boot.js b/apps/quicklaunch/boot.js index c3e213d0c..33c1048b3 100644 --- a/apps/quicklaunch/boot.js +++ b/apps/quicklaunch/boot.js @@ -9,6 +9,18 @@ settings["rightapp"] = {"name":"(none)"}; require("Storage").write("quicklaunch.json",settings); } + if (!settings.upapp) { + settings["upapp"] = {"name":"(none)"}; + require("Storage").write("quicklaunch.json",settings); + } + if (!settings.downapp) { + settings["downapp"] = {"name":"(none)"}; + require("Storage").write("quicklaunch.json",settings); + } + if (!settings.tapapp) { + settings["tapapp"] = {"name":"(none)"}; + require("Storage").write("quicklaunch.json",settings); + } var sui = Bangle.setUI; Bangle.setUI = function(mode, cb) { @@ -16,10 +28,31 @@ if(!mode) return; if ("object"==typeof mode) mode = mode.mode; if (!mode.startsWith("clock")) return; - Bangle.swipeHandler = dir => { - if ((dir<0) && (settings.leftapp.src)) load(settings.leftapp.src); - if ((dir>0) && (settings.rightapp.src)) load(settings.rightapp.src); - }; - Bangle.on("swipe", Bangle.swipeHandler); + + function tap() { + if (settings.tapapp.src) load (settings.tapapp.src); + } + + let drag; + let e; + + Bangle.on("touch",tap); + Bangle.on("drag", e => { + if (!drag) { // start dragging + drag = {x: e.x, y: e.y}; + } else if (!e.b) { // released + const dx = e.x-drag.x, dy = e.y-drag.y; + drag = null; + if ((Math.abs(dx)>Math.abs(dy)+10) && (settings.leftapp.src)) { + // horizontal + load(dx>0 ? settings.rightapp.src : settings.leftapp.src); + } + else if (Math.abs(dy)>Math.abs(dx)+10) { + // vertical + load(dy>0 ? settings.downapp.src : settings.upapp.src); + } + } + }); + }; })();