ptlaunch 0.16: Fix issue adding new patterns (fix #3858)
Display message if tapping manage when there are no patterns
Speed improvements
master
parent
b95ee7bb4a
commit
8442f27c36
|
|
@ -7,3 +7,6 @@
|
|||
0.13: Improve pattern rendering by HughB http://forum.espruino.com/profiles/167235/
|
||||
0.14: Update setUI to work with new Bangle.js 2v13 menu style
|
||||
0.15: Update to support clocks in custom setUI mode
|
||||
0.16: Fix issue adding new patterns (fix #3858)
|
||||
Display message if tapping manage when there are no patterns
|
||||
Speed improvements
|
||||
|
|
@ -9,10 +9,10 @@ var showMainMenu = () => {
|
|||
var mainmenu = {
|
||||
"": {
|
||||
title: "Pattern Launcher",
|
||||
},
|
||||
"< Back": () => {
|
||||
log("cancel");
|
||||
load();
|
||||
back: () => {
|
||||
log("showMainMenu cancel");
|
||||
load();
|
||||
}
|
||||
},
|
||||
"Add Pattern": () => {
|
||||
log("creating pattern");
|
||||
|
|
@ -83,11 +83,11 @@ var showMainMenu = () => {
|
|||
var settingsmenu = {
|
||||
"": {
|
||||
title: "Pattern Settings",
|
||||
},
|
||||
"< Back": () => {
|
||||
log("cancel");
|
||||
load();
|
||||
},
|
||||
back: () => {
|
||||
log("settings cancel");
|
||||
showMainMenu();
|
||||
},
|
||||
}
|
||||
};
|
||||
|
||||
if (settings.lockDisabled) {
|
||||
|
|
@ -116,12 +116,7 @@ var showMainMenu = () => {
|
|||
|
||||
var recognizeAndDrawPattern = () => {
|
||||
return new Promise((resolve) => {
|
||||
E.showMenu();
|
||||
g.clear();
|
||||
drawCirclesWithPattern([]);
|
||||
|
||||
var pattern = [];
|
||||
|
||||
var isFinished = false;
|
||||
var finishHandler = () => {
|
||||
if (pattern.length === 0 || isFinished) {
|
||||
|
|
@ -129,15 +124,12 @@ var recognizeAndDrawPattern = () => {
|
|||
}
|
||||
log("Pattern is finished.");
|
||||
isFinished = true;
|
||||
Bangle.removeListener("drag", dragHandler);
|
||||
Bangle.removeListener("tap", finishHandler);
|
||||
Bangle.setUI();
|
||||
resolve(pattern.join(""));
|
||||
};
|
||||
setWatch(() => finishHandler(), BTN);
|
||||
// setTimeout(() => Bangle.on("tap", finishHandler), 250);
|
||||
|
||||
var positions = [];
|
||||
var getPattern = (positions) => {
|
||||
var getPattern = (positions) => { "ram";/*faster*/
|
||||
var circles = [
|
||||
{ x: 25, y: 25, i: 0 },
|
||||
{ x: 87, y: 25, i: 1 },
|
||||
|
|
@ -151,18 +143,8 @@ var recognizeAndDrawPattern = () => {
|
|||
];
|
||||
return positions.reduce((pattern, p, i, arr) => {
|
||||
var idx = circles.findIndex((c) => {
|
||||
var dx = p.x > c.x ? p.x - c.x : c.x - p.x;
|
||||
if (dx > CIRCLE_RADIUS) {
|
||||
return false;
|
||||
}
|
||||
var dy = p.y > c.y ? p.y - c.y : c.y - p.y;
|
||||
if (dy > CIRCLE_RADIUS) {
|
||||
return false;
|
||||
}
|
||||
if (dx + dy <= CIRCLE_RADIUS) {
|
||||
return true;
|
||||
}
|
||||
return dx * dx + dy * dy <= CIRCLE_RADIUS_2;
|
||||
var dx = p.x - c.x, dy = p.y - c.y;
|
||||
return dx*dx + dy*dy <= CIRCLE_RADIUS_2;
|
||||
});
|
||||
if (idx >= 0) {
|
||||
pattern += circles[idx].i;
|
||||
|
|
@ -183,7 +165,9 @@ var recognizeAndDrawPattern = () => {
|
|||
positions = [];
|
||||
}
|
||||
};
|
||||
Bangle.on("drag", dragHandler);
|
||||
g.clear();
|
||||
drawCirclesWithPattern([]);
|
||||
Bangle.setUI({mode:"custom", drag:dragHandler, btn :finishHandler});
|
||||
});
|
||||
};
|
||||
|
||||
|
|
@ -215,14 +199,14 @@ var getAppList = () => {
|
|||
};
|
||||
|
||||
var getSelectedApp = () => {
|
||||
E.showMessage("Loading apps...");
|
||||
E.showMessage(/*LANG*/"Loading apps...");
|
||||
return new Promise((resolve) => {
|
||||
var selectAppMenu = {
|
||||
"": {
|
||||
title: "Select App",
|
||||
title: /*LANG*/"Select App",
|
||||
},
|
||||
"< Cancel": () => {
|
||||
log("cancel");
|
||||
log("getSelectedApp cancel");
|
||||
showMainMenu();
|
||||
},
|
||||
};
|
||||
|
|
@ -286,6 +270,8 @@ var drawAppWithPattern = (i, r, storedPatterns) => {
|
|||
|
||||
var showScrollerContainingAppsWithPatterns = () => {
|
||||
var storedPatternsArray = getStoredPatternsArray();
|
||||
if (!storedPatternsArray.length)
|
||||
return E.showAlert(/*LANG*/"No Patterns",{title:/*LANG*/"Patterns"}).then(() => ({ pattern: "back", appName:"" }));
|
||||
log("drawing scroller for stored patterns");
|
||||
log(storedPatternsArray);
|
||||
log(storedPatternsArray.length);
|
||||
|
|
|
|||
|
|
@ -24,18 +24,8 @@
|
|||
];
|
||||
return positions.reduce((pattern, p, i, arr) => {
|
||||
var idx = circles.findIndex((c) => {
|
||||
var dx = p.x > c.x ? p.x - c.x : c.x - p.x;
|
||||
if (dx > CIRCLE_RADIUS) {
|
||||
return false;
|
||||
}
|
||||
var dy = p.y > c.y ? p.y - c.y : c.y - p.y;
|
||||
if (dy > CIRCLE_RADIUS) {
|
||||
return false;
|
||||
}
|
||||
if (dx + dy <= CIRCLE_RADIUS) {
|
||||
return true;
|
||||
}
|
||||
return dx * dx + dy * dy <= CIRCLE_RADIUS_2;
|
||||
var dx = p.x - c.x, dy = p.y - c.y;
|
||||
return dx*dx + dy*dy <= CIRCLE_RADIUS_2;
|
||||
});
|
||||
if (idx >= 0) {
|
||||
pattern += circles[idx].i;
|
||||
|
|
|
|||
|
|
@ -2,7 +2,7 @@
|
|||
"id": "ptlaunch",
|
||||
"name": "Pattern Launcher",
|
||||
"shortName": "Pattern Launcher",
|
||||
"version": "0.15",
|
||||
"version": "0.16",
|
||||
"description": "Directly launch apps from the clock screen with custom patterns.",
|
||||
"icon": "app.png",
|
||||
"screenshots": [{"url":"manage_patterns_light.png"}],
|
||||
|
|
|
|||
Loading…
Reference in New Issue