diff --git a/apps.json b/apps.json index 43c7a04a1..93b1cf44e 100644 --- a/apps.json +++ b/apps.json @@ -169,7 +169,7 @@ { "id": "setting", "name": "Settings", - "version": "0.40", + "version": "0.41", "description": "A menu for setting up Bangle.js", "icon": "settings.png", "tags": "tool,system", diff --git a/apps/setting/ChangeLog b/apps/setting/ChangeLog index 4d9881613..77c7b2040 100644 --- a/apps/setting/ChangeLog +++ b/apps/setting/ChangeLog @@ -43,3 +43,4 @@ 0.38: Restructed menus as per forum discussion 0.39: Fix misbehaving debug info option 0.40: Moved off into Utils, put System after Apps +0.41: Stop users disabling all wake-up methods and locking themselves out (fix #1272) diff --git a/apps/setting/README.md b/apps/setting/README.md index 305c0b610..42e3939fb 100644 --- a/apps/setting/README.md +++ b/apps/setting/README.md @@ -31,9 +31,12 @@ This is Bangle.js's settings menu * **LCD Brightness** set how bright the LCD is. Due to hardware limitations in the LCD backlight, you may notice flicker if the LCD is not at 100% brightness. * **LCD Timeout** how long should the LCD stay on for if no activity is detected. 0=stay on forever * **Wake on X** should the given activity wake up the Bangle.js LCD? + * On Bangle.js 2 when locked the touchscreen is turned off to save power. Because of this, + `Wake on Touch` actually uses the accelerometer, and you need to actually tap the display to wake Bangle.js. * **Twist X** these options adjust the sensitivity of `Wake on Twist` to ensure Bangle.js wakes up with just the right amount of wrist movement. + ## Quiet Mode Quiet Mode is a hint to apps and widgets that you do not want to be disturbed. diff --git a/apps/setting/settings.js b/apps/setting/settings.js index 514adf1dd..a32b83d3c 100644 --- a/apps/setting/settings.js +++ b/apps/setting/settings.js @@ -11,8 +11,18 @@ function updateSettings() { } function updateOptions() { + var o = settings.options; + // Check to make sure nobody disabled all wakeups and locked themselves out! + if (BANGLEJS2) { + if (!(o.wakeOnBTN1||o.wakeOnFaceUp||o.wakeOnTouch||o.wakeOnTwist)) { + o.wakeOnBTN1 = true; + } + } else { + if (!(o.wakeOnBTN1||o.wakeOnBTN2||o.wakeOnBTN3||o.wakeOnFaceUp||o.wakeOnTouch||o.wakeOnTwist)) + o.wakeOnBTN2 = true; + } updateSettings(); - Bangle.setOptions(settings.options) + Bangle.setOptions(o) } function gToInternal(g) {