mirror of https://github.com/espruino/BangleApps
imageclock - Use shorter variable names
parent
7eda9dee49
commit
e787560fb3
|
@ -1,7 +1,14 @@
|
||||||
let unlockedDrawInterval = [];
|
let s = {};
|
||||||
let lockedDrawInterval = [];
|
// unlocked draw intervals
|
||||||
let showWidgets = false;
|
s.udi = [];
|
||||||
let firstDraw = true;
|
// locked draw intervals
|
||||||
|
s.ldi = [];
|
||||||
|
// show widget state
|
||||||
|
s.sw = false;
|
||||||
|
// full draw
|
||||||
|
s.fd = true;
|
||||||
|
// performance log
|
||||||
|
s.pl = {};
|
||||||
|
|
||||||
{
|
{
|
||||||
let x = g.getWidth()/2;
|
let x = g.getWidth()/2;
|
||||||
|
@ -21,12 +28,10 @@ let firstDraw = true;
|
||||||
let precompiledJs = eval(require("Storage").read("imageclock.draw.js"));
|
let precompiledJs = eval(require("Storage").read("imageclock.draw.js"));
|
||||||
let settings = require('Storage').readJSON("imageclock.json", true) || {};
|
let settings = require('Storage').readJSON("imageclock.json", true) || {};
|
||||||
|
|
||||||
let performanceLog = {};
|
|
||||||
|
|
||||||
let startPerfLog = () => {};
|
let startPerfLog = () => {};
|
||||||
let endPerfLog = () => {};
|
let endPerfLog = () => {};
|
||||||
Bangle.printPerfLog = () => {print("Deactivated");};
|
Bangle.printPerfLog = () => {print("Deactivated");};
|
||||||
Bangle.resetPerfLog = () => {performanceLog = {};};
|
Bangle.resetPerfLog = () => {s.pl = {};};
|
||||||
|
|
||||||
let colormap={
|
let colormap={
|
||||||
"#000":0,
|
"#000":0,
|
||||||
|
@ -64,35 +69,37 @@ let firstDraw = true;
|
||||||
if (settings.perflog){
|
if (settings.perflog){
|
||||||
startPerfLog = function(name){
|
startPerfLog = function(name){
|
||||||
let time = getTime();
|
let time = getTime();
|
||||||
if (!performanceLog.start) performanceLog.start={};
|
if (!s.pl.start) s.pl.start={};
|
||||||
performanceLog.start[name] = time;
|
s.pl.start[name] = time;
|
||||||
};
|
};
|
||||||
endPerfLog = function (name){
|
endPerfLog = function (name, once){
|
||||||
let time = getTime();
|
let time = getTime();
|
||||||
if (!performanceLog.last) performanceLog.last={};
|
if (!s.pl.start[name]) return;
|
||||||
let duration = time - performanceLog.start[name];
|
if (!s.pl.last) s.pl.last={};
|
||||||
performanceLog.last[name] = duration;
|
let duration = time - s.pl.start[name];
|
||||||
if (!performanceLog.cum) performanceLog.cum={};
|
s.pl.last[name] = duration;
|
||||||
if (!performanceLog.cum[name]) performanceLog.cum[name] = 0;
|
if (!s.pl.cum) s.pl.cum={};
|
||||||
performanceLog.cum[name] += duration;
|
if (!s.pl.cum[name]) s.pl.cum[name] = 0;
|
||||||
if (!performanceLog.count) performanceLog.count={};
|
s.pl.cum[name] += duration;
|
||||||
if (!performanceLog.count[name]) performanceLog.count[name] = 0;
|
if (!s.pl.count) s.pl.count={};
|
||||||
performanceLog.count[name]++;
|
if (!s.pl.count[name]) s.pl.count[name] = 0;
|
||||||
|
s.pl.count[name]++;
|
||||||
|
if (once){s.pl.start[name] = undefined}
|
||||||
};
|
};
|
||||||
|
|
||||||
Bangle.printPerfLog = function(){
|
Bangle.printPerfLog = function(){
|
||||||
let result = "";
|
let result = "";
|
||||||
let keys = [];
|
let keys = [];
|
||||||
for (let c in performanceLog.cum){
|
for (let c in s.pl.cum){
|
||||||
keys.push(c);
|
keys.push(c);
|
||||||
}
|
}
|
||||||
keys.sort();
|
keys.sort();
|
||||||
for (let k of keys){
|
for (let k of keys){
|
||||||
print(k, "last:", (performanceLog.last[k] * 1000).toFixed(0), "average:", (performanceLog.cum[k]/performanceLog.count[k]*1000).toFixed(0), "count:", performanceLog.count[k], "total:", (performanceLog.cum[k] * 1000).toFixed(0));
|
print(k, "last:", (s.pl.last[k] * 1000).toFixed(0), "average:", (s.pl.cum[k]/s.pl.count[k]*1000).toFixed(0), "count:", s.pl.count[k], "total:", (s.pl.cum[k] * 1000).toFixed(0));
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
startPerfLog("fullDraw");
|
||||||
startPerfLog("loadFunctions");
|
startPerfLog("loadFunctions");
|
||||||
|
|
||||||
let delayTimeouts = {};
|
let delayTimeouts = {};
|
||||||
|
@ -609,14 +616,15 @@ let firstDraw = true;
|
||||||
|
|
||||||
promise.then(()=>{
|
promise.then(()=>{
|
||||||
let currentDrawingTime = Date.now();
|
let currentDrawingTime = Date.now();
|
||||||
if (showWidgets){
|
if (s.sw){
|
||||||
restoreWidgetDraw();
|
restoreWidgetDraw();
|
||||||
}
|
}
|
||||||
lastDrawTime = Date.now() - start;
|
lastDrawTime = Date.now() - start;
|
||||||
isDrawing=false;
|
isDrawing=false;
|
||||||
firstDraw=false;
|
s.fd=false;
|
||||||
requestRefresh = false;
|
requestRefresh = false;
|
||||||
endPerfLog("initialDraw");
|
endPerfLog("initialDraw");
|
||||||
|
endPerfLog("fullDraw", true);
|
||||||
if (!Bangle.uiRemove) setUi();
|
if (!Bangle.uiRemove) setUi();
|
||||||
}).catch((e)=>{
|
}).catch((e)=>{
|
||||||
print("Error during drawing", e);
|
print("Error during drawing", e);
|
||||||
|
@ -701,16 +709,16 @@ let firstDraw = true;
|
||||||
|
|
||||||
let handleLock = function(isLocked, forceRedraw){
|
let handleLock = function(isLocked, forceRedraw){
|
||||||
//print("isLocked", Bangle.isLocked());
|
//print("isLocked", Bangle.isLocked());
|
||||||
for (let i of unlockedDrawInterval){
|
for (let i of s.udi){
|
||||||
//print("Clearing unlocked", i);
|
//print("Clearing unlocked", i);
|
||||||
clearInterval(i);
|
clearInterval(i);
|
||||||
}
|
}
|
||||||
for (let i of lockedDrawInterval){
|
for (let i of s.ldi){
|
||||||
//print("Clearing locked", i);
|
//print("Clearing locked", i);
|
||||||
clearInterval(i);
|
clearInterval(i);
|
||||||
}
|
}
|
||||||
unlockedDrawInterval = [];
|
s.udi = [];
|
||||||
lockedDrawInterval = [];
|
s.ldi = [];
|
||||||
|
|
||||||
if (!isLocked){
|
if (!isLocked){
|
||||||
if (forceRedraw || !redrawEvents || (redrawEvents.includes("unlock"))){
|
if (forceRedraw || !redrawEvents || (redrawEvents.includes("unlock"))){
|
||||||
|
@ -726,7 +734,7 @@ let firstDraw = true;
|
||||||
initialDraw(watchfaceResources, watchface);
|
initialDraw(watchfaceResources, watchface);
|
||||||
},unlockedRedraw, (v)=>{
|
},unlockedRedraw, (v)=>{
|
||||||
//print("New matched unlocked interval", v);
|
//print("New matched unlocked interval", v);
|
||||||
unlockedDrawInterval.push(v);
|
s.udi.push(v);
|
||||||
}, lastDrawTime);
|
}, lastDrawTime);
|
||||||
if (!events || events.includes("HRM")) Bangle.setHRMPower(1, "imageclock");
|
if (!events || events.includes("HRM")) Bangle.setHRMPower(1, "imageclock");
|
||||||
if (!events || events.includes("pressure")) Bangle.setBarometerPower(1, 'imageclock');
|
if (!events || events.includes("pressure")) Bangle.setBarometerPower(1, 'imageclock');
|
||||||
|
@ -744,7 +752,7 @@ let firstDraw = true;
|
||||||
initialDraw(watchfaceResources, watchface);
|
initialDraw(watchfaceResources, watchface);
|
||||||
},lockedRedraw, (v)=>{
|
},lockedRedraw, (v)=>{
|
||||||
//print("New matched locked interval", v);
|
//print("New matched locked interval", v);
|
||||||
lockedDrawInterval.push(v);
|
s.ldi.push(v);
|
||||||
}, lastDrawTime);
|
}, lastDrawTime);
|
||||||
Bangle.setHRMPower(0, "imageclock");
|
Bangle.setHRMPower(0, "imageclock");
|
||||||
Bangle.setBarometerPower(0, 'imageclock');
|
Bangle.setBarometerPower(0, 'imageclock');
|
||||||
|
@ -760,21 +768,21 @@ let firstDraw = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
let handleSwipe = function(lr, ud){
|
let handleSwipe = function(lr, ud){
|
||||||
if (!showWidgets && ud == 1){
|
if (!s.sw && ud == 1){
|
||||||
//print("Enable widgets");
|
//print("Enable widgets");
|
||||||
restoreWidgetDraw();
|
restoreWidgetDraw();
|
||||||
showWidgetsChanged = true;
|
showWidgetsChanged = true;
|
||||||
}
|
}
|
||||||
if (showWidgets && ud == -1){
|
if (s.sw && ud == -1){
|
||||||
//print("Disable widgets");
|
//print("Disable widgets");
|
||||||
clearWidgetsDraw();
|
clearWidgetsDraw();
|
||||||
firstDraw = true;
|
s.fd = true;
|
||||||
showWidgetsChanged = true;
|
showWidgetsChanged = true;
|
||||||
}
|
}
|
||||||
if (showWidgetsChanged){
|
if (showWidgetsChanged){
|
||||||
showWidgetsChanged = false;
|
showWidgetsChanged = false;
|
||||||
//print("Draw after widget change");
|
//print("Draw after widget change");
|
||||||
showWidgets = ud == 1;
|
s.sw = ud == 1;
|
||||||
initialDraw();
|
initialDraw();
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
@ -829,23 +837,18 @@ let firstDraw = true;
|
||||||
if (initialDrawTimeoutUnlocked) clearTimeout(initialDrawTimeoutUnlocked);
|
if (initialDrawTimeoutUnlocked) clearTimeout(initialDrawTimeoutUnlocked);
|
||||||
if (initialDrawTimeoutLocked) clearTimeout(initialDrawTimeoutLocked);
|
if (initialDrawTimeoutLocked) clearTimeout(initialDrawTimeoutLocked);
|
||||||
|
|
||||||
for (let i of global.unlockedDrawInterval){
|
for (let i of global.s.udi){
|
||||||
//print("Clearing unlocked", i);
|
//print("Clearing unlocked", i);
|
||||||
clearInterval(i);
|
clearInterval(i);
|
||||||
}
|
}
|
||||||
delete global.unlockedDrawInterval;
|
for (let i of global.s.ldi){
|
||||||
for (let i of global.lockedDrawInterval){
|
|
||||||
//print("Clearing locked", i);
|
//print("Clearing locked", i);
|
||||||
clearInterval(i);
|
clearInterval(i);
|
||||||
}
|
}
|
||||||
delete global.lockedDrawInterval;
|
|
||||||
delete global.showWidgets;
|
|
||||||
delete global.firstDraw;
|
|
||||||
|
|
||||||
delete Bangle.printPerfLog;
|
delete Bangle.printPerfLog;
|
||||||
if (settings.perflog){
|
if (settings.perflog){
|
||||||
delete Bangle.resetPerfLog;
|
delete Bangle.resetPerfLog;
|
||||||
delete performanceLog;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
cleanupDelays();
|
cleanupDelays();
|
||||||
|
|
|
@ -656,7 +656,7 @@
|
||||||
var checkcode = "";
|
var checkcode = "";
|
||||||
|
|
||||||
if (!(properties.Redraw && properties.Redraw.Clear)){
|
if (!(properties.Redraw && properties.Redraw.Clear)){
|
||||||
checkcode = 'firstDraw';
|
checkcode = 's.fd';
|
||||||
for (var i = 0; i< layerElements.length; i++){
|
for (var i = 0; i< layerElements.length; i++){
|
||||||
var layerElement = layerElements[i];
|
var layerElement = layerElements[i];
|
||||||
var referencedElement = elements[layerElements[i].index];
|
var referencedElement = elements[layerElements[i].index];
|
||||||
|
@ -664,9 +664,9 @@
|
||||||
console.log("Check for change:", layerElement, referencedElement);
|
console.log("Check for change:", layerElement, referencedElement);
|
||||||
if (layerElement.element.Value){
|
if (layerElement.element.Value){
|
||||||
if (elementType == "MultiState" && layerElement.element.Value) {
|
if (elementType == "MultiState" && layerElement.element.Value) {
|
||||||
checkcode += '| isChangedMultistate(wf.Collapsed[' + layerElement.index + '].value)';
|
checkcode += '| isChangedMultistate(wf.c[' + layerElement.index + '].value)';
|
||||||
} else {
|
} else {
|
||||||
checkcode += '| isChangedNumber(wf.Collapsed[' + layerElement.index + '].value)';
|
checkcode += '| isChangedNumber(wf.c[' + layerElement.index + '].value)';
|
||||||
}
|
}
|
||||||
checkForLayerChange = true;
|
checkForLayerChange = true;
|
||||||
}
|
}
|
||||||
|
@ -693,7 +693,7 @@
|
||||||
|
|
||||||
if (c.value.Type == "Once"){
|
if (c.value.Type == "Once"){
|
||||||
if (condition.length > 0) condition += " && ";
|
if (condition.length > 0) condition += " && ";
|
||||||
condition += "firstDraw";
|
condition += "s.fd";
|
||||||
}
|
}
|
||||||
|
|
||||||
var planeName = "p" + plane;
|
var planeName = "p" + plane;
|
||||||
|
@ -722,7 +722,7 @@
|
||||||
}
|
}
|
||||||
code += "" + colorsetting;
|
code += "" + colorsetting;
|
||||||
if (addDebug()) code += 'print("Drawing element ' + elementIndex + ' with type ' + c.type + ' on plane ' + planeName + '");' + "\n";
|
if (addDebug()) code += 'print("Drawing element ' + elementIndex + ' with type ' + c.type + ' on plane ' + planeName + '");' + "\n";
|
||||||
code += "draw" + c.type + "(" + planeName + ", wr, wf.Collapsed[" + elementIndex + "].value);\n";
|
code += "draw" + c.type + "(" + planeName + ", wr, wf.c[" + elementIndex + "].value);\n";
|
||||||
|
|
||||||
code += "});\n";
|
code += "});\n";
|
||||||
code += (condition.length > 0 ? "}\n" : "");
|
code += (condition.length > 0 ? "}\n" : "");
|
||||||
|
@ -744,9 +744,9 @@
|
||||||
console.log("Created data file", resourceDataString, resourceDataOffset, resultJson);
|
console.log("Created data file", resourceDataString, resourceDataOffset, resultJson);
|
||||||
|
|
||||||
var properties = faceJson.Properties;
|
var properties = faceJson.Properties;
|
||||||
faceJson = { Properties: properties, Collapsed: collapseTree(faceJson,{X:0,Y:0})};
|
faceJson = { Properties: properties, c: collapseTree(faceJson,{X:0,Y:0})};
|
||||||
console.log("After collapsing", faceJson);
|
console.log("After collapsing", faceJson);
|
||||||
precompiledJs = convertToCode(faceJson.Collapsed, properties, document.getElementById('timeoutwrap').checked, document.getElementById('forceOrigPlane').checked);
|
precompiledJs = convertToCode(faceJson.c, properties, document.getElementById('timeoutwrap').checked, document.getElementById('forceOrigPlane').checked);
|
||||||
console.log("After precompiling", precompiledJs);
|
console.log("After precompiling", precompiledJs);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue