Eine Sonderstellung unter den Anwendungen nehmen solche ein, die dazu gedacht sind, eine "echte" Uhr nachzubilden. Genau eine dieser Anwendungen kann als Standard-Uhr konfiguriert werden - nach dem Neustart einer Bangle.js wird diese Uhr dann automatisch mitgestartet.
Welche Uhr gerade als Standard konfiguriert ist, erfährt man aus der Datei @setting
:
const Storage = require('Storage');
let StdClock;
try {
StdClock = Storage.readJSON('@setting')['clock'];
} catch (Signal) { /* nop */ }
if (StdClock) {
print('currently configured standard clock: "' + StdClock.slice(1) + '"');
} else {
print('no standard clock configured');
}
Die Liste aller installierten Uhren entspricht der Liste aller Anwendungen vom Typ 'clock' - was man aus dem Deskriptor der jeweiligen Anwendung erfährt:
const Storage = require('Storage');
let ClockList = [];
let FileList = Storage.list();
for (let i = 0, l = FileList.length; i < l; i++) {
let FileName = FileList[i];
if (FileName[0] === '+') {
try {
let AppType = Storage.readJSON(FileName)['type'];
if (AppType === 'clock') {
ClockList.push(FileName.slice(1));
}
} catch (Signal) { /* nop */ }
}
}
ClockList.sort();
print('list of installed clocks:');
for (let i = 0, l = ClockList.length; i < l; i++) {
print(' -',ClockList[i].replace(/[\x00-\x1F\x7F-\x9F]/g, function (Match) {
let CharCode = Match.charCodeAt(0);
return '\\x' + (CharCode < 10 ? '0' : '') + CharCode.toString(16);
}));
}
print('done');
Eine Uhr als Standard-Uhr zu konfigurieren bedeutet, ihren Namen in die Datei @setting
einzutragen:
const Storage = require('Storage');
const StdClock = 'aclock';
let Settings = Storage.readJSON('@setting');
Settings.clock = '-' + StdClock; // name of clock source file
Storage.write('@setting', JSON.stringify(Settings));
Es sollte stets eine Standard-Uhr konfiguriert sein, weil die Smartwatch sonst ihrer fundamentalen Bestimmung (nämlich eine "normale" Uhr zu ersetzen) nicht nachkommen kann.