iOS Making ANCS message receive more resilient (#2402)

master
Gordon Williams 2022-12-15 09:19:10 +00:00
parent 487742f037
commit a567016172
3 changed files with 12 additions and 3 deletions

View File

@ -10,3 +10,4 @@
0.10: Added more bundleIds 0.10: Added more bundleIds
0.11: Added letters with caron to unicodeRemap, to properly display messages in Czech language 0.11: Added letters with caron to unicodeRemap, to properly display messages in Czech language
0.12: Use new message library 0.12: Use new message library
0.13: Making ANCS message receive more resilient (#2402)

View File

@ -26,7 +26,7 @@ E.on('ANCS',msg=>{
// not a remove - we need to get the message info first // not a remove - we need to get the message info first
function ancsHandler() { function ancsHandler() {
var msg = Bangle.ancsMessageQueue[0]; var msg = Bangle.ancsMessageQueue[0];
NRF.ancsGetNotificationInfo( msg.uid ).then( info => { NRF.ancsGetNotificationInfo( msg.uid ).then( info => { // success
if(msg.preExisting === true){ if(msg.preExisting === true){
info.new = false; info.new = false;
@ -38,6 +38,10 @@ E.on('ANCS',msg=>{
Bangle.ancsMessageQueue.shift(); Bangle.ancsMessageQueue.shift();
if (Bangle.ancsMessageQueue.length) if (Bangle.ancsMessageQueue.length)
ancsHandler(); ancsHandler();
}, err=>{ // failure
console.log("ancsGetNotificationInfo failed",err);
if (Bangle.ancsMessageQueue.length)
ancsHandler();
}); });
} }
Bangle.ancsMessageQueue.push(msg); Bangle.ancsMessageQueue.push(msg);
@ -196,7 +200,11 @@ Bangle.messageResponse = (msg,response) => {
// error/warn here? // error/warn here?
}; };
// remove all messages on disconnect // remove all messages on disconnect
NRF.on("disconnect", () => require("messages").clearAll()); NRF.on("disconnect", () => {
require("messages").clearAll();
// Remove any messages from the ANCS queue
Bangle.ancsMessageQueue = [];
});
/* /*
// For testing... // For testing...

View File

@ -1,7 +1,7 @@
{ {
"id": "ios", "id": "ios",
"name": "iOS Integration", "name": "iOS Integration",
"version": "0.12", "version": "0.13",
"description": "Display notifications/music/etc from iOS devices", "description": "Display notifications/music/etc from iOS devices",
"icon": "app.png", "icon": "app.png",
"tags": "tool,system,ios,apple,messages,notifications", "tags": "tool,system,ios,apple,messages,notifications",