From 74d91c60a1a5e3e13e428d69d9385ea782703650 Mon Sep 17 00:00:00 2001 From: Rob Pilling Date: Thu, 25 May 2023 21:58:33 +0100 Subject: [PATCH] settings: permit temporarily allowing a BLE connection --- apps/setting/settings.js | 35 ++++++++++++++++++++++++----------- 1 file changed, 24 insertions(+), 11 deletions(-) diff --git a/apps/setting/settings.js b/apps/setting/settings.js index ffea3ddbb..a53cf4777 100644 --- a/apps/setting/settings.js +++ b/apps/setting/settings.js @@ -363,17 +363,6 @@ function showWhitelistMenu() { }; } - if (settings.whitelist) settings.whitelist.forEach(function(d){ - menu[d.substr(0,17)] = function() { - E.showPrompt(/*LANG*/'Remove\n'+d).then((v) => { - if (v) { - settings.whitelist.splice(settings.whitelist.indexOf(d),1); - updateSettings(); - } - setTimeout(showWhitelistMenu, 50); - }); - } - }); menu[/*LANG*/'Add Device']=function() { E.showAlert(/*LANG*/"Connect device\nto add to\nwhitelist",/*LANG*/"Whitelist").then(function() { NRF.removeAllListeners('connect'); @@ -389,6 +378,30 @@ function showWhitelistMenu() { showWhitelistMenu(); }); }; + + menu[/*LANG*/'Temporarily Add Device']=function() { + E.showAlert(/*LANG*/"Whitelist disabled\nConnect device",/*LANG*/"Whitelist").then(function() { + NRF.removeAllListeners('connect'); + showWhitelistMenu(); + }); + NRF.removeAllListeners('connect'); // this is sufficient to allow any device to connect + NRF.on('connect', function(addr) { + showWhitelistMenu(); + }); + }; + + if (settings.whitelist) settings.whitelist.forEach(function(d){ + menu[d.substr(0,17)] = function() { + E.showPrompt(/*LANG*/'Remove\n'+d).then((v) => { + if (v) { + settings.whitelist.splice(settings.whitelist.indexOf(d),1); + updateSettings(); + } + setTimeout(showWhitelistMenu, 50); + }); + } + }); + E.showMenu(menu); }