teminalclock: ClockFace update: Hide widgets instead of not loading them
Also use ClockFace_menu for hideWidget & powerSave settingsmaster
parent
2512268b98
commit
3bba0b6dab
|
|
@ -5,3 +5,5 @@
|
||||||
0.05: Add altitude display (only Bangle.js 2)
|
0.05: Add altitude display (only Bangle.js 2)
|
||||||
0.06: Add power related settings to control the HR and pressure(altitude) sensor from the watchface
|
0.06: Add power related settings to control the HR and pressure(altitude) sensor from the watchface
|
||||||
0.07: Use ClockFace module and rework the settings to be able to personnalize the order of the lines
|
0.07: Use ClockFace module and rework the settings to be able to personnalize the order of the lines
|
||||||
|
0.08: Hide widgets instead of not loading them at all
|
||||||
|
Use Clockface_menu for widgets and power saving settings
|
||||||
|
|
|
||||||
|
|
@ -32,7 +32,8 @@ const clock = new ClockFace({
|
||||||
this.unlock_precision = 1;
|
this.unlock_precision = 1;
|
||||||
if (this.HRMinConfidence === undefined) this.HRMinConfidence = 50;
|
if (this.HRMinConfidence === undefined) this.HRMinConfidence = 50;
|
||||||
if (this.PowerOnInterval === undefined) this.PowerOnInterval = 15;
|
if (this.PowerOnInterval === undefined) this.PowerOnInterval = 15;
|
||||||
if (this.powerSaving===undefined) this.powerSaving = true;
|
if (this.powerSave===undefined) this.powerSave = this.powerSaving; // migrate old setting
|
||||||
|
if (this.powerSave===undefined) this.powerSave = true;
|
||||||
["L2", "L3", "L4", "L5", "L6", "L7", "L8", "L9"].forEach(k => {
|
["L2", "L3", "L4", "L5", "L6", "L7", "L8", "L9"].forEach(k => {
|
||||||
if (this[k]===undefined){
|
if (this[k]===undefined){
|
||||||
if(k == "L2") this[k] = "Date";
|
if(k == "L2") this[k] = "Date";
|
||||||
|
|
@ -55,7 +56,7 @@ const clock = new ClockFace({
|
||||||
});
|
});
|
||||||
|
|
||||||
// set the services (HRM, pressure sensor, etc....)
|
// set the services (HRM, pressure sensor, etc....)
|
||||||
if(!this.powerSaving){
|
if(!this.powerSave){
|
||||||
turnOnServices();
|
turnOnServices();
|
||||||
} else{
|
} else{
|
||||||
setInterval(turnOnServices, this.PowerOnInterval*60000); // every PowerOnInterval min
|
setInterval(turnOnServices, this.PowerOnInterval*60000); // every PowerOnInterval min
|
||||||
|
|
@ -156,7 +157,7 @@ function turnOnServices(){
|
||||||
if(clock.showAltitude){
|
if(clock.showAltitude){
|
||||||
Bangle.setBarometerPower(true, "terminalclock");
|
Bangle.setBarometerPower(true, "terminalclock");
|
||||||
}
|
}
|
||||||
if(clock.powerSaving){
|
if(clock.powerSave){
|
||||||
setTimeout(function () {
|
setTimeout(function () {
|
||||||
turnOffServices();
|
turnOffServices();
|
||||||
}, 45000);
|
}, 45000);
|
||||||
|
|
@ -194,7 +195,7 @@ Clock related functions but not in the ClockFace module
|
||||||
---------------------------------------------------- */
|
---------------------------------------------------- */
|
||||||
|
|
||||||
function unlock(){
|
function unlock(){
|
||||||
if(clock.powerSaving){
|
if(clock.powerSave){
|
||||||
turnOnServices();
|
turnOnServices();
|
||||||
}
|
}
|
||||||
clock.precision = clock.unlock_precision;
|
clock.precision = clock.unlock_precision;
|
||||||
|
|
|
||||||
|
|
@ -3,7 +3,7 @@
|
||||||
"name": "Terminal Clock",
|
"name": "Terminal Clock",
|
||||||
"shortName":"Terminal Clock",
|
"shortName":"Terminal Clock",
|
||||||
"description": "A terminal cli like clock displaying multiple sensor data",
|
"description": "A terminal cli like clock displaying multiple sensor data",
|
||||||
"version":"0.07",
|
"version":"0.08",
|
||||||
"icon": "app.png",
|
"icon": "app.png",
|
||||||
"type": "clock",
|
"type": "clock",
|
||||||
"tags": "clock",
|
"tags": "clock",
|
||||||
|
|
|
||||||
|
|
@ -2,11 +2,8 @@
|
||||||
var FILE = "terminalclock.json";
|
var FILE = "terminalclock.json";
|
||||||
// Load settings
|
// Load settings
|
||||||
var settings = Object.assign({
|
var settings = Object.assign({
|
||||||
// ClockFace lib
|
|
||||||
loadWidgets: true,
|
|
||||||
// TerminalClock specific
|
// TerminalClock specific
|
||||||
HRMinConfidence: 50,
|
HRMinConfidence: 50,
|
||||||
powerSaving: true,
|
|
||||||
PowerOnInterval: 15,
|
PowerOnInterval: 15,
|
||||||
L2: 'Date',
|
L2: 'Date',
|
||||||
L3: 'HR',
|
L3: 'HR',
|
||||||
|
|
@ -17,6 +14,18 @@
|
||||||
L8: 'Empty',
|
L8: 'Empty',
|
||||||
L9: 'Empty',
|
L9: 'Empty',
|
||||||
}, require('Storage').readJSON(FILE, true) || {});
|
}, require('Storage').readJSON(FILE, true) || {});
|
||||||
|
// ClockFace lib: migrate "don't load widgets" to "hide widgets"
|
||||||
|
if (!("hideWidgets" in settings)) {
|
||||||
|
if (("loadWidgets" in settings) && !settings.loadWidgets) settings.hideWidgets = 1;
|
||||||
|
else settings.hideWidgets = 0;
|
||||||
|
}
|
||||||
|
delete settings.loadWidgets;
|
||||||
|
// ClockFace lib: migrate `powerSaving` to `powerSave`
|
||||||
|
if (!("powerSave" in settings)) {
|
||||||
|
if ("powerSaving" in settings) settings.powerSave = settings.powerSaving;
|
||||||
|
else settings.powerSave = true;
|
||||||
|
}
|
||||||
|
delete settings.powerSaving;
|
||||||
|
|
||||||
function writeSettings() {
|
function writeSettings() {
|
||||||
require('Storage').writeJSON(FILE, settings);
|
require('Storage').writeJSON(FILE, settings);
|
||||||
|
|
@ -63,25 +72,16 @@
|
||||||
writeSettings();
|
writeSettings();
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
'Show widgets': {
|
|
||||||
value: settings.loadWidgets,
|
|
||||||
onchange: v => {
|
|
||||||
settings.loadWidgets = v;
|
|
||||||
writeSettings();
|
|
||||||
}
|
|
||||||
},
|
|
||||||
'Power saving': {
|
|
||||||
value: settings.powerSaving,
|
|
||||||
onchange: v => {
|
|
||||||
settings.powerSaving = v;
|
|
||||||
writeSettings();
|
|
||||||
setTimeout(function() {
|
|
||||||
E.showMenu(getMainMenu());
|
|
||||||
},0);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
};
|
};
|
||||||
if(settings.powerSaving){
|
const save = (key, v) => {
|
||||||
|
settings[key] = v;
|
||||||
|
writeSettings();
|
||||||
|
};
|
||||||
|
require("ClockFace_menu").addItems(mainMenu, save, {
|
||||||
|
hideWidgets: settings.hideWidgets,
|
||||||
|
powerSave: settings.powerSave,
|
||||||
|
});
|
||||||
|
if(settings.powerSave){
|
||||||
mainMenu['Power on interval'] = {
|
mainMenu['Power on interval'] = {
|
||||||
value: settings.PowerOnInterval,
|
value: settings.PowerOnInterval,
|
||||||
min: 3, max: 60,
|
min: 3, max: 60,
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue