Move welcome loader into welcome.boot.js

master
Richard de Boer 2020-04-04 18:25:58 +02:00
parent a96f32a015
commit f8ef03bade
8 changed files with 51 additions and 48 deletions

View File

@ -2,7 +2,7 @@
{ "id": "boot",
"name": "Bootloader",
"icon": "bootloader.png",
"version":"0.13",
"version":"0.14",
"description": "This is needed by Bangle.js to automatically load the clock, menu, widgets and settings",
"tags": "tool,system",
"type":"bootloader",
@ -78,12 +78,12 @@
{ "id": "welcome",
"name": "Welcome",
"icon": "app.png",
"version":"0.05",
"version":"0.06",
"description": "Appears at first boot and explains how to use Bangle.js",
"tags": "start,welcome",
"allow_emulator":true,
"storage": [
{"name":"welcome.js","url":"welcome.js"},
{"name":"welcome.boot.js","url":"boot.js"},
{"name":"welcome.app.js","url":"app.js"},
{"name":"welcome.settings.js","url":"settings.js"},
{"name":"welcome.img","url":"app-icon.js","evaluate":true}

View File

@ -12,3 +12,4 @@
0.12: Add an event on BTN2 to open launcher when no clock detected (fix #147)
0.13: Now automatically load *.boot.js at startup
Move alarm code into alarm.boot.js
0.14: Move welcome loader into welcome.boot.js

View File

@ -40,6 +40,6 @@ delete s;
// stop users doing bad things!
global.save = function() { throw new Error("You can't use save() on Bangle.js without overwriting the bootloader!"); }
// Load *.boot.js files
var clockApps = require('Storage').list(/\.boot\.js/).map(bootFile=>{
require('Storage').list(/\.boot\.js/).map(bootFile=>{
eval(require('Storage').read(bootFile));
});

View File

@ -1,8 +1,5 @@
// This runs after a 'fresh' boot
var settings=require("Storage").readJSON('setting.json',1)||{};
if (!settings.welcomed && require("Storage").read("welcome.js")!==undefined) {
setTimeout(()=>load("welcome.js"));
} else {
// load clock if specified
var clockApp = settings.clock;
if (clockApp) clockApp = require("Storage").read(clockApp)
@ -39,4 +36,3 @@ if (!settings.welcomed && require("Storage").read("welcome.js")!==undefined) {
eval(clockApp);
delete clockApp;
}
}

View File

@ -3,3 +3,4 @@
0.03: BTN3 now won't restart when at the end
0.04: Fix regression after tweaks to Storage.readJSON
0.05: Move configuration into App/widget settings
0.06: Move loader into welcome.boot.js

View File

@ -283,16 +283,12 @@ setWatch(()=>move(1), BTN3, {repeat:true});
setWatch(()=>{
// If we're on the last page
if (sceneNumber == scenes.length-1) {
var settings = require("Storage").readJSON('setting.json',1)||{};
settings.welcomed = true;
require("Storage").write('setting.json',settings);
load();
}
}, BTN2, {repeat:true,edge:"rising"});
setWatch(()=>move(-1), BTN1, {repeat:true});
Bangle.setLCDTimeout(0);
Bangle.setLCDPower(1);
move(0);

10
apps/welcome/boot.js Normal file
View File

@ -0,0 +1,10 @@
(function() {
let s = require('Storage').readJSON('setting.json', 1) || {}
if (!s.welcomed && require('Storage').read('welcome.app.js')) {
setTimeout(() => {
s.welcomed = true
require('Storage').write('setting.json', s)
load('welcome.app.js')
})
}
})()

View File

@ -1 +0,0 @@
eval(require("Storage").read("welcome.app.js"))