From 8bdc54dd4f47df510a1de6b5356cedb53b78b4e4 Mon Sep 17 00:00:00 2001 From: Erik Andresen Date: Wed, 15 Nov 2023 21:35:37 +0100 Subject: [PATCH 1/5] alarm: defaultDeleteExpiredTimers detection Fix new alarm when selectedAlarm is undefined --- apps/alarm/ChangeLog | 1 + apps/alarm/app.js | 2 +- apps/alarm/metadata.json | 2 +- 3 files changed, 3 insertions(+), 2 deletions(-) diff --git a/apps/alarm/ChangeLog b/apps/alarm/ChangeLog index a41167e76..4aa6703f6 100644 --- a/apps/alarm/ChangeLog +++ b/apps/alarm/ChangeLog @@ -47,3 +47,4 @@ 0.42: Fix date not getting saved in event edit menu when tapping Confirm 0.43: New settings: Show confirm, Show Overflow, Show Type. 0.44: Add "delete timer after expiration" setting to events. +0.55: Fix new alarm when selectedAlarm is undefined diff --git a/apps/alarm/app.js b/apps/alarm/app.js index 52dbe40fd..54cdbd309 100644 --- a/apps/alarm/app.js +++ b/apps/alarm/app.js @@ -106,7 +106,7 @@ function showEditAlarmMenu(selectedAlarm, alarmIndex, withDate) { var isNew = alarmIndex === undefined; var alarm = require("sched").newDefaultAlarm(); - if (withDate || selectedAlarm.date) { + if (withDate || (selectedAlarm && selectedAlarm.date)) { alarm.del = require("sched").getSettings().defaultDeleteExpiredTimers; } alarm.dow = handleFirstDayOfWeek(alarm.dow); diff --git a/apps/alarm/metadata.json b/apps/alarm/metadata.json index 31a3e5bf0..680c5b7bd 100644 --- a/apps/alarm/metadata.json +++ b/apps/alarm/metadata.json @@ -2,7 +2,7 @@ "id": "alarm", "name": "Alarms & Timers", "shortName": "Alarms", - "version": "0.44", + "version": "0.45", "description": "Set alarms and timers on your Bangle", "icon": "app.png", "tags": "tool,alarm", From fc00a21a91d8bcd4360203da88ea5b47eb13f477 Mon Sep 17 00:00:00 2001 From: Erik Andresen Date: Wed, 15 Nov 2023 21:41:31 +0100 Subject: [PATCH 2/5] alarm: Fix typo in changelog --- apps/alarm/ChangeLog | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/alarm/ChangeLog b/apps/alarm/ChangeLog index 4aa6703f6..b2cd6cf16 100644 --- a/apps/alarm/ChangeLog +++ b/apps/alarm/ChangeLog @@ -47,4 +47,4 @@ 0.42: Fix date not getting saved in event edit menu when tapping Confirm 0.43: New settings: Show confirm, Show Overflow, Show Type. 0.44: Add "delete timer after expiration" setting to events. -0.55: Fix new alarm when selectedAlarm is undefined +0.45: Fix new alarm when selectedAlarm is undefined From df783818239e764785cab9c7c43c90ac943781a9 Mon Sep 17 00:00:00 2001 From: Erik Andresen Date: Thu, 16 Nov 2023 19:30:26 +0100 Subject: [PATCH 3/5] settings: Fix syntax error --- apps/setting/ChangeLog | 2 +- apps/setting/metadata.json | 2 +- apps/setting/settings.js | 14 +++++++------- 3 files changed, 9 insertions(+), 9 deletions(-) diff --git a/apps/setting/ChangeLog b/apps/setting/ChangeLog index b56a1ced5..a8285c91f 100644 --- a/apps/setting/ChangeLog +++ b/apps/setting/ChangeLog @@ -76,4 +76,4 @@ of 'Select Clock' 0.66: Fix LCD calibration bug where it would come on again after the calibration was done. 0.67: Rename 'Wake on BTN1/Touch' to 'Wake on Button/Tap' on Bangle.js 2 - +0.68: Fix syntax error diff --git a/apps/setting/metadata.json b/apps/setting/metadata.json index 79148c450..d7c442fb6 100644 --- a/apps/setting/metadata.json +++ b/apps/setting/metadata.json @@ -1,7 +1,7 @@ { "id": "setting", "name": "Settings", - "version": "0.67", + "version": "0.68", "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 8922388dd..a259a7862 100644 --- a/apps/setting/settings.js +++ b/apps/setting/settings.js @@ -459,13 +459,13 @@ function showLCDMenu() { settings.options.wakeOnBTN1 = !settings.options.wakeOnBTN1; updateOptions(); } - } - }, - /*LANG*/'Wake on Tap': { - value: settings.options.wakeOnTouch, - onchange: () => { - settings.options.wakeOnTouch = !settings.options.wakeOnTouch; - updateOptions(); + }, + /*LANG*/'Wake on Tap': { + value: settings.options.wakeOnTouch, + onchange: () => { + settings.options.wakeOnTouch = !settings.options.wakeOnTouch; + updateOptions(); + } } }); else From 61804505d7c259e964867d0a93335b599e227957 Mon Sep 17 00:00:00 2001 From: Erik Andresen Date: Thu, 16 Nov 2023 21:39:37 +0100 Subject: [PATCH 4/5] waypoints fixes - Do not register as type waypoint - show in launcher - Fixes for Bangle.js 1 - Fixes for not installed textinput --- apps/gpsnav/metadata.json | 2 +- apps/gpstrek/metadata.json | 2 +- apps/kitchen/metadata.json | 2 +- apps/speedalt/metadata.json | 2 +- apps/speedalt2/metadata.json | 2 +- apps/waypointer/metadata.json | 2 +- apps/waypoints/ChangeLog | 2 + apps/waypoints/metadata.json | 3 +- apps/waypoints/waypoints.app.js | 65 ++++++++++++++++----------------- apps/wpmoto/metadata.json | 2 +- 10 files changed, 42 insertions(+), 42 deletions(-) diff --git a/apps/gpsnav/metadata.json b/apps/gpsnav/metadata.json index bc46a733c..01092f1c1 100644 --- a/apps/gpsnav/metadata.json +++ b/apps/gpsnav/metadata.json @@ -8,7 +8,7 @@ "tags": "tool,outdoors,gps", "supports": ["BANGLEJS","BANGLEJS2"], "readme": "README.md", - "dependencies" : { "waypoints":"type" }, + "dependencies" : { "waypoints":"app" }, "storage": [ {"name":"gpsnav.app.js","url":"app.min.js","supports":["BANGLEJS"]}, {"name":"gpsnav.app.js","url":"app_b2.js","supports":["BANGLEJS2"]}, diff --git a/apps/gpstrek/metadata.json b/apps/gpstrek/metadata.json index ec953e6e7..791360001 100644 --- a/apps/gpstrek/metadata.json +++ b/apps/gpstrek/metadata.json @@ -8,7 +8,7 @@ "tags": "tool,outdoors,gps", "supports": ["BANGLEJS2"], "readme": "README.md", - "dependencies" : { "waypoints":"type" }, + "dependencies" : { "waypoints":"app" }, "interface" : "interface.html", "storage": [ {"name":"gpstrek.app.js","url":"app.js"}, diff --git a/apps/kitchen/metadata.json b/apps/kitchen/metadata.json index 9c9f7b2ec..b084fa157 100644 --- a/apps/kitchen/metadata.json +++ b/apps/kitchen/metadata.json @@ -8,7 +8,7 @@ "tags": "tool,outdoors,gps", "supports": ["BANGLEJS"], "readme": "README.md", - "dependencies" : { "waypoints":"type" }, + "dependencies" : { "waypoints":"app" }, "storage": [ {"name":"kitchen.app.js","url":"kitchen.app.js"}, {"name":"stepo2.kit.js","url":"stepo2.kit.js"}, diff --git a/apps/speedalt/metadata.json b/apps/speedalt/metadata.json index 1ecb2b562..255a0e550 100644 --- a/apps/speedalt/metadata.json +++ b/apps/speedalt/metadata.json @@ -8,7 +8,7 @@ "type": "app", "tags": "tool,outdoors", "supports": ["BANGLEJS","BANGLEJS2"], - "dependencies" : { "waypoints":"type" }, + "dependencies" : { "waypoints":"app" }, "readme": "README.md", "allow_emulator": true, "storage": [ diff --git a/apps/speedalt2/metadata.json b/apps/speedalt2/metadata.json index 2c8d37f79..1b0ba06bb 100644 --- a/apps/speedalt2/metadata.json +++ b/apps/speedalt2/metadata.json @@ -8,7 +8,7 @@ "type": "app", "tags": "tool,outdoors", "supports": ["BANGLEJS"], - "dependencies" : { "waypoints":"type" }, + "dependencies" : { "waypoints":"app" }, "readme": "README.md", "allow_emulator": true, "storage": [ diff --git a/apps/waypointer/metadata.json b/apps/waypointer/metadata.json index b8f28fbb9..189639d61 100644 --- a/apps/waypointer/metadata.json +++ b/apps/waypointer/metadata.json @@ -6,7 +6,7 @@ "icon": "waypointer.png", "tags": "tool,outdoors,gps", "supports": ["BANGLEJS", "BANGLEJS2"], - "dependencies" : { "waypoints":"type", "magnav" : "app" }, + "dependencies" : { "waypoints":"app", "magnav" : "app" }, "readme": "README.md", "storage": [ {"name":"waypointer.app.js","url":"app.js"}, diff --git a/apps/waypoints/ChangeLog b/apps/waypoints/ChangeLog index fb5712587..ed3d1bc9b 100644 --- a/apps/waypoints/ChangeLog +++ b/apps/waypoints/ChangeLog @@ -1,2 +1,4 @@ 0.01: New App! 0.02: Merge waypoint_editor here, so waypoints can be edited on device, too. +0.03: Do not register as type waypoint - show in launcher + Fixes for Bangle.js 1 & not installed textinput diff --git a/apps/waypoints/metadata.json b/apps/waypoints/metadata.json index db5b2e627..b2121e00d 100644 --- a/apps/waypoints/metadata.json +++ b/apps/waypoints/metadata.json @@ -1,10 +1,9 @@ { "id": "waypoints", "name": "Waypoints", - "version":"0.02", + "version":"0.03", "description": "Provides 'waypoints.json' used by various navigation apps, as well as a way to edit it from the App Loader or from the device", "icon": "app.png", "tags": "tool,outdoors,gps", - "type": "waypoints", "supports" : ["BANGLEJS","BANGLEJS2"], "readme": "README.md", "interface": "interface.html", diff --git a/apps/waypoints/waypoints.app.js b/apps/waypoints/waypoints.app.js index cbdcdbfd3..1da671ced 100644 --- a/apps/waypoints/waypoints.app.js +++ b/apps/waypoints/waypoints.app.js @@ -23,20 +23,27 @@ function writeWP() { } function mainMenu() { + let textInputInstalled = true; + try { + require("textinput") + } catch(err) { + textInputInstalled = false; + } var menu = { - "< Back" : Bangle.load + "< Back" : () => load() }; - if (Object.keys(wp).length==0) { - //Object.assign(menu, {"NO WPs":""}); - print("(no waypoints)"); - } else for (let id in wp) { + for (let id in wp) { let i = id; menu[wp[id]["name"]]=()=>{ show(i); }; } - menu["Add"]=addCard; + if (textInputInstalled) { + menu["Add"]=addCard; + } menu["Remove"]=removeCard; menu["Format"]=setFormat; - menu["Mark GPS"]=markGps; + if (textInputInstalled) { + menu["Mark GPS"]=markGps; + } g.clear(); E.showMenu(menu); } @@ -153,16 +160,14 @@ function lon(x) { } function show(pin) { - print(pin); var i = wp[pin]; - var l = i["name"] + "\n" + lat(i["lat"]) + "\n" + lon(i["lon"]); - var la = new Layout ({ - type:"v", c: [ - {type:"txt", font:"10%", pad:1, fillx:1, filly:1, label: l}, - {type:"btn", font:"10%", pad:1, fillx:1, filly:1, label:"OK", cb:l=>{mainMenu();}} - ], lazy:true}); - g.clear(); - la.render(); + var l = lat(i["lat"]) + "\n" + lon(i["lon"]); + E.showPrompt(l,{ + title:i["name"], + buttons : {"Ok":true} + }).then(function(v) { + mainMenu(); + }); } function showNumpad(text, key_, callback) { @@ -231,22 +236,17 @@ function removeCard() { wp.forEach((val, card) => { const name = wp[card].name; menu[name]=()=>{ - E.showMenu(); - var confirmRemove = new Layout ( - {type:"v", c: [ - {type:"txt", font:"15%", pad:1, fillx:1, filly:1, label:"Delete"}, - {type:"txt", font:"15%", pad:1, fillx:1, filly:1, label:name}, - {type:"h", c: [ - {type:"btn", font:"15%", pad:1, fillx:1, filly:1, label: "YES", cb:l=>{ - wp.splice(card, 1); - writeWP(); - mainMenu(); - }}, - {type:"btn", font:"15%", pad:1, fillx:1, filly:1, label: " NO", cb:l=>{mainMenu();}} - ]} - ], lazy:true}); - g.clear(); - confirmRemove.render(); + E.showPrompt(name,{ + title:"Delete", + }).then(function(v) { + if (v) { + wp.splice(card, 1); + writeWP(); + mainMenu(); + } else { + mainMenu(); + } + }); }; }); } @@ -345,5 +345,4 @@ function addCard() { } g.reset(); -Bangle.setUI(); mainMenu(); diff --git a/apps/wpmoto/metadata.json b/apps/wpmoto/metadata.json index 32c41d757..eabb17667 100644 --- a/apps/wpmoto/metadata.json +++ b/apps/wpmoto/metadata.json @@ -9,7 +9,7 @@ "supports": ["BANGLEJS","BANGLEJS2"], "screenshots": [{"url":"screenshot.png"},{"url":"screenshot-menu.png"},{"url":"screenshot-delete.png"}], "readme": "README.md", - "dependencies" : { "waypoints":"type" }, + "dependencies" : { "waypoints":"app" }, "storage": [ {"name":"wpmoto.app.js","url":"app.js"}, {"name":"wpmoto.img","url":"icon.js","evaluate":true} From 61b207e0fa8fb25ff062d3e89f0d59ca3c725cbd Mon Sep 17 00:00:00 2001 From: Erik Andresen Date: Fri, 17 Nov 2023 04:09:45 +0100 Subject: [PATCH 5/5] waypoints: Fixes for Bangle.js 1 --- apps/waypoints/waypoints.app.js | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/apps/waypoints/waypoints.app.js b/apps/waypoints/waypoints.app.js index 1da671ced..fec1af993 100644 --- a/apps/waypoints/waypoints.app.js +++ b/apps/waypoints/waypoints.app.js @@ -1,6 +1,7 @@ /* Thanks to pinsafe from BangleApps repository */ var Layout = require("Layout"); +const BANGLEJS2 = process.env.HWVERSION == 2; // check for bangle 2 const W = g.getWidth(); const H = g.getHeight(); @@ -36,7 +37,7 @@ function mainMenu() { let i = id; menu[wp[id]["name"]]=()=>{ show(i); }; } - if (textInputInstalled) { + if (textInputInstalled && BANGLEJS2) { menu["Add"]=addCard; } menu["Remove"]=removeCard;