runplus - Add lock indicator to karvonen screen

master
Martin Boonk 2024-04-21 17:00:37 +02:00
parent 656eeda4d1
commit 12f55406aa
1 changed files with 12 additions and 0 deletions

View File

@ -4,6 +4,8 @@
let wu = require("widget_utils"); let wu = require("widget_utils");
let R; let R;
const ICON_LOCK = atob("DhABH+D/wwMMDDAwwMf/v//4f+H/h/8//P/z///f/g==");
const x = "x"; const y = "y"; const x = "x"; const y = "y";
function Rdiv(axis, divisor) { // Used when placing things on the screen function Rdiv(axis, divisor) { // Used when placing things on the screen
return axis=="x" ? (R.x + (R.w-1)/divisor):(R.y + (R.h-1)/divisor); return axis=="x" ? (R.x + (R.w-1)/divisor):(R.y + (R.h-1)/divisor);
@ -185,6 +187,13 @@ function drawZones() {
let karvonenInterval; let karvonenInterval;
let hrmstat; let hrmstat;
function drawIndicator() {
if (Bangle.isLocked())
g.setColor(g.theme.fg).drawImage(ICON_LOCK, 6, 8);
else
g.setColor(g.theme.bg).drawImage(ICON_LOCK, 6, 8);
}
function init(hrmSettings, exsHrmStats) { function init(hrmSettings, exsHrmStats) {
R = Bangle.appRect; R = Bangle.appRect;
hrmstat = exsHrmStats; hrmstat = exsHrmStats;
@ -209,8 +218,10 @@ function start(hrmSettings, exsHrmStats) {
g.reset().clearRect(R).setFontAlign(0,0,0); g.reset().clearRect(R).setFontAlign(0,0,0);
drawIndicator();
//draw every second //draw every second
setTimeout(updateUI,0,true); setTimeout(updateUI,0,true);
Bangle.on("lock", drawIndicator);
karvonenInterval = setInterval(function() { karvonenInterval = setInterval(function() {
updateUI(false); updateUI(false);
}, 1000); }, 1000);
@ -240,6 +251,7 @@ function updateUI(resetHrLast) { // Update UI, only draw if warranted by change
function stop(){ function stop(){
if (karvonenInterval) clearInterval(karvonenInterval); if (karvonenInterval) clearInterval(karvonenInterval);
karvonenInterval = undefined; karvonenInterval = undefined;
Bangle.removeListener("lock", drawIndicator);
wu.show(); wu.show();
} }