From 80f14b490d8719eb8336e208d6e7d8937ac7a20f Mon Sep 17 00:00:00 2001 From: Gordon Williams Date: Tue, 9 Apr 2024 14:07:35 +0100 Subject: [PATCH 1/4] If we have the info, default to Sort by Favourited - fix https://github.com/espruino/BangleApps/issues/3329 --- core | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/core b/core index b4224cd34..1deedec58 160000 --- a/core +++ b/core @@ -1 +1 @@ -Subproject commit b4224cd348304016dc42d5dda6501e4e95c6b5ce +Subproject commit 1deedec58cdb854da978e54f10e7e4755b35302e From 0f76267123586f62819289b539da124dfed55abc Mon Sep 17 00:00:00 2001 From: Gordon Williams Date: Tue, 9 Apr 2024 14:07:58 +0100 Subject: [PATCH 2/4] add contribution notice --- CONTRIBUTING.md | 9 +++++++++ 1 file changed, 9 insertions(+) create mode 100644 CONTRIBUTING.md diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md new file mode 100644 index 000000000..69aa0ab3d --- /dev/null +++ b/CONTRIBUTING.md @@ -0,0 +1,9 @@ +Contributing to BangleApps +========================== + +https://github.com/espruino/BangleApps?tab=readme-ov-file#getting-started +has some links to tutorials on developing for Bangle.js. + +Please check out the Wiki to get an idea what sort of things +we'd like to see for contributed apps: https://github.com/espruino/BangleApps/wiki/App-Contribution + From 160132d461a845bbc0918ac924d3565c13e67442 Mon Sep 17 00:00:00 2001 From: Gordon Williams Date: Tue, 9 Apr 2024 14:13:38 +0100 Subject: [PATCH 3/4] update webtools --- webtools | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/webtools b/webtools index 3a5543818..8150b3617 160000 --- a/webtools +++ b/webtools @@ -1 +1 @@ -Subproject commit 3a55438189240c0f40cf280128d663806d04a5be +Subproject commit 8150b3617766689ee77ce085c60926cc9040d6fb From 12716a172a7e108be483e13af2f7a4f445627053 Mon Sep 17 00:00:00 2001 From: Gordon Williams Date: Thu, 11 Apr 2024 10:18:59 +0100 Subject: [PATCH 4/4] bthome 0.04: Fix duplicate button on edit->save --- apps/bthome/ChangeLog | 3 ++- apps/bthome/metadata.json | 2 +- apps/bthome/settings.js | 19 ++++++++++++++----- 3 files changed, 17 insertions(+), 7 deletions(-) diff --git a/apps/bthome/ChangeLog b/apps/bthome/ChangeLog index f5ea96ca1..ca91e0f34 100644 --- a/apps/bthome/ChangeLog +++ b/apps/bthome/ChangeLog @@ -1,4 +1,5 @@ 0.01: New App! 0.02: Fix double-button press if you press the next button within 30s (#3243) 0.03: Cope with identical duplicate buttons (fix #3260) - Set 'n' for buttons in Bangle.btHomeData correctly (avoids adding extra buttons on end of advertising) \ No newline at end of file + Set 'n' for buttons in Bangle.btHomeData correctly (avoids adding extra buttons on end of advertising) +0.04: Fix duplicate button on edit->save \ No newline at end of file diff --git a/apps/bthome/metadata.json b/apps/bthome/metadata.json index acc1f5b39..1ccc19316 100644 --- a/apps/bthome/metadata.json +++ b/apps/bthome/metadata.json @@ -1,7 +1,7 @@ { "id": "bthome", "name": "BTHome", "shortName":"BTHome", - "version":"0.03", + "version":"0.04", "description": "Allow your Bangle to advertise with BTHome and send events to Home Assistant via Bluetooth", "icon": "icon.png", "type": "app", diff --git a/apps/bthome/settings.js b/apps/bthome/settings.js index 4c84d99de..1bdcb270d 100644 --- a/apps/bthome/settings.js +++ b/apps/bthome/settings.js @@ -1,7 +1,11 @@ (function(back) { - var settings = require("Storage").readJSON("bthome.json",1)||{}; - if (!(settings.buttons instanceof Array)) - settings.buttons = []; + var settings; + + function loadSettings() { + settings = require("Storage").readJSON("bthome.json",1)||{}; + if (!(settings.buttons instanceof Array)) + settings.buttons = []; + } function saveSettings() { require("Storage").writeJSON("bthome.json",settings) @@ -15,7 +19,10 @@ } var actions = ["press","double_press","triple_press","long_press","long_double_press","long_triple_press"]; var menu = { - "":{title:isNew ? /*LANG*/"New Button" : /*LANG*/"Edit Button", back:showMenu}, + "":{title:isNew ? /*LANG*/"New Button" : /*LANG*/"Edit Button", back: () => { + loadSettings(); // revert changes + showMenu(); + }}, /*LANG*/"Icon" : { value : "\0"+require("icons").getIcon(button.icon), onchange : () => { @@ -49,7 +56,7 @@ onchange : v => button.n=v }, /*LANG*/"Save" : () => { - settings.buttons.push(button); + if (isNew) settings.buttons.push(button); saveSettings(); showMenu(); } @@ -94,5 +101,7 @@ }); E.showMenu(menu); } + + loadSettings(); showMenu(); }) \ No newline at end of file