From 49527fbd22d174ac1d4dba5dc1b1794b5e30ce1f Mon Sep 17 00:00:00 2001 From: Rob Pilling Date: Thu, 13 Apr 2023 17:51:23 +0100 Subject: [PATCH] drained: add ability to disable other boot code --- apps/drained/boot.ts | 15 ++++++++++++--- apps/drained/settings.ts | 10 ++++++++++ 2 files changed, 22 insertions(+), 3 deletions(-) diff --git a/apps/drained/boot.ts b/apps/drained/boot.ts index 6252edafb..faedd3153 100644 --- a/apps/drained/boot.ts +++ b/apps/drained/boot.ts @@ -1,7 +1,16 @@ -const { battery = 5, interval = 10 }: DrainedSettings = require("Storage") - .readJSON(`${app}.setting.json`, true) || {}; +const { battery = 5, interval = 10, disableBoot = false }: DrainedSettings + = require("Storage").readJSON(`drained.setting.json`, true) || {}; -let drainedInterval: number | undefined = setInterval(() => { +if(disableBoot){ + require("Storage").erase(".boot0"); + + Bangle.on("charging", charging => { + if (charging) + eval(require('Storage').read('bootupdate.js')); + }); +} + +drainedInterval = setInterval(() => { if(Bangle.isCharging()) return; if(E.getBattery() > battery) diff --git a/apps/drained/settings.ts b/apps/drained/settings.ts index f763a8fe7..a3b377045 100644 --- a/apps/drained/settings.ts +++ b/apps/drained/settings.ts @@ -1,6 +1,7 @@ type DrainedSettings = { battery?: number, interval?: number, + disableBoot?: ShortBoolean, }; ((back: () => void) => { @@ -10,6 +11,7 @@ type DrainedSettings = { const settings: DrainedSettings = storage.readJSON(SETTINGS_FILE, true) || {}; settings.battery ??= 5; settings.interval ??= 10; + settings.disableBoot ??= false; const save = () => { storage.writeJSON(SETTINGS_FILE, settings) @@ -18,6 +20,14 @@ type DrainedSettings = { E.showMenu({ "": { "title": "Drained" }, "< Back": back, + "Keep startup code": { + value: settings.disableBoot, + format: () => settings.disableBoot ? "No" : "Yes", + onchange: () => { + settings.disableBoot = !settings.disableBoot; + save(); + }, + }, "Trigger at batt%": { value: settings.battery, min: 0,