Skip to content

Commit ba52695

Browse files
author
thyttan
committed
Revert "refactor menus to feel more consistent with new HRM thresholds settings"
This reverts commit 956ee21.
1 parent 77d4d5b commit ba52695

File tree

1 file changed

+62
-145
lines changed

1 file changed

+62
-145
lines changed

apps/sleeplog/settings.js

Lines changed: 62 additions & 145 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,7 @@
22
// define settings filename
33
var filename = "sleeplog.json";
44
// define logging prompt display status
5-
var movementThresholdsPrompt = true;
6-
var hrmThresholdsPrompt = true;
5+
var thresholdsPrompt = true;
76

87
// define default vaules
98
var defaults = {
@@ -13,17 +12,15 @@
1312
maxAwake: 36E5, // [ms] maximal awake time to count for consecutive sleep
1413
minConsec: 18E5, // [ms] minimal time to count for consecutive sleep
1514
deepTh: 150, // threshold for deep sleep
16-
lightTh: 300,
17-
hrmLightTh: 74,
18-
hrmDeepTh:60,// threshold for light sleep
15+
lightTh: 300, // threshold for light sleep
1916
wearTemp: 19.5, // temperature threshold to count as worn
2017
// app settings
2118
breakToD: 12, // [h] time of day when to start/end graphs
2219
appTimeout: 0 // lock and backlight timeouts for the app
2320
};
2421

2522
// assign loaded settings to default values
26-
var settings = Object.assign({},defaults, require("Storage").readJSON(filename, true));
23+
var settings = Object.assign(defaults, require("Storage").readJSON(filename, true) || {});
2724

2825
// write change to storage
2926
function writeSetting() {
@@ -289,71 +286,42 @@
289286
}).then(showMain);
290287
}
291288
}
292-
293-
289+
294290
// show menu to change thresholds
295-
function showHRMThresholds() {
291+
function showThresholds() {
296292
// setup logging menu
297293
//var menu;
298294
var thresholdsMenu = {
299295
"": {
300-
title: /*LANG*/"HRM Thresholds",
296+
title: /*LANG*/"Thresholds",
301297
back: () => showMain(2)
302298
},
303-
/*LANG*/"Deep Sleep": {
304-
value: settings.hrmDeepTh,
305-
step: 2,
306-
min: 30,
307-
max: 100,
299+
/*LANG*/"Max Awake": {
300+
value: settings.maxAwake / 6E4,
301+
step: 10,
302+
min: 10,
303+
max: 120,
308304
wrap: true,
309305
noList: true,
306+
format: v => v + /*LANG*/"min",
310307
onchange: v => {
311-
settings.hrmDeepTh = v;
308+
settings.maxAwake = v * 6E4;
312309
writeSetting();
313310
}
314311
},
315-
/*LANG*/"Light Sleep": {
316-
value: settings.hrmLightTh,
317-
step: 2,
318-
min: 30,
319-
max: 100,
312+
/*LANG*/"Min Consecutive": {
313+
value: settings.minConsec / 6E4,
314+
step: 10,
315+
min: 10,
316+
max: 120,
320317
wrap: true,
321318
noList: true,
319+
format: v => v + /*LANG*/"min",
322320
onchange: v => {
323-
settings.hrmLightTh = v;
321+
settings.minConsec = v * 6E4;
324322
writeSetting();
325323
}
326324
},
327-
/*LANG*/"Reset to Default": () => {
328-
settings.hrmDeepTh = defaults.hrmDeepTh;
329-
settings.hrmLightTh = defaults.hrmLightTh;
330-
writeSetting();
331-
showHRMThresholds();
332-
}
333-
};
334-
if (hrmThresholdsPrompt) {
335-
hrmThresholdsPrompt = false;
336-
E.showPrompt("SleepLog only uses HRM if HRM is enabled in Health settings.", {
337-
title: /*LANG*/"HRM Thresholds",
338-
buttons: {
339-
/*LANG*/"Ok": 0
340-
}
341-
}).then(() => /*menu =*/ E.showMenu(thresholdsMenu));
342-
} else {
343-
/*menu =*/ E.showMenu(thresholdsMenu);
344-
}
345-
}
346-
347-
// show menu to change thresholds
348-
function showMovementThresholds() {
349-
// setup logging menu
350-
//var menu;
351-
var thresholdsMenu = {
352-
"": {
353-
title: /*LANG*/"Movement Thresholds",
354-
back: () => showMain(2)
355-
},
356-
357325
/*LANG*/"Deep Sleep": {
358326
value: settings.deepTh,
359327
step: 10,
@@ -378,77 +346,63 @@
378346
writeSetting();
379347
}
380348
},
381-
349+
/*LANG*/"Wear Temperature": {
350+
value: settings.wearTemp,
351+
step: 0.5,
352+
min: 19.5,
353+
max: 40,
354+
wrap: true,
355+
noList: true,
356+
format: v => v === 19.5 ? "Disabled" : v + "°C",
357+
onchange: v => {
358+
settings.wearTemp = v;
359+
writeSetting();
360+
}
361+
},
382362
/*LANG*/"Reset to Default": () => {
383363
settings.maxAwake = defaults.maxAwake;
384364
settings.minConsec = defaults.minConsec;
385365
settings.deepTh = defaults.deepTh;
386366
settings.lightTh = defaults.lightTh;
387367
writeSetting();
388-
showMovementThresholds();
368+
showThresholds();
389369
}
390-
}
391-
if (movementThresholdsPrompt) {
392-
movementThresholdsPrompt = false;
370+
};
371+
372+
// display info/warning prompt or menu
373+
if (thresholdsPrompt) {
374+
thresholdsPrompt = false;
393375
E.showPrompt("Changes take effect from now on, not retrospective", {
394-
title: /*LANG*/"Movement Thresholds",
376+
title: /*LANG*/"Thresholds",
395377
buttons: {
396378
/*LANG*/"Ok": 0
397379
}
398380
}).then(() => /*menu =*/ E.showMenu(thresholdsMenu));
399381
} else {
400382
/*menu =*/ E.showMenu(thresholdsMenu);
401383
}
402-
};
403-
404-
function showOtherSettings() {
405-
// setup logging menu
406-
//var menu;
407-
var otherSettingsMenu = {
408-
"": {
409-
title: /*LANG*/"Other Settings",
410-
back: () => showMain(2)
411-
},
412-
/*LANG*/"Max Awake": {
413-
value: settings.maxAwake / 6E4,
414-
step: 10,
415-
min: 10,
416-
max: 120,
417-
wrap: true,
418-
noList: true,
419-
format: v => v + /*LANG*/"min",
420-
onchange: v => {
421-
settings.maxAwake = v * 6E4;
422-
writeSetting();
423-
}
424-
},
425-
/*LANG*/"Min Consecutive": {
426-
value: settings.minConsec / 6E4,
427-
step: 10,
428-
min: 10,
429-
max: 120,
430-
wrap: true,
431-
noList: true,
432-
format: v => v + /*LANG*/"min",
433-
onchange: v => {
434-
settings.minConsec = v * 6E4;
435-
writeSetting();
436-
}
437-
},
438-
/*LANG*/"Wear Temp": {
439-
value: settings.wearTemp,
440-
step: 0.5,
441-
min: 19.5,
442-
max: 40,
443-
wrap: true,
444-
noList: true,
445-
format: v => v === 19.5 ? "Disabled" : require("locale").temp(v),
446-
onchange: v => {
447-
settings.wearTemp = v;
448-
writeSetting();
449-
}
450-
},
451-
/*LANG*/"Break ToD": {
384+
}
385+
386+
// show main menu
387+
function showMain(selected) {
388+
// set debug image
389+
var debugImg = !global.sleeplog ?
390+
"FBSBAOAAfwAP+AH3wD4+B8Hw+A+fAH/gA/wAH4AB+AA/wAf+APnwHw+D4Hx8A++AH/AA/gAH" : // X
391+
typeof global.sleeplog.debug === "object" ?
392+
"FBSBAB/4AQDAF+4BfvAX74F+CBf+gX/oFJKBf+gUkoF/6BSSgX/oFJ6Bf+gX/oF/6BAAgf/4" : // file
393+
global.sleeplog.debug ?
394+
"FBSBAP//+f/V///4AAGAABkAAZgAGcABjgAYcAGDgBhwAY4AGcABmH+ZB/mAABgAAYAAH///" : // console
395+
0; // off
396+
debugImg = debugImg ? "\0" + atob(debugImg) : false;
397+
// set menu
398+
var mainMenu = {
399+
"": {
400+
title: "Sleep Log",
401+
back: back,
402+
selected: selected
403+
},
404+
/*LANG*/"Thresholds": () => showThresholds(),
405+
/*LANG*/"Break ToD": {
452406
value: settings.breakToD,
453407
step: 1,
454408
min: 0,
@@ -474,43 +428,6 @@
474428
writeSetting();
475429
}
476430
},
477-
/*LANG*/"Reset to Default": () => {
478-
settings.maxAwake = defaults.maxAwake;
479-
settings.minConsec = defaults.minConsec;
480-
settings.breakToD = defaults.breakToD;
481-
settings.appTimeout = defaults.appTimeout;
482-
483-
writeSetting();
484-
showOtherSettings();
485-
}
486-
};
487-
E.showMenu(otherSettingsMenu);
488-
}
489-
490-
491-
492-
// show main menu
493-
function showMain(selected) {
494-
// set debug image
495-
var debugImg = !global.sleeplog ?
496-
"FBSBAOAAfwAP+AH3wD4+B8Hw+A+fAH/gA/wAH4AB+AA/wAf+APnwHw+D4Hx8A++AH/AA/gAH" : // X
497-
typeof global.sleeplog.debug === "object" ?
498-
"FBSBAB/4AQDAF+4BfvAX74F+CBf+gX/oFJKBf+gUkoF/6BSSgX/oFJ6Bf+gX/oF/6BAAgf/4" : // file
499-
global.sleeplog.debug ?
500-
"FBSBAP//+f/V///4AAGAABkAAZgAGcABjgAYcAGDgBhwAY4AGcABmH+ZB/mAABgAAYAAH///" : // console
501-
0; // off
502-
debugImg = debugImg ? "\0" + atob(debugImg) : false;
503-
// set menu
504-
var mainMenu = {
505-
"": {
506-
title: "Sleep Log",
507-
back: back,
508-
selected: selected
509-
},
510-
/*LANG*/"Movement Thresholds": () => showMovementThresholds(),
511-
/*LANG*/"HRM Thresholds": () => showHRMThresholds(),
512-
/*LANG*/"Other Settings": () => showOtherSettings(),
513-
514431
/*LANG*/"Enabled": {
515432
value: settings.enabled,
516433
onchange: v => {

0 commit comments

Comments
 (0)