Add 'reinstall apps' button

pull/1639/head
Gordon Williams 2022-03-30 15:55:31 +01:00
parent 48efab699d
commit 00f1de401a
2 changed files with 27 additions and 3 deletions

View File

@ -128,9 +128,10 @@
<h3>Utilities</h3> <h3>Utilities</h3>
<p><button class="btn" id="settime">Set Bangle.js Time</button> <p><button class="btn" id="settime">Set Bangle.js Time</button>
<button class="btn" id="removeall">Remove all Apps</button> <button class="btn" id="removeall" data-tooltip="Delete everything from your Bangle, leaving it blank">Remove all Apps</button>
<button class="btn" id="reinstallall" data-tooltip="Remove and re-install every app, leaving all other data intact">Reinstall apps</button>
<button class="btn" id="installdefault">Install default apps</button> <button class="btn" id="installdefault">Install default apps</button>
<button class="btn" id="installfavourite">Install favourite apps</button></p> <button class="btn" id="installfavourite" data-tooltip="Delete everything, install apps you've marked as favourites">Install favourite apps</button></p>
<p><button class="btn tooltip tooltip-right" id="downloadallapps" data-tooltip="Download all Bangle.js files to a ZIP file">Backup</button> <p><button class="btn tooltip tooltip-right" id="downloadallapps" data-tooltip="Download all Bangle.js files to a ZIP file">Backup</button>
<button class="btn tooltip tooltip-right" id="uploadallapps" data-tooltip="Restore Bangle.js from a ZIP file">Restore</button></p> <button class="btn tooltip tooltip-right" id="uploadallapps" data-tooltip="Restore Bangle.js from a ZIP file">Restore</button></p>
<h3>Settings</h3> <h3>Settings</h3>

View File

@ -155,6 +155,29 @@ window.addEventListener('load', (event) => {
}); });
}); });
// Button to install all default apps in one go
document.getElementById("reinstallall").addEventListener("click",event=>{
var promise = showPrompt("Reinstall","Really re-install all apps?").then(() => {
getInstalledApps().then(installedapps => {
console.log(installedapps);
var promise = Promise.resolve();
installedapps.forEach(app => {
if (app.custom)
return console.log(`Ignoring ${app.id} as customised`);
var oldApp = app;
app = appJSON.find(a => a.id==oldApp.id);
if (!app)
return console.log(`Ignoring ${oldApp.id} as not found`);
promise = promise.then(() => updateApp(app));
});
return promise;
}).catch(err=>{
Progress.hide({sticky:true});
showToast("App re-install failed, "+err,"error");
});
});
});
// Button to install all default apps in one go // Button to install all default apps in one go
document.getElementById("installdefault").addEventListener("click",event=>{ document.getElementById("installdefault").addEventListener("click",event=>{
getInstalledApps().then(() => { getInstalledApps().then(() => {