From 2ed65f3eadcb0802935bc7cc9cd7e80702f55470 Mon Sep 17 00:00:00 2001 From: Gordon Williams Date: Thu, 14 May 2020 21:32:36 +0100 Subject: [PATCH] Welcome: Allow welcome to run after a fresh install + More useful app menu + BTN2 now goes to menu on release --- apps.json | 4 ++-- apps/ncstart/ChangeLog | 1 + apps/ncstart/boot.js | 9 +++------ apps/welcome/ChangeLog | 3 +++ apps/welcome/app.js | 2 +- apps/welcome/boot.js | 9 +++------ apps/welcome/settings.js | 8 ++++++-- 7 files changed, 19 insertions(+), 17 deletions(-) diff --git a/apps.json b/apps.json index 906331f65..7d4bf20cf 100644 --- a/apps.json +++ b/apps.json @@ -78,7 +78,7 @@ { "id": "welcome", "name": "Welcome", "icon": "app.png", - "version":"0.08", + "version":"0.09", "description": "Appears at first boot and explains how to use Bangle.js", "tags": "start,welcome", "allow_emulator":true, @@ -589,7 +589,7 @@ "id": "ncstart", "name": "NCEU Startup", "icon": "start.png", - "version":"0.05", + "version":"0.06", "description": "NodeConfEU 2019 'First Start' Sequence", "tags": "start,welcome", "storage": [ diff --git a/apps/ncstart/ChangeLog b/apps/ncstart/ChangeLog index 522633f7b..152fdc9d1 100644 --- a/apps/ncstart/ChangeLog +++ b/apps/ncstart/ChangeLog @@ -6,3 +6,4 @@ Don't run again when settings app is updated (or absent) Add "Run Now" option to settings 0.05: Don't overwrite existing settings on app update +0.06: Allow welcome to run after a fresh install diff --git a/apps/ncstart/boot.js b/apps/ncstart/boot.js index 094033094..62ac962f6 100644 --- a/apps/ncstart/boot.js +++ b/apps/ncstart/boot.js @@ -1,11 +1,8 @@ (function() { - let s = require('Storage').readJSON('ncstart.json', 1) - || require('Storage').readJSON('setting.json', 1) - || {welcomed: true} // do NOT run if global settings are also absent - if (!s.welcomed && require('Storage').read('ncstart.app.js')) { + let s = require('Storage').readJSON('ncstart.json', 1) || {}; + if (!s.welcomed) { setTimeout(() => { - s.welcomed = true - require('Storage').write('ncstart.json', s) + require('Storage').write('ncstart.json', {welcomed: true}) load('ncstart.app.js') }) } diff --git a/apps/welcome/ChangeLog b/apps/welcome/ChangeLog index a377fc81e..9545dbbfa 100644 --- a/apps/welcome/ChangeLog +++ b/apps/welcome/ChangeLog @@ -8,3 +8,6 @@ Don't run again when settings app is updated (or absent) Add "Run Now" option to settings 0.08: Don't overwrite existing settings on app update +0.09: Allow welcome to run after a fresh install + More useful app menu + BTN2 now goes to menu on release diff --git a/apps/welcome/app.js b/apps/welcome/app.js index a32a6e56f..b4c79ddaa 100644 --- a/apps/welcome/app.js +++ b/apps/welcome/app.js @@ -285,7 +285,7 @@ setWatch(()=>{ if (sceneNumber == scenes.length-1) { load(); } -}, BTN2, {repeat:true,edge:"rising"}); +}, BTN2, {repeat:true,edge:"falling"}); setWatch(()=>move(-1), BTN1, {repeat:true}); (function migrateSettings(){ diff --git a/apps/welcome/boot.js b/apps/welcome/boot.js index f6ba6d2d6..4e3a12231 100644 --- a/apps/welcome/boot.js +++ b/apps/welcome/boot.js @@ -1,11 +1,8 @@ (function() { - let s = require('Storage').readJSON('welcome.json', 1) - || require('Storage').readJSON('setting.json', 1) - || {welcomed: true} // do NOT run if global settings are also absent - if (!s.welcomed && require('Storage').read('welcome.app.js')) { + let s = require('Storage').readJSON('welcome.json', 1) || {}; + if (!s.welcomed) { setTimeout(() => { - s.welcomed = true - require('Storage').write('welcome.json', {welcomed: "yes"}) + require('Storage').write('welcome.json', {welcomed: true}) load('welcome.app.js') }) } diff --git a/apps/welcome/settings.js b/apps/welcome/settings.js index 20c2e9b13..4992e6e7a 100644 --- a/apps/welcome/settings.js +++ b/apps/welcome/settings.js @@ -3,12 +3,16 @@ || require('Storage').readJSON('setting.json', 1) || {} E.showMenu({ '': { 'title': 'Welcome App' }, - 'Run on Next Boot': { + 'Run next boot': { value: !settings.welcomed, - format: v => v ? 'OK' : 'No', + format: v => v ? 'Yes' : 'No', onchange: v => require('Storage').write('welcome.json', {welcomed: !v}), }, 'Run Now': () => load('welcome.app.js'), + 'Turn off, run next boot': () => { + require('Storage').write('welcome.json', {welcomed: false}); + Bangle.off(); + }, '< Back': back, }) })