Merge pull request #1747 from alessandrococco/health-settings

[Health Tracking] Move settings
pull/1753/head
Gordon Williams 2022-04-25 15:08:06 +01:00 committed by GitHub
commit 6a6973d986
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 50 additions and 48 deletions

View File

@ -12,3 +12,4 @@
0.11: Pre-minified boot&lib - folds constants and saves RAM
0.12: Add setting for Daily Step Goal
0.13: Add support for internationalization
0.14: Move settings

View File

@ -1,14 +1,3 @@
function getSettings() {
return Object.assign({
hrm: 0,
stepGoal: 10000
}, require("Storage").readJSON("health.json", true) || {});
}
function setSettings(settings) {
require("Storage").writeJSON("health.json", settings);
}
function menuMain() {
swipe_enabled = false;
clearButton();
@ -17,39 +6,7 @@ function menuMain() {
/*LANG*/"< Back": () => load(),
/*LANG*/"Step Counting": () => menuStepCount(),
/*LANG*/"Movement": () => menuMovement(),
/*LANG*/"Heart Rate": () => menuHRM(),
/*LANG*/"Settings": () => menuSettings()
});
}
function menuSettings() {
swipe_enabled = false;
clearButton();
let settings = getSettings();
E.showMenu({
"": { title:/*LANG*/"Health Tracking" },
/*LANG*/"< Back": () => menuMain(),
/*LANG*/"HRM Interval": {
value: settings.hrm,
min: 0,
max: 3,
format: v => [ /*LANG*/"Off", /*LANG*/"3 min", /*LANG*/"10 min", /*LANG*/"Always"][v],
onchange: v => {
settings.hrm = v;
setSettings(settings);
}
},
/*LANG*/"Daily Step Goal": {
value: settings.stepGoal,
min: 0,
max: 20000,
step: 250,
onchange: v => {
settings.stepGoal = v;
setSettings(settings);
}
}
/*LANG*/"Heart Rate": () => menuHRM()
});
}
@ -86,7 +43,6 @@ function menuHRM() {
});
}
function stepsPerHour() {
E.showMessage(/*LANG*/"Loading...");
let data = new Uint16Array(24);

View File

@ -1,7 +1,7 @@
{
"id": "health",
"name": "Health Tracking",
"version": "0.13",
"version": "0.14",
"description": "Logs health data and provides an app to view it",
"icon": "app.png",
"tags": "tool,system,health",
@ -12,6 +12,8 @@
{"name":"health.app.js","url":"app.js"},
{"name":"health.img","url":"app-icon.js","evaluate":true},
{"name":"health.boot.js","url":"boot.min.js"},
{"name":"health","url":"lib.min.js"}
]
{"name":"health","url":"lib.min.js"},
{"name":"health.settings.js","url":"settings.js"}
],
"data": [{"name":"health.json"}]
}

43
apps/health/settings.js Normal file
View File

@ -0,0 +1,43 @@
(function (back) {
var settings = Object.assign({
hrm: 0,
stepGoal: 10000
}, require("Storage").readJSON("health.json", true) || {});
E.showMenu({
"": { title: /*LANG*/"Health Tracking" },
/*LANG*/"< Back": () => back(),
/*LANG*/"HRM Interval": {
value: settings.hrm,
min: 0,
max: 3,
format: v => [
/*LANG*/"Off",
/*LANG*/"3 min",
/*LANG*/"10 min",
/*LANG*/"Always"
][v],
onchange: v => {
settings.hrm = v;
setSettings(settings);
}
},
/*LANG*/"Daily Step Goal": {
value: settings.stepGoal,
min: 0,
max: 20000,
step: 250,
onchange: v => {
settings.stepGoal = v;
setSettings(settings);
}
}
});
function setSettings(settings) {
require("Storage").writeJSON("health.json", settings);
}
});