diff --git a/apps/score/score.app.js b/apps/score/score.app.js index d3bc5d1e1..3a9b71505 100644 --- a/apps/score/score.app.js +++ b/apps/score/score.app.js @@ -30,6 +30,18 @@ function getSecondsTime() { return Math.floor(getTime() * 1000); } +function setupDisplay() { + // make sure LCD on Bangle.js 1 stays on + if (isBangle1) { + if (settings.keepDisplayOn) { + Bangle.setLCDTimeout(0); + Bangle.setLCDPower(true); + } else { + Bangle.setLCDTimeout(10); + } + } +} + function setupInputWatchers(init) { Bangle.setUI('updown', v => { if (v) { @@ -100,6 +112,7 @@ function showSettingsMenu() { draw(); + setupDisplay(); setupInputWatchers(); }, function (msg) { switch (msg) { @@ -459,12 +472,7 @@ function draw() { g.flip(); } -// make sure LCD on Bangle.js 1 stays on -if (isBangle1) { - Bangle.setLCDTimeout(0); - Bangle.setLCDPower(true); -} - +setupDisplay(); setupInputWatchers(true); setupMatch(); draw(); diff --git a/apps/score/score.settings.js b/apps/score/score.settings.js index 982652b94..88e367821 100644 --- a/apps/score/score.settings.js +++ b/apps/score/score.settings.js @@ -7,6 +7,9 @@ if (settings.mirrorScoreButtons == null) { settings.mirrorScoreButtons = false; } + if (settings.keepDisplayOn == null) { + settings.keepDisplayOn = true; + } } if (settings.winSets == null) { settings.winSets = 2; @@ -91,10 +94,12 @@ return function() { changed = true; let mirrorScoreButtons = settings.mirrorScoreButtons; + let keepDisplayOn = settings.keepDisplayOn; settings = fillSettingsWithDefaults(presets[presetNames[i]]); settings.mirrorScoreButtons = mirrorScoreButtons; + settings.keepDisplayOn = keepDisplayOn; save(settings); ret(true); }; @@ -119,6 +124,11 @@ format: m => offon[~~m], onchange: m => setAndSave('mirrorScoreButtons', m, true), }; + m['Keep display on'] = { + value: settings.keepDisplayOn, + format: m => offon[~~m], + onchange: m => setAndSave('keepDisplayOn', m, true), + } } m['Sets to win'] = { value: settings.winSets,