diff --git a/apps/drained/README.md b/apps/drained/README.md index 74300da59..e4217493b 100644 --- a/apps/drained/README.md +++ b/apps/drained/README.md @@ -10,12 +10,12 @@ With this app installed, your Bangle will automatically switch into low power mo ## No backlight (#2502) [x] LCD brightness -[ ] LCD timeout +[ ] LCD timeout? ## Peripherals [x] Disable auto heart rate measurement in health app (#2502) [x] Overwrite setGPSPower() function (#2502) -[ ] Turn off already-running GPS / HRM +[x] Turn off already-running GPS / HRM ## Features [ ] Wake on twist -> off (#2502) diff --git a/apps/drained/app.ts b/apps/drained/app.ts index 1cb1b9d44..029c64f47 100644 --- a/apps/drained/app.ts +++ b/apps/drained/app.ts @@ -1,3 +1,5 @@ +const app = "drained"; + // from boot.js if(typeof drainedInterval !== "undefined") drainedInterval = clearInterval(drainedInterval) as undefined; @@ -6,7 +8,18 @@ if(typeof drainedInterval !== "undefined") Bangle.setLCDBrightness(0); // peripherals -Bangle.setGPSPower = Bangle.setHRMPower = (_val: boolean, _name: string) => false; +const powerNoop = () => false; + +const forceOff = (name: "GPS" | "HRM" | "Compass" /*| "Barom"*/) => { + (Bangle as any)._PWR[name] = []; + + // if(name === "Barom"){ setBarometerPower(...) } + // ^^^^ + Bangle[`set${name}Power`](false, app); + Bangle[`set${name}Power`] = powerNoop; +}; +forceOff("GPS"); +forceOff("HRM"); // events Bangle.removeAllListeners();