From 620cdc1de12047c7df0dc5af45604afce2bf19bd Mon Sep 17 00:00:00 2001 From: Gordon Williams Date: Wed, 6 May 2020 09:55:14 +0100 Subject: [PATCH] tidying up beer & poi compass like in last qr code commit --- apps.json | 10 +++++----- apps/beer/app-icon.js | 1 + apps/beer/{beercompass.png => app.png} | Bin apps/beer/{beercompass.html => custom.html} | 4 +--- apps/osmpoi/app-icon.js | 1 + apps/osmpoi/{osmpoi.html => custom.html} | 4 +--- js/index.js | 12 +++++++++--- 7 files changed, 18 insertions(+), 14 deletions(-) create mode 100644 apps/beer/app-icon.js rename apps/beer/{beercompass.png => app.png} (100%) rename apps/beer/{beercompass.html => custom.html} (94%) create mode 100644 apps/osmpoi/app-icon.js rename apps/osmpoi/{osmpoi.html => custom.html} (93%) diff --git a/apps.json b/apps.json index a18795788..fd834bbf9 100644 --- a/apps.json +++ b/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", diff --git a/apps/beer/app-icon.js b/apps/beer/app-icon.js new file mode 100644 index 000000000..c700b3bd2 --- /dev/null +++ b/apps/beer/app-icon.js @@ -0,0 +1 @@ +require("heatshrink").decompress(atob("mEwghC/AB0O/4AG8AXNgYXHmAXl94XH+AXNn4XH/wXW+YX/C6oWHAAIXN7sz9vdAAoXN9sznvuAAXf/vuC53jC4Xd7wXQ93jn3u9vv9vt7wXT/4tBAgIXQ7wvCC4PgC5sO6czIQJfBC6PumaPDC6wwCC50NYAJcBVgIDBCxrAFbgYXP7yoDF6TADL4YXPVAIXCRyAXC7wXW9zwBC6cNC9zABC4gWQC653CR4fQC6x3TF6gXXI4M9d6wAEC9EN73dAAZfQgczAAkwC/4XXAH4")) diff --git a/apps/beer/beercompass.png b/apps/beer/app.png similarity index 100% rename from apps/beer/beercompass.png rename to apps/beer/app.png diff --git a/apps/beer/beercompass.html b/apps/beer/custom.html similarity index 94% rename from apps/beer/beercompass.html rename to apps/beer/custom.html index 434f0f6a9..ab3f80b50 100644 --- a/apps/beer/beercompass.html +++ b/apps/beer/custom.html @@ -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} ] }); }); diff --git a/apps/osmpoi/app-icon.js b/apps/osmpoi/app-icon.js new file mode 100644 index 000000000..a2baf9e9e --- /dev/null +++ b/apps/osmpoi/app-icon.js @@ -0,0 +1 @@ +require("heatshrink").decompress(atob("mEwxH+AH4A0PgYurg9kr0rGM4nBg9dsgADmUHGUYtHAAddGIJcgFpIxEMTsAlYtMAAZiaLh4AFmQwXLiSTaLiosBnMymUrGCYTBAAgvPCgjwaMh4raF/4v/F/4vUg4vulZgDgAAIF8EyEQUAh0cAAkVisHGA4+HF6gVBiwwFjkONo0HAAMOAAIvTnIhEiovMFQQADNgYvQroUDg4uGjj9EF448DF6a+HAAS+EF5CQCF6SMIeAQvFXYYwHF59eLpSOBF4hgKGAIvPskAFxKOFF80VM4KOFSBs5F6EWRY4xBF43+F5UyF6DuEizZBKwIuHSBQvXdIwvKMYsHlYvQW4IuPYAYRBMggvRgIvCFxwwCTYZlEg4vPlcHjkVFx6WJF6YuXMoTwCF58yVgIvXY4YvQrqqDGDAvvPYIvPsguaYQYv/F7owBF/4vfg4AGTIIAHF7gA/AH4AwA=")) diff --git a/apps/osmpoi/osmpoi.html b/apps/osmpoi/custom.html similarity index 93% rename from apps/osmpoi/osmpoi.html rename to apps/osmpoi/custom.html index aa2f39c51..82532f64e 100644 --- a/apps/osmpoi/osmpoi.html +++ b/apps/osmpoi/custom.html @@ -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} ] }); }); diff --git a/js/index.js b/js/index.js index 888d665e7..fdefa22d5 100644 --- a/js/index.js +++ b/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(()=>{