mirror of https://github.com/espruino/BangleApps
tidying up beer & poi compass like in last qr code commit
parent
f5480bfa0f
commit
620cdc1de1
10
apps.json
10
apps.json
|
@ -546,14 +546,14 @@
|
|||
},
|
||||
{ "id": "beer",
|
||||
"name": "Beer Compass",
|
||||
"icon": "beercompass.png",
|
||||
"icon": "app.png",
|
||||
"version":"0.01",
|
||||
"description": "Uploads all the pubs in an area onto your watch, so it can always point you at the nearest one",
|
||||
"tags": "",
|
||||
"custom": "beercompass.html",
|
||||
"custom": "custom.html",
|
||||
"storage": [
|
||||
{"name":"beer.app.js"},
|
||||
{"name":"beer.img"}
|
||||
{"name":"beer.img","url":"app-icon.js","evaluate":true}
|
||||
]
|
||||
},
|
||||
{ "id": "route",
|
||||
|
@ -1481,10 +1481,10 @@
|
|||
"description": "Uploads all the points of interest in an area onto your watch, same as Beer Compass with more p.o.i.",
|
||||
"tags": "tool,outdoors,gps",
|
||||
"readme": "README.md",
|
||||
"custom": "osmpoi.html",
|
||||
"custom": "custom.html",
|
||||
"storage": [
|
||||
{"name":"osmpoi.app.js"},
|
||||
{"name":"osmpoi.img"}
|
||||
{"name":"osmpoi.img","url":"app-icon.js","evaluate":true}
|
||||
]
|
||||
},
|
||||
{ "id": "pong",
|
||||
|
|
|
@ -0,0 +1 @@
|
|||
require("heatshrink").decompress(atob("mEwghC/AB0O/4AG8AXNgYXHmAXl94XH+AXNn4XH/wXW+YX/C6oWHAAIXN7sz9vdAAoXN9sznvuAAXf/vuC53jC4Xd7wXQ93jn3u9vv9vt7wXT/4tBAgIXQ7wvCC4PgC5sO6czIQJfBC6PumaPDC6wwCC50NYAJcBVgIDBCxrAFbgYXP7yoDF6TADL4YXPVAIXCRyAXC7wXW9zwBC6cNC9zABC4gWQC653CR4fQC6x3TF6gXXI4M9d6wAEC9EN73dAAZfQgczAAkwC/4XXAH4"))
|
Before Width: | Height: | Size: 1.2 KiB After Width: | Height: | Size: 1.2 KiB |
|
@ -196,12 +196,10 @@ Bangle.on('mag', function(m) {
|
|||
Bangle.setCompassPower(1);
|
||||
Bangle.setGPSPower(1);
|
||||
g.clear();`;
|
||||
var icon = `require("heatshrink").decompress(atob("mEwghC/AB0O/4AG8AXNgYXHmAXl94XH+AXNn4XH/wXW+YX/C6oWHAAIXN7sz9vdAAoXN9sznvuAAXf/vuC53jC4Xd7wXQ93jn3u9vv9vt7wXT/4tBAgIXQ7wvCC4PgC5sO6czIQJfBC6PumaPDC6wwCC50NYAJcBVgIDBCxrAFbgYXP7yoDF6TADL4YXPVAIXCRyAXC7wXW9zwBC6cNC9zABC4gWQC653CR4fQC6x3TF6gXXI4M9d6wAEC9EN73dAAZfQgczAAkwC/4XXAH4"))`;
|
||||
|
||||
sendCustomizedApp({
|
||||
storage:[
|
||||
{name:"beer.app.js", content:app},
|
||||
{name:"beer.img", content:icon, evaluate:true},
|
||||
{name:"beer.app.js", content:app}
|
||||
]
|
||||
});
|
||||
});
|
|
@ -0,0 +1 @@
|
|||
require("heatshrink").decompress(atob("mEwxH+AH4A0PgYurg9kr0rGM4nBg9dsgADmUHGUYtHAAddGIJcgFpIxEMTsAlYtMAAZiaLh4AFmQwXLiSTaLiosBnMymUrGCYTBAAgvPCgjwaMh4raF/4v/F/4vUg4vulZgDgAAIF8EyEQUAh0cAAkVisHGA4+HF6gVBiwwFjkONo0HAAMOAAIvTnIhEiovMFQQADNgYvQroUDg4uGjj9EF448DF6a+HAAS+EF5CQCF6SMIeAQvFXYYwHF59eLpSOBF4hgKGAIvPskAFxKOFF80VM4KOFSBs5F6EWRY4xBF43+F5UyF6DuEizZBKwIuHSBQvXdIwvKMYsHlYvQW4IuPYAYRBMggvRgIvCFxwwCTYZlEg4vPlcHjkVFx6WJF6YuXMoTwCF58yVgIvXY4YvQrqqDGDAvvPYIvPsguaYQYv/F7owBF/4vfg4AGTIIAHF7gA/AH4AwA="))
|
|
@ -213,12 +213,10 @@ Bangle.on('mag', function(m) {
|
|||
Bangle.setCompassPower(1);
|
||||
Bangle.setGPSPower(1);
|
||||
g.clear();`;
|
||||
var icon = `require("heatshrink").decompress(atob("mEwxH+AH4A0PgYurg9kr0rGM4nBg9dsgADmUHGUYtHAAddGIJcgFpIxEMTsAlYtMAAZiaLh4AFmQwXLiSTaLiosBnMymUrGCYTBAAgvPCgjwaMh4raF/4v/F/4vUg4vulZgDgAAIF8EyEQUAh0cAAkVisHGA4+HF6gVBiwwFjkONo0HAAMOAAIvTnIhEiovMFQQADNgYvQroUDg4uGjj9EF448DF6a+HAAS+EF5CQCF6SMIeAQvFXYYwHF59eLpSOBF4hgKGAIvPskAFxKOFF80VM4KOFSBs5F6EWRY4xBF43+F5UyF6DuEizZBKwIuHSBQvXdIwvKMYsHlYvQW4IuPYAYRBMggvRgIvCFxwwCTYZlEg4vPlcHjkVFx6WJF6YuXMoTwCF58yVgIvXY4YvQrqqDGDAvvPYIvPsguaYQYv/F7owBF/4vfg4AGTIIAHF7gA/AH4AwA="))`;
|
||||
|
||||
sendCustomizedApp({
|
||||
storage:[
|
||||
{name:"osmpoi.app.js", content:app},
|
||||
{name:"osmpoi.img", content:icon, evaluate:true},
|
||||
{name:"osmpoi.app.js", content:app}
|
||||
]
|
||||
});
|
||||
});
|
12
js/index.js
12
js/index.js
|
@ -68,9 +68,15 @@ function handleCustomApp(appTemplate) {
|
|||
var iframe = modal.getElementsByTagName("iframe")[0];
|
||||
iframe.contentWindow.addEventListener("message", function(event) {
|
||||
var appFiles = event.data;
|
||||
var app = {};
|
||||
Object.keys(appTemplate).forEach(k => app[k] = appTemplate[k]);
|
||||
Object.keys(appFiles).forEach(k => app[k] = appFiles[k]);
|
||||
var app = JSON.parse(JSON.stringify(appTemplate)); // clone template
|
||||
// copy extra keys from appFiles
|
||||
Object.keys(appFiles).forEach(k => {
|
||||
if (k!="storage") app[k] = appFiles[k]
|
||||
});
|
||||
appFiles.storage.forEach(f => {
|
||||
app.storage = app.storage.filter(s=>s.name!=f.name); // remove existing item
|
||||
app.storage.push(f); // add new
|
||||
});
|
||||
console.log("Received custom app", app);
|
||||
modal.remove();
|
||||
Comms.uploadApp(app).then(()=>{
|
||||
|
|
Loading…
Reference in New Issue