diff --git a/apps/health/ChangeLog b/apps/health/ChangeLog index b5c42b3f6..74be2faec 100644 --- a/apps/health/ChangeLog +++ b/apps/health/ChangeLog @@ -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 diff --git a/apps/health/app.js b/apps/health/app.js index 0f372df90..ac8141eb8 100644 --- a/apps/health/app.js +++ b/apps/health/app.js @@ -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); diff --git a/apps/health/metadata.json b/apps/health/metadata.json index a452436bb..58762c77a 100644 --- a/apps/health/metadata.json +++ b/apps/health/metadata.json @@ -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"}] } diff --git a/apps/health/settings.js b/apps/health/settings.js new file mode 100644 index 000000000..5fac0933f --- /dev/null +++ b/apps/health/settings.js @@ -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); + } +});