drained: s/disableBoot/keepStartup/

master
Rob Pilling 2023-05-07 10:36:31 +01:00
parent cbc69c9275
commit 00cf120a28
3 changed files with 16 additions and 14 deletions

View File

@ -99,12 +99,12 @@ reload();
Bangle.emit("drained", E.getBattery()); Bangle.emit("drained", E.getBattery());
// restore normal boot on charge // restore normal boot on charge
const { disableBoot = false, restore = 20 }: DrainedSettings const { keepStartup = true, restore = 20 }: DrainedSettings
= require("Storage").readJSON(`${app}.setting.json`, true) || {}; = require("Storage").readJSON(`${app}.setting.json`, true) || {};
// re-enable normal boot code when we're above a threshold: // re-enable normal boot code when we're above a threshold:
function drainedRestore() { // "public", to allow users to call function drainedRestore() { // "public", to allow users to call
if(disableBoot){ if(!keepStartup){
try{ try{
eval(require('Storage').read('bootupdate.js')); eval(require('Storage').read('bootupdate.js'));
}catch(e){ }catch(e){

View File

@ -1,5 +1,5 @@
{ {
const { battery: threshold = 5, interval = 10, disableBoot = false }: DrainedSettings const { battery: threshold = 5, interval = 10, keepStartup = true }: DrainedSettings
= require("Storage").readJSON(`drained.setting.json`, true) || {}; = require("Storage").readJSON(`drained.setting.json`, true) || {};
drainedInterval = setInterval(() => { drainedInterval = setInterval(() => {
@ -10,7 +10,7 @@ drainedInterval = setInterval(() => {
const app = "drained.app.js"; const app = "drained.app.js";
if(disableBoot) if(!keepStartup)
require("Storage").write( require("Storage").write(
".boot0", ".boot0",
`if(typeof __FILE__ === "undefined" || __FILE__ !== "${app}") setTimeout(load, 100, "${app}");` `if(typeof __FILE__ === "undefined" || __FILE__ !== "${app}") setTimeout(load, 100, "${app}");`

View File

@ -2,7 +2,7 @@ type DrainedSettings = {
battery?: number, battery?: number,
restore?: number, restore?: number,
interval?: number, interval?: number,
disableBoot?: ShortBoolean, keepStartup?: ShortBoolean,
}; };
(back => { (back => {
@ -13,23 +13,17 @@ type DrainedSettings = {
settings.battery ??= 5; settings.battery ??= 5;
settings.restore ??= 20; settings.restore ??= 20;
settings.interval ??= 10; settings.interval ??= 10;
settings.disableBoot ??= false; settings.keepStartup ??= true;
const save = () => { const save = () => {
storage.writeJSON(SETTINGS_FILE, settings) storage.writeJSON(SETTINGS_FILE, settings)
}; };
const formatBool = (b: boolean) => b ? "On" : "Off";
E.showMenu({ E.showMenu({
"": { "title": "Drained" }, "": { "title": "Drained" },
"< Back": back, "< Back": back,
"Keep startup code": {
value: settings.disableBoot,
format: () => settings.disableBoot ? "No" : "Yes",
onchange: () => {
settings.disableBoot = !settings.disableBoot;
save();
},
},
"Trigger at batt%": { "Trigger at batt%": {
value: settings.battery, value: settings.battery,
min: 0, min: 0,
@ -63,5 +57,13 @@ type DrainedSettings = {
save(); save();
}, },
}, },
"Keep startup code": {
value: settings.keepStartup as boolean,
format: formatBool,
onchange: (b: boolean) => {
settings.keepStartup = b;
save();
},
},
}); });
}) satisfies SettingsFunc }) satisfies SettingsFunc