[Power Saver] Remove accelerometer interval adjustment, fix bugs

pull/2148/head
kyleplo 2022-09-26 19:13:42 -04:00 committed by GitHub
parent 4a08dcbaea
commit 397908afcd
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
5 changed files with 15 additions and 12 deletions

2
apps/powersave/ChangeLog Normal file
View File

@ -0,0 +1,2 @@
0.01: Initial release
0.02: Removed accelerometer poll interval adjustment, fixed a few issues with detecting the current app

View File

@ -6,7 +6,6 @@ Save your watch's battery power by halting foreground app execution while the sc
- Stops foreground app processes
- Background processes still run
- Clears screen
- Decreases accelerometer polls
- Foreground app is returned to when screen is turned back on (app state is not preserved)
## Controls
@ -14,7 +13,6 @@ Save your watch's battery power by halting foreground app execution while the sc
- Deactivates when screen is turned back on
## Warnings
- Due to an Espruino bug, this does not take affect immediately when installed. Switch apps for these features to take affect.
- This is not compatible with apps that need to run in the foreground even while the screen is off, such as most stopwatch apps and some health trackers.
- If you check your watch super often (like multiple times per minute), this may end of costing you more power than it saves since the app you are using will have to restart everytime you check it.

View File

@ -1,15 +1,15 @@
var Storage = Storage || require("Storage");
Bangle.on("lock", locked => {
if(locked){
g.clear().reset();
Bangle.setLCDBrightness(0);
Bangle.setPollInterval(1000);
load("powersave.screen.js");
}else{
load(Storage.read("resumeaftersleep") || JSON.parse(Storage.read("setting.json")).clock);
const data = JSON.parse(Storage.read("powersave.json") || Storage.read("setting.json"));
load(data.app || data.clock);
}
});
E.on("init", () => {
if(__FILE__ && __FILE__ !== "powersave.screen.js")
Storage.write("resumeaftersleep", __FILE__);
if("__FILE__" in global && __FILE__ !== "powersave.screen.js")
Storage.write("powersave.json", {
app: __FILE__
});
});

View File

@ -1,7 +1,7 @@
{
"id": "powersave",
"name": "Power Save",
"version": "0.01",
"version": "0.02",
"description": "Halts foreground app execution while screen is off while still allowing background processes.",
"readme": "README.md",
"icon": "powersave.png",
@ -11,5 +11,8 @@
"storage": [
{"name":"powersave.boot.js","url":"boot.js"},
{"name":"powersave.screen.js","url":"boot.js"}
],
"data": [
{"name": "powersave.json"}
]
}

View File

@ -1,7 +1,7 @@
var Storage = Storage || require("Storage");
g.clear();
Bangle.setLCDBrightness(0);
Bangle.setPollInterval(1000);
if(!Bangle.isLocked()){
load(Storage.read("resumeaftersleep") || JSON.parse(Storage.read("setting.json")).clock);
var Storage = Storage || require("Storage");
const data = JSON.parse(Storage.read("powersave.json") || Storage.read("setting.json"));
load(data.app || data.clock);
}