drained: add ability to disable other boot code

pull/2684/head
Rob Pilling 2023-04-13 17:51:23 +01:00
parent 14ad4b760a
commit 49527fbd22
2 changed files with 22 additions and 3 deletions

View File

@ -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)

View File

@ -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,