Merge pull request #318 from rigrig/data_files

Data files
master
Gordon Williams 2020-04-20 11:46:58 +01:00 committed by GitHub
commit 14df398bb6
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
19 changed files with 54 additions and 68 deletions

View File

@ -78,7 +78,7 @@
{ "id": "welcome", { "id": "welcome",
"name": "Welcome", "name": "Welcome",
"icon": "app.png", "icon": "app.png",
"version":"0.07", "version":"0.08",
"description": "Appears at first boot and explains how to use Bangle.js", "description": "Appears at first boot and explains how to use Bangle.js",
"tags": "start,welcome", "tags": "start,welcome",
"allow_emulator":true, "allow_emulator":true,
@ -86,8 +86,10 @@
{"name":"welcome.boot.js","url":"boot.js"}, {"name":"welcome.boot.js","url":"boot.js"},
{"name":"welcome.app.js","url":"app.js"}, {"name":"welcome.app.js","url":"app.js"},
{"name":"welcome.settings.js","url":"settings.js"}, {"name":"welcome.settings.js","url":"settings.js"},
{"name":"welcome.settings.json","url":"settings-default.json","evaluate":true},
{"name":"welcome.img","url":"app-icon.js","evaluate":true} {"name":"welcome.img","url":"app-icon.js","evaluate":true}
],
"data": [
{"name":"welcome.json"}
] ]
}, },
{ "id": "gbridge", { "id": "gbridge",
@ -120,13 +122,12 @@
{ "id": "setting", { "id": "setting",
"name": "Settings", "name": "Settings",
"icon": "settings.png", "icon": "settings.png",
"version":"0.17", "version":"0.18",
"description": "A menu for setting up Bangle.js", "description": "A menu for setting up Bangle.js",
"tags": "tool,system", "tags": "tool,system",
"storage": [ "storage": [
{"name":"setting.app.js","url":"settings.js"}, {"name":"setting.app.js","url":"settings.js"},
{"name":"setting.boot.js","url":"boot.js"}, {"name":"setting.boot.js","url":"boot.js"},
{"name":"setting.json","url":"settings-default.json","evaluate":true},
{"name":"setting.img","url":"settings-icon.js","evaluate":true} {"name":"setting.img","url":"settings-icon.js","evaluate":true}
], ],
"sortorder" : -2 "sortorder" : -2
@ -135,16 +136,18 @@
"name": "Default Alarm", "name": "Default Alarm",
"shortName":"Alarms", "shortName":"Alarms",
"icon": "app.png", "icon": "app.png",
"version":"0.06", "version":"0.07",
"description": "Set and respond to alarms", "description": "Set and respond to alarms",
"tags": "tool,alarm,widget", "tags": "tool,alarm,widget",
"storage": [ "storage": [
{"name":"alarm.app.js","url":"app.js"}, {"name":"alarm.app.js","url":"app.js"},
{"name":"alarm.boot.js","url":"boot.js"}, {"name":"alarm.boot.js","url":"boot.js"},
{"name":"alarm.js","url":"alarm.js"}, {"name":"alarm.js","url":"alarm.js"},
{"name":"alarm.json","content":"[]"},
{"name":"alarm.img","url":"app-icon.js","evaluate":true}, {"name":"alarm.img","url":"app-icon.js","evaluate":true},
{"name":"alarm.wid.js","url":"widget.js"} {"name":"alarm.wid.js","url":"widget.js"}
],
"data": [
{"name":"alarm.json"}
] ]
}, },
{ "id": "wclock", { "id": "wclock",
@ -280,15 +283,18 @@
{ "id": "gpsrec", { "id": "gpsrec",
"name": "GPS Recorder", "name": "GPS Recorder",
"icon": "app.png", "icon": "app.png",
"version":"0.07", "version":"0.08",
"interface": "interface.html", "interface": "interface.html",
"description": "Application that allows you to record a GPS track. Can run in background", "description": "Application that allows you to record a GPS track. Can run in background",
"tags": "tool,outdoors,gps,widget", "tags": "tool,outdoors,gps,widget",
"storage": [ "storage": [
{"name":"gpsrec.app.js","url":"app.js"}, {"name":"gpsrec.app.js","url":"app.js"},
{"name":"gpsrec.json","url":"app-settings.json","evaluate":true},
{"name":"gpsrec.img","url":"app-icon.js","evaluate":true}, {"name":"gpsrec.img","url":"app-icon.js","evaluate":true},
{"name":"gpsrec.wid.js","url":"widget.js"} {"name":"gpsrec.wid.js","url":"widget.js"}
],
"data": [
{"name":"gpsrec.json"},
{"wildcard":".gpsrc?","storageFile": true}
] ]
}, },
{ "id": "gpsnav", { "id": "gpsnav",
@ -306,15 +312,18 @@
{ "id": "heart", { "id": "heart",
"name": "Heart Rate Recorder", "name": "Heart Rate Recorder",
"icon": "app.png", "icon": "app.png",
"version":"0.01", "version":"0.02",
"interface": "interface.html", "interface": "interface.html",
"description": "Application that allows you to record your heart rate. Can run in background", "description": "Application that allows you to record your heart rate. Can run in background",
"tags": "tool,health,widget", "tags": "tool,health,widget",
"storage": [ "storage": [
{"name":"heart.app.js","url":"app.js"}, {"name":"heart.app.js","url":"app.js"},
{"name":"heart.json","url":"app-settings.json","evaluate":true},
{"name":"heart.img","url":"app-icon.js","evaluate":true}, {"name":"heart.img","url":"app-icon.js","evaluate":true},
{"name":"heart.wid.js","url":"widget.js"} {"name":"heart.wid.js","url":"widget.js"}
],
"data": [
{"name":"heart.json"},
{"wildcard":".heart?","storageFile": true}
] ]
}, },
{ "id": "slevel", { "id": "slevel",
@ -354,14 +363,16 @@
"name": "Battery Level Widget (with percentage)", "name": "Battery Level Widget (with percentage)",
"shortName": "Battery Widget", "shortName": "Battery Widget",
"icon": "widget.png", "icon": "widget.png",
"version":"0.10", "version":"0.11",
"description": "Show the current battery level and charging status in the top right of the clock, with charge percentage", "description": "Show the current battery level and charging status in the top right of the clock, with charge percentage",
"tags": "widget,battery", "tags": "widget,battery",
"type":"widget", "type":"widget",
"storage": [ "storage": [
{"name":"widbatpc.wid.js","url":"widget.js"}, {"name":"widbatpc.wid.js","url":"widget.js"},
{"name":"widbatpc.settings.js","url":"settings.js"}, {"name":"widbatpc.settings.js","url":"settings.js"}
{"name":"widbatpc.settings.json","content": "{}"} ],
"data": [
{"name":"widbatpc.json"}
] ]
}, },
{ "id": "widbt", { "id": "widbt",
@ -529,20 +540,22 @@
"id": "ncstart", "id": "ncstart",
"name": "NCEU Startup", "name": "NCEU Startup",
"icon": "start.png", "icon": "start.png",
"version":"0.04", "version":"0.05",
"description": "NodeConfEU 2019 'First Start' Sequence", "description": "NodeConfEU 2019 'First Start' Sequence",
"tags": "start,welcome", "tags": "start,welcome",
"storage": [ "storage": [
{"name":"ncstart.app.js","url":"start.js"}, {"name":"ncstart.app.js","url":"start.js"},
{"name":"ncstart.boot.js","url":"boot.js"}, {"name":"ncstart.boot.js","url":"boot.js"},
{"name":"ncstart.settings.js","url":"settings.js"}, {"name":"ncstart.settings.js","url":"settings.js"},
{"name":"ncstart.settings.json","url":"settings-default.json","evaluate":true},
{"name":"ncstart.img","url":"start-icon.js","evaluate":true}, {"name":"ncstart.img","url":"start-icon.js","evaluate":true},
{"name":"nc-bangle.img","url":"start-bangle.js","evaluate":true}, {"name":"nc-bangle.img","url":"start-bangle.js","evaluate":true},
{"name":"nc-nceu.img","url":"start-nceu.js","evaluate":true}, {"name":"nc-nceu.img","url":"start-nceu.js","evaluate":true},
{"name":"nc-nfr.img","url":"start-nfr.js","evaluate":true}, {"name":"nc-nfr.img","url":"start-nfr.js","evaluate":true},
{"name":"nc-nodew.img","url":"start-nodew.js","evaluate":true}, {"name":"nc-nodew.img","url":"start-nodew.js","evaluate":true},
{"name":"nc-tf.img","url":"start-tf.js","evaluate":true} {"name":"nc-tf.img","url":"start-tf.js","evaluate":true}
],
"data": [
{"name":"ncstart.json"}
] ]
}, },
{ "id": "ncfrun", { "id": "ncfrun",
@ -1234,7 +1247,7 @@
"name": "Numerals Clock", "name": "Numerals Clock",
"shortName": "Numerals Clock", "shortName": "Numerals Clock",
"icon": "numerals.png", "icon": "numerals.png",
"version":"0.03", "version":"0.04",
"description": "A simple big numerals clock", "description": "A simple big numerals clock",
"tags": "numerals,clock", "tags": "numerals,clock",
"type":"clock", "type":"clock",
@ -1242,8 +1255,10 @@
"storage": [ "storage": [
{"name":"numerals.app.js","url":"numerals.app.js"}, {"name":"numerals.app.js","url":"numerals.app.js"},
{"name":"numerals.img","url":"numerals-icon.js","evaluate":true}, {"name":"numerals.img","url":"numerals-icon.js","evaluate":true},
{"name":"numerals.settings.js","url":"numerals.settings.js"}, {"name":"numerals.settings.js","url":"numerals.settings.js"}
{"name":"numerals.json","url":"numerals-default.json","evaluate":true} ],
"data":[
{"name":"numerals.json"}
] ]
}, },
{ "id": "bledetect", { "id": "bledetect",

View File

@ -4,3 +4,4 @@
0.04: Tweaks for variable size widget system 0.04: Tweaks for variable size widget system
0.05: Add alarm.boot.js and move code from the bootloader 0.05: Add alarm.boot.js and move code from the bootloader
0.06: Change 'New Alarm' to 'Save', allow Deletion of Alarms 0.06: Change 'New Alarm' to 'Save', allow Deletion of Alarms
0.07: Don't overwrite existing settings on app update

View File

@ -5,3 +5,5 @@
0.05: Tweaks for variable size widget system 0.05: Tweaks for variable size widget system
0.06: Ensure widget update itself (fix #118) and change to using icons 0.06: Ensure widget update itself (fix #118) and change to using icons
0.07: Added @jeffmer's awesome track viewer 0.07: Added @jeffmer's awesome track viewer
0.08: Don't overwrite existing settings on app update
Clean up recorded tracks on app removal

View File

@ -1,2 +1,3 @@
0.01: New App! 0.01: New App!
0.02: Don't overwrite existing settings on app update
Clean up recordings on app removal

View File

@ -5,3 +5,4 @@
0.04: Run again when updated 0.04: Run again when updated
Don't run again when settings app is updated (or absent) Don't run again when settings app is updated (or absent)
Add "Run Now" option to settings Add "Run Now" option to settings
0.05: Don't overwrite existing settings on app update

View File

@ -1,11 +1,11 @@
(function() { (function() {
let s = require('Storage').readJSON('ncstart.settings.json', 1) let s = require('Storage').readJSON('ncstart.json', 1)
|| require('Storage').readJSON('setting.json', 1) || require('Storage').readJSON('setting.json', 1)
|| {welcomed: true} // do NOT run if global settings are also absent || {welcomed: true} // do NOT run if global settings are also absent
if (!s.welcomed && require('Storage').read('ncstart.app.js')) { if (!s.welcomed && require('Storage').read('ncstart.app.js')) {
setTimeout(() => { setTimeout(() => {
s.welcomed = true s.welcomed = true
require('Storage').write('ncstart.settings.json', s) require('Storage').write('ncstart.json', s)
load('ncstart.app.js') load('ncstart.app.js')
}) })
} }

View File

@ -1,3 +0,0 @@
{
"welcomed": false
}

View File

@ -1,13 +1,12 @@
// The welcome app is special, and gets to use global settings
(function(back) { (function(back) {
let settings = require('Storage').readJSON('ncstart.settings.json', 1) let settings = require('Storage').readJSON('ncstart.json', 1)
|| require('Storage').readJSON('setting.json', 1) || {} || require('Storage').readJSON('setting.json', 1) || {}
E.showMenu({ E.showMenu({
'': { 'title': 'NCEU Startup' }, '': { 'title': 'NCEU Startup' },
'Run on Next Boot': { 'Run on Next Boot': {
value: !settings.welcomed, value: !settings.welcomed,
format: v => v ? 'OK' : 'No', format: v => v ? 'OK' : 'No',
onchange: v => require('Storage').write('ncstart.settings.json', {welcomed: !v}), onchange: v => require('Storage').write('ncstart.json', {welcomed: !v}),
}, },
'Run Now': () => load('ncstart.app.js'), 'Run Now': () => load('ncstart.app.js'),
'< Back': back, '< Back': back,

View File

@ -1,3 +1,4 @@
0.01: New App! 0.01: New App!
0.02: Use BTN2 for settings menu like other clocks 0.02: Use BTN2 for settings menu like other clocks
0.03: maximize numerals, make menu button configurable, change icon to mac palette, add default settings file, respect 12hour setting 0.03: maximize numerals, make menu button configurable, change icon to mac palette, add default settings file, respect 12hour setting
0.04: Don't overwrite existing settings on app update

View File

@ -1,5 +0,0 @@
{
color:0,
drawMode:"fill",
menuButton:22
}

View File

@ -19,3 +19,4 @@
0.15: Reduce memory usage when running default clock chooser (#294) 0.15: Reduce memory usage when running default clock chooser (#294)
0.16: Reduce memory usage further when running app settings page 0.16: Reduce memory usage further when running app settings page
0.17: Remove need for "settings" in appid.info 0.17: Remove need for "settings" in appid.info
0.18: Don't overwrite existing settings on app update

View File

@ -1,25 +0,0 @@
{
ble: true, // Bluetooth enabled by default
blerepl: true, // Is REPL on Bluetooth - can Espruino IDE be used?
log: false, // Do log messages appear on screen?
timeout: 10, // Default LCD timeout in seconds
vibrate: true, // Vibration enabled by default. App must support
beep: "vib", // Beep enabled by default. App must support
timezone: 0, // Set the timezone for the device
HID : false, // BLE HID mode, off by default
clock: null, // a string for the default clock's name
"12hour" : false, // 12 or 24 hour clock?
// welcomed : undefined/true (whether welcome app should show)
brightness: 1, // LCD brightness from 0 to 1
options: {
wakeOnBTN1: true,
wakeOnBTN2: true,
wakeOnBTN3: true,
wakeOnFaceUp: false,
wakeOnTouch: false,
wakeOnTwist: true,
twistThreshold: 819.2,
twistMaxY: -800,
twistTimeout: 1000
}
}

View File

@ -7,3 +7,4 @@
0.07: Run again when updated 0.07: Run again when updated
Don't run again when settings app is updated (or absent) Don't run again when settings app is updated (or absent)
Add "Run Now" option to settings Add "Run Now" option to settings
0.08: Don't overwrite existing settings on app update

View File

@ -1,11 +1,11 @@
(function() { (function() {
let s = require('Storage').readJSON('welcome.settings.json', 1) let s = require('Storage').readJSON('welcome.json', 1)
|| require('Storage').readJSON('setting.json', 1) || require('Storage').readJSON('setting.json', 1)
|| {welcomed: true} // do NOT run if global settings are also absent || {welcomed: true} // do NOT run if global settings are also absent
if (!s.welcomed && require('Storage').read('welcome.app.js')) { if (!s.welcomed && require('Storage').read('welcome.app.js')) {
setTimeout(() => { setTimeout(() => {
s.welcomed = true s.welcomed = true
require('Storage').write('welcome.settings.json', {welcomed: "yes"}) require('Storage').write('welcome.json', {welcomed: "yes"})
load('welcome.app.js') load('welcome.app.js')
}) })
} }

View File

@ -1,3 +0,0 @@
{
"welcomed": false
}

View File

@ -1,13 +1,12 @@
// The welcome app is special, and gets to use global settings
(function(back) { (function(back) {
let settings = require('Storage').readJSON('welcome.settings.json', 1) let settings = require('Storage').readJSON('welcome.json', 1)
|| require('Storage').readJSON('setting.json', 1) || {} || require('Storage').readJSON('setting.json', 1) || {}
E.showMenu({ E.showMenu({
'': { 'title': 'Welcome App' }, '': { 'title': 'Welcome App' },
'Run on Next Boot': { 'Run on Next Boot': {
value: !settings.welcomed, value: !settings.welcomed,
format: v => v ? 'OK' : 'No', format: v => v ? 'OK' : 'No',
onchange: v => require('Storage').write('welcome.settings.json', {welcomed: !v}), onchange: v => require('Storage').write('welcome.json', {welcomed: !v}),
}, },
'Run Now': () => load('welcome.app.js'), 'Run Now': () => load('welcome.app.js'),
'< Back': back, '< Back': back,

View File

@ -7,3 +7,4 @@
0.08: Draw percentage as inverted on monochrome battery 0.08: Draw percentage as inverted on monochrome battery
0.09: Fix regression stopping correct widget updates 0.09: Fix regression stopping correct widget updates
0.10: Add 'hide if charge greater than' 0.10: Add 'hide if charge greater than'
0.11: Don't overwrite existing settings on app update

View File

@ -3,7 +3,7 @@
* @param {function} back Use back() to return to settings menu * @param {function} back Use back() to return to settings menu
*/ */
(function(back) { (function(back) {
const SETTINGS_FILE = 'widbatpc.settings.json' const SETTINGS_FILE = 'widbatpc.json'
const COLORS = ['By Level', 'Green', 'Monochrome'] const COLORS = ['By Level', 'Green', 'Monochrome']
// initialize with default settings... // initialize with default settings...

View File

@ -6,7 +6,7 @@ const COLORS = {
'ok': 0xFD20, // "Orange" 'ok': 0xFD20, // "Orange"
'low':0xF800, // "Red" 'low':0xF800, // "Red"
} }
const SETTINGS_FILE = 'widbatpc.settings.json' const SETTINGS_FILE = 'widbatpc.json'
let settings let settings
function loadSettings() { function loadSettings() {