From 14a37529c9bacb3506e24e43b15cd001d70092c4 Mon Sep 17 00:00:00 2001 From: Rob Pilling Date: Wed, 3 Jul 2024 12:07:45 +0100 Subject: [PATCH 1/3] swiperclocklaunch: fix detection of clock --- apps/swiperclocklaunch/ChangeLog | 1 + apps/swiperclocklaunch/boot.js | 15 +++++---------- apps/swiperclocklaunch/metadata.json | 2 +- 3 files changed, 7 insertions(+), 11 deletions(-) diff --git a/apps/swiperclocklaunch/ChangeLog b/apps/swiperclocklaunch/ChangeLog index a341ee512..06c7577bc 100644 --- a/apps/swiperclocklaunch/ChangeLog +++ b/apps/swiperclocklaunch/ChangeLog @@ -4,3 +4,4 @@ 0.04: Update to work with new 'fast switch' clock->launcher functionality 0.05: Keep track of event listeners we "overwrite", and remove them at the start of setUI 0.06: Handle apps that call setUI({}) to reset +0.07: Use a more reliable method of detecting a clock diff --git a/apps/swiperclocklaunch/boot.js b/apps/swiperclocklaunch/boot.js index bb033891e..8f5408ee5 100644 --- a/apps/swiperclocklaunch/boot.js +++ b/apps/swiperclocklaunch/boot.js @@ -8,19 +8,14 @@ sui(mode,cb); oldSwipe = Bangle.swipeHandler; - if ("object"==typeof mode) mode = mode.mode; - if (!mode) return; - - if (mode.startsWith("clock")) { + if (Bangle.CLOCK) { // clock -> launcher Bangle.swipeHandler = dir => { if (dir<0) Bangle.showLauncher(); }; Bangle.on("swipe", Bangle.swipeHandler); - } else { - if (global.__FILE__ && __FILE__.endsWith(".app.js") && (require("Storage").readJSON(__FILE__.slice(0,-6)+"info",1)||{}).type=="launch") { - // launcher -> clock - Bangle.swipeHandler = dir => { if (dir>0) load(); }; - Bangle.on("swipe", Bangle.swipeHandler); - } + } else if (global.__FILE__ && __FILE__.endsWith(".app.js") && (require("Storage").readJSON(__FILE__.slice(0,-6)+"info",1)||{}).type==="launch") { + // launcher -> clock + Bangle.swipeHandler = dir => { if (dir>0) load(); }; + Bangle.on("swipe", Bangle.swipeHandler); } }; })(); diff --git a/apps/swiperclocklaunch/metadata.json b/apps/swiperclocklaunch/metadata.json index 436d36868..d474b38e3 100644 --- a/apps/swiperclocklaunch/metadata.json +++ b/apps/swiperclocklaunch/metadata.json @@ -1,7 +1,7 @@ { "id": "swiperclocklaunch", "name": "Swiper Clock Launch", - "version": "0.06", + "version": "0.07", "description": "Navigate between clock and launcher with Swipe action", "icon": "swiperclocklaunch.png", "type": "bootloader", From 72658828ac386fdecf6ff3e1ff40d501ec330aab Mon Sep 17 00:00:00 2001 From: Rob Pilling Date: Thu, 4 Jul 2024 12:17:45 +0100 Subject: [PATCH 2/3] settings: handle fastload by ensuring `const`s are deleted --- apps/setting/ChangeLog | 1 + apps/setting/metadata.json | 2 +- apps/setting/settings.js | 2 ++ 3 files changed, 4 insertions(+), 1 deletion(-) diff --git a/apps/setting/ChangeLog b/apps/setting/ChangeLog index 5993656b0..3be7db96a 100644 --- a/apps/setting/ChangeLog +++ b/apps/setting/ChangeLog @@ -81,3 +81,4 @@ of 'Select Clock' 0.70: Fix load() typo 0.71: Minor code improvements 0.72: Add setting for configuring BLE privacy +0.73: Fix `const` bug / work with fastload diff --git a/apps/setting/metadata.json b/apps/setting/metadata.json index a50aba27e..44774dc08 100644 --- a/apps/setting/metadata.json +++ b/apps/setting/metadata.json @@ -1,7 +1,7 @@ { "id": "setting", "name": "Settings", - "version": "0.72", + "version": "0.73", "description": "A menu for setting up Bangle.js", "icon": "settings.png", "tags": "tool,system", diff --git a/apps/setting/settings.js b/apps/setting/settings.js index 3a3f53469..b348e00d5 100644 --- a/apps/setting/settings.js +++ b/apps/setting/settings.js @@ -1,3 +1,4 @@ +{ Bangle.loadWidgets(); Bangle.drawWidgets(); @@ -984,3 +985,4 @@ function showTouchscreenCalibration() { } showMainMenu(); +} From 89f39af20037315540da05d9a205dbe7c7e7127e Mon Sep 17 00:00:00 2001 From: Rob Pilling Date: Thu, 4 Jul 2024 12:18:30 +0100 Subject: [PATCH 3/3] swiperclocklaunch: remove `swipeHandler`, operate outside of `setUI` --- apps/swiperclocklaunch/boot.js | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/apps/swiperclocklaunch/boot.js b/apps/swiperclocklaunch/boot.js index 8f5408ee5..cbb2a4f61 100644 --- a/apps/swiperclocklaunch/boot.js +++ b/apps/swiperclocklaunch/boot.js @@ -3,19 +3,21 @@ var oldSwipe; Bangle.setUI = function(mode, cb) { - if (oldSwipe && oldSwipe !== Bangle.swipeHandler) + if (oldSwipe) { Bangle.removeListener("swipe", oldSwipe); + oldSwipe = undefined; + } + sui(mode,cb); - oldSwipe = Bangle.swipeHandler; if (Bangle.CLOCK) { // clock -> launcher - Bangle.swipeHandler = dir => { if (dir<0) Bangle.showLauncher(); }; - Bangle.on("swipe", Bangle.swipeHandler); + oldSwipe = dir => { if (dir<0) Bangle.showLauncher(); }; + Bangle.on("swipe", oldSwipe); } else if (global.__FILE__ && __FILE__.endsWith(".app.js") && (require("Storage").readJSON(__FILE__.slice(0,-6)+"info",1)||{}).type==="launch") { // launcher -> clock - Bangle.swipeHandler = dir => { if (dir>0) load(); }; - Bangle.on("swipe", Bangle.swipeHandler); + oldSwipe = dir => { if (dir>0) load(); }; + Bangle.on("swipe", oldSwipe); } }; })();