1
0
Fork 0

Adds settings

master
Martin Boonk 2022-03-13 20:27:20 +01:00
parent 662b4c1cda
commit a7959390ba
3 changed files with 40 additions and 5 deletions

View File

@ -1,6 +1,7 @@
var watchface = require("Storage").readJSON("imageclock.face.json");
var watchfaceResources = require("Storage").readJSON("imageclock.resources.json");
var precompiledJs = eval(require("Storage").read("imageclock.draw.js"));
var settings = require('Storage').readJSON("imageclock.json", true) || {};
var performanceLog = {};
@ -12,7 +13,7 @@ var resetPerfLog = () => {performanceLog = {};};
var p0 = g;
var p1;
if (false){
if (settings.perflog){
startPerfLog = function(name){
var time = getTime();
if (!performanceLog.start) performanceLog.start={};
@ -467,7 +468,7 @@ numbers.MonthTens = () => { return Math.floor((new Date().getMonth() + 1)/10); }
numbers.MonthOnes = () => { return Math.floor((new Date().getMonth() + 1)%10); };
numbers.Pulse = () => { return pulse; };
numbers.Steps = () => { return Bangle.getHealthStatus ? Bangle.getHealthStatus("day").steps : undefined; };
numbers.StepsGoal = () => { return stepsgoal; };
numbers.StepsGoal = () => { return settings.stepsgoal || 10000; };
numbers.Temperature = () => { return temp; };
numbers.Pressure = () => { return press; };
numbers.Altitude = () => { return alt; };
@ -490,7 +491,7 @@ multistates.Compass = () => { return Bangle.isCompassOn() ? "on" : "off"; };
multistates.GPS = () => { return Bangle.isGPSOn() ? "on" : "off"; };
multistates.WeatherTemperatureNegative = () => { return getWeatherTemperature().value ? getWeatherTemperature().value : 0 < 0; };
multistates.WeatherTemperatureUnit = () => { return getWeatherTemperature().unit; };
multistates.StepsGoal = () => { return (numbers.Steps() >= stepsgoal) ? "on": "off"; };
multistates.StepsGoal = () => { return (numbers.Steps() >= (settings.stepsgoal || 10000)) ? "on": "off"; };
function drawMultiState(graphics, resources, element){
startPerfLog("drawMultiState");
@ -615,8 +616,6 @@ var redrawEvents = getByPath(watchface, ["Properties","Redraw","Events"]);
var clearOnRedraw = getByPath(watchface, ["Properties","Redraw","Clear"]);
var events = getByPath(watchface, ["Properties","Events"]);
var stepsgoal = 2000;
//print("events", events);
//print("redrawEvents", redrawEvents);

View File

@ -13,6 +13,7 @@
"readme": "README.md",
"storage": [
{"name":"imageclock.app.js","url":"app.js"},
{"name":"imageclock.settings.js","url":"settings.js"},
{"name":"imageclock.img","url":"app-icon.js","evaluate":true}
]
}

View File

@ -0,0 +1,35 @@
(function(back) {
var FILE = "imageclock.json";
var settings = Object.assign({
stepsgoal: 10000,
perflog: false
}, require('Storage').readJSON(FILE, true) || {});
function writeSettings() {
require('Storage').writeJSON(FILE, settings);
}
E.showMenu({
'': { 'title': 'Imageclock' },
'< Back': back,
'Steps goal': {
value: settings.stepsgoal,
min: 0,
step: 500,
max: 50000,
onchange: v => {
settings.stepsgoal = v;
writeSettings();
}
},
'Performance log': {
value: !!settings.perflog,
format: v => settings.perflog ? "On" : "Off",
onchange: v => {
settings.perflog = v;
writeSettings();
}
}
});
})