diff --git a/apps/edgeclk/ChangeLog b/apps/edgeclk/ChangeLog index 2a37193a3..da75dfbae 100644 --- a/apps/edgeclk/ChangeLog +++ b/apps/edgeclk/ChangeLog @@ -1 +1,2 @@ 0.01: Initial release. +0.02: Fix reset of progress bars on midnight. Fix display of 100k+ steps. diff --git a/apps/edgeclk/app-icon.js b/apps/edgeclk/app-icon.js index 301abc93f..b81918b73 100644 --- a/apps/edgeclk/app-icon.js +++ b/apps/edgeclk/app-icon.js @@ -1 +1 @@ -require("heatshrink").decompress(atob("mEwgIJGtgEDkEAn0b3P8uF8kUK1P+sFclQFCuFMkULCIMgvk+GRH/ABQRF5feGwMH7/KjcAmUGqfLzYLBg1fBYU+s1f/QRDofbDog7Xj8P/EH4f+Ao/5w4FBg8MgOB4eOAo8AgIFCDoIFJhk4Aok5DogFEGoIFBGoIdDAozgLOKNwAovv33wg0f/AFFsGGmEGwf4seOmCnBuALCg/YqFv30wgGf7AFEA")) \ No newline at end of file +require("heatshrink").decompress(atob("mEwgMgBAoFEuADCgP8sAFD/wLE/wXDCIIjFAAv/ABQRF5fegEPgfe5UbgEJgVS5ebBYMyr36BYdC7YXEGq4AFj8f/ED8f+ApHjAoMHjkA8HjxwFIgAFCC4IFJjk4AoodEAogXBAoI1BDoYFGL5Z3XmHv33whkfuAFE/Fgw0whuD/Fjz0wh/fuALCh/Y/Fv30wgOf7AFE")) diff --git a/apps/edgeclk/app.js b/apps/edgeclk/app.js index dfc847b33..9f28e2588 100644 --- a/apps/edgeclk/app.js +++ b/apps/edgeclk/app.js @@ -135,7 +135,8 @@ g.setFontAlign(-1, 1); // left bottom const steps = Bangle.getHealthStatus('day').steps; - g.drawString(steps.toString().padEnd(5, '_'), iconSize[0] + 6, g.getHeight() - 1, true); + g.drawString((steps < 100000 ? steps.toString() : ((steps / 1000).toFixed(0) + 'K')).padEnd(5, '_'), + iconSize[0] + 6, g.getHeight() - 1, true); if (onlyCount === true) { return; @@ -169,17 +170,22 @@ }; const drawBar = function (top, progress) { - g.drawRect(0, top, g.getWidth()-1, top + 5); - g.drawRect(1, top+1, g.getWidth()-2, top + 4); - const barLen = progress > 1 ? g.getWidth() : g.getWidth() * progress; - g.drawLine(2, top+2, barLen, top + 2); - g.drawLine(2, top+3, barLen, top + 3); + // draw frame + g.drawRect(0, top, g.getWidth() - 1, top + 5); + g.drawRect(1, top + 1, g.getWidth() - 2, top + 4); + // clear bar area + g.clearRect(2, top + 2, g.getWidth() - 3, top + 3); + // draw bar + const barLen = progress >= 1 ? g.getWidth() : (g.getWidth() - 4) * progress; + if (barLen < 1) return; + g.drawLine(2, top + 2, barLen + 2, top + 2); + g.drawLine(2, top + 3, barLen + 2, top + 3); }; const drawLine = function (top) { const width = g.getWidth(); - g.drawLine(0, top+2, width, top + 2); - g.drawLine(0, top+3, width, top + 3); + g.drawLine(0, top + 2, width, top + 2); + g.drawLine(0, top + 3, width, top + 3); }; @@ -251,7 +257,7 @@ // This is for original Bangle.js; version two has always-on display: Bangle.on('lcdPower', onLcdPower); - // Midnight event is triggered qhen health data is reset and a new day begins: + // Midnight event is triggered when health data is reset and a new day begins: Bangle.on('midnight', onMidnight); // Health data is published via 10 mins interval: diff --git a/apps/edgeclk/app.png b/apps/edgeclk/app.png index 90fbec3f3..3a0bbe130 100644 Binary files a/apps/edgeclk/app.png and b/apps/edgeclk/app.png differ diff --git a/apps/edgeclk/metadata.json b/apps/edgeclk/metadata.json index ac12a5f62..3f72be77a 100644 --- a/apps/edgeclk/metadata.json +++ b/apps/edgeclk/metadata.json @@ -2,7 +2,7 @@ "id": "edgeclk", "name": "Edge Clock", "shortName": "Edge Clock", - "version": "0.01", + "version": "0.02", "description": "Crisp clock with perfect readability.", "readme": "README.md", "icon": "app.png",