forked from FOSS/BangleApps
Added settings page to force calendar sync
parent
a50f53b15a
commit
e057270d01
|
@ -1,7 +1,7 @@
|
||||||
{
|
{
|
||||||
"id": "agenda",
|
"id": "agenda",
|
||||||
"name": "Agenda",
|
"name": "Agenda",
|
||||||
"version": "0.01",
|
"version": "0.02",
|
||||||
"description": "Simple agenda",
|
"description": "Simple agenda",
|
||||||
"icon": "agenda.png",
|
"icon": "agenda.png",
|
||||||
"screenshots": [{"url":"screenshot_agenda_overview.png"}, {"url":"screenshot_agenda_event1.png"}, {"url":"screenshot_agenda_event2.png"}],
|
"screenshots": [{"url":"screenshot_agenda_overview.png"}, {"url":"screenshot_agenda_event1.png"}, {"url":"screenshot_agenda_event2.png"}],
|
||||||
|
@ -11,6 +11,7 @@
|
||||||
"allow_emulator": true,
|
"allow_emulator": true,
|
||||||
"storage": [
|
"storage": [
|
||||||
{"name":"agenda.app.js","url":"agenda.js"},
|
{"name":"agenda.app.js","url":"agenda.js"},
|
||||||
|
{"name":"agenda.settings.js","url":"settings.js"},
|
||||||
{"name":"agenda.img","url":"agenda-icon.js","evaluate":true}
|
{"name":"agenda.img","url":"agenda-icon.js","evaluate":true}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|
|
@ -0,0 +1,36 @@
|
||||||
|
(function(back) {
|
||||||
|
function gbSend(message) {
|
||||||
|
Bluetooth.println("");
|
||||||
|
Bluetooth.println(JSON.stringify(message));
|
||||||
|
}
|
||||||
|
var CALENDAR = require("Storage").readJSON("android.calendar.json",true)||[];
|
||||||
|
var mainmenu = {
|
||||||
|
"" : { "title" : "Agenda" },
|
||||||
|
"< Back" : back,
|
||||||
|
/*LANG*/"Connected" : { value : NRF.getSecurityStatus().connected?/*LANG*/"Yes":/*LANG*/"No" },
|
||||||
|
/*LANG*/"Force calendar sync" : () => {
|
||||||
|
if(NRF.getSecurityStatus().connected) {
|
||||||
|
E.showPrompt(/*LANG*/"Do you want to also clear the internal database first?", {
|
||||||
|
buttons: {/*LANG*/"Yes": 1, /*LANG*/"No": 2, /*LANG*/"Cancel": 3}
|
||||||
|
}).then((v)=>{
|
||||||
|
switch(v) {
|
||||||
|
case 1:
|
||||||
|
require("Storage").writeJSON("android.calendar.json",[]);
|
||||||
|
CALENDAR = [];
|
||||||
|
case 2:
|
||||||
|
gbSend({t:"force_calendar_sync", ids: CALENDAR.map(e=>e.id)});
|
||||||
|
E.showAlert(/*LANG*/"Request sent to the phone").then(()=>E.showMenu(mainmenu));
|
||||||
|
break;
|
||||||
|
case 3:
|
||||||
|
default:
|
||||||
|
E.showMenu(mainmenu);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
});
|
||||||
|
} else {
|
||||||
|
E.showAlert(/*LANG*/"You are not connected").then(()=>E.showMenu(mainmenu));
|
||||||
|
}
|
||||||
|
},
|
||||||
|
};
|
||||||
|
E.showMenu(mainmenu);
|
||||||
|
})
|
|
@ -94,7 +94,11 @@
|
||||||
"calendar" : function() {
|
"calendar" : function() {
|
||||||
var cal = require("Storage").readJSON("android.calendar.json",true);
|
var cal = require("Storage").readJSON("android.calendar.json",true);
|
||||||
if (!cal || !Array.isArray(cal)) cal = [];
|
if (!cal || !Array.isArray(cal)) cal = [];
|
||||||
|
var i = cal.findIndex(e=>e.id==event.id);
|
||||||
|
if(i<0)
|
||||||
cal.push(event);
|
cal.push(event);
|
||||||
|
else
|
||||||
|
cal[i] = event;
|
||||||
require("Storage").writeJSON("android.calendar.json", cal);
|
require("Storage").writeJSON("android.calendar.json", cal);
|
||||||
},
|
},
|
||||||
"calendar-" : function() {
|
"calendar-" : function() {
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
"id": "android",
|
"id": "android",
|
||||||
"name": "Android Integration",
|
"name": "Android Integration",
|
||||||
"shortName": "Android",
|
"shortName": "Android",
|
||||||
"version": "0.11",
|
"version": "4.01",
|
||||||
"description": "Display notifications/music/etc sent from the Gadgetbridge app on Android. This replaces the old 'Gadgetbridge' Bangle.js widget.",
|
"description": "Display notifications/music/etc sent from the Gadgetbridge app on Android. This replaces the old 'Gadgetbridge' Bangle.js widget.",
|
||||||
"icon": "app.png",
|
"icon": "app.png",
|
||||||
"tags": "tool,system,messages,notifications,gadgetbridge",
|
"tags": "tool,system,messages,notifications,gadgetbridge",
|
||||||
|
|
Loading…
Reference in New Issue