From dd8040af5d6fb9f3a6d08e109d2d600fbf87cf8c Mon Sep 17 00:00:00 2001 From: Marco H Date: Wed, 4 Jan 2023 10:24:12 +0100 Subject: [PATCH] Use LCDOverlay for notificiation on Bangle.js 2 --- apps/health/boot.js | 26 ++++++++++++++++++++------ 1 file changed, 20 insertions(+), 6 deletions(-) diff --git a/apps/health/boot.js b/apps/health/boot.js index 3a438cb0e..d318f6a2c 100644 --- a/apps/health/boot.js +++ b/apps/health/boot.js @@ -104,12 +104,26 @@ function handleStepGoalNotification() { const now = new Date(Date.now()).toISOString().split('T')[0]; // yyyy-mm-dd if (!settings.stepGoalNotificationDate || settings.stepGoalNotificationDate < now) { // notification not yet shown today? Bangle.buzz(200, 0.5); - E.showPrompt(/*LANG*/"You reached your daily goal of " + settings.stepGoal + " steps!", { - title: /*LANG*/"Step goal reached!", - buttons: { "Ok": 1} - }).then(function (v) { - load(); - }); + if (process.env.BOARD == "BANGLEJS2") { + var medal = atob("MDCBAAAAAAAAAAAAAAAAAAA/+D/4AAB//H/8AAB//H/8AAB//v/4AAA8H/B4AAA+H/D4AAAeD+DwAAAfD+HwAAAPB8HgAAAPh8PgAAAHg8PAAAAHw8PAAAADw+eAAAAD4eeAAAAB4f+AAAAB8P8AAAAA//8AAAAA//4AAAAA//8AAAAB//+AAAAD+B/AAAAH4AfgAAAPgAHwAAAPAADwAAAfAAD4AAAeAAB4AAA+AAB8AAA8AAA8AAA8AAA8AAA8AAA8AAA8AAA8AAA8AAA8AAA8AAA8AAA+AAB4AAAeAAB4AAAfAAD4AAAPAADwAAAPgAHwAAAH4AfgAAAD+B/AAAAB//+AAAAA//8AAAAAP/wAAAAAD+AAAAAAAAAAAAAAAAAAAA=="); + var ovr = Graphics.createArrayBuffer(g.getWidth(),g.getHeight(),1,{msb:true}); + ovr.drawImage(medal, 10, 10); + ovr.setFont("Vector:18").setFontAlign(0, 0, 0); + ovr.drawString(/*LANG*/settings.stepGoal + " steps", g.getWidth() / 2 + 24 , 10 + 24); + ovr.drawString(/*LANG*/"Step goal reached!", g.getWidth() / 2, g.getHeight() / 2); + Bangle.setLCDOverlay(ovr,0,0); + setWatch(function() { + Bangle.setLCDOverlay(); + }, BTN); + } else { + E.showPrompt(/*LANG*/"You reached your daily goal of " + settings.stepGoal + " steps!", { + title: /*LANG*/"Step goal reached!", + buttons: { "Ok": 1} + }).then(function (v) { + load(); + }); + } + settings.stepGoalNotificationDate = now; require("Storage").writeJSON("health.json", settings); }