From 67bce838dce0e14126b5a6624def6839ce50ddd9 Mon Sep 17 00:00:00 2001 From: Pliable Pixels Date: Wed, 27 Dec 2017 20:21:36 -0500 Subject: #563 play event only if notification tapped but not if app icon tapped - needs more testing --- www/js/EventServer.js | 68 ++++++++++++++++++++++++++++++++------------------- 1 file changed, 43 insertions(+), 25 deletions(-) (limited to 'www/js') diff --git a/www/js/EventServer.js b/www/js/EventServer.js index 1aab91b2..eba9fc05 100644 --- a/www/js/EventServer.js +++ b/www/js/EventServer.js @@ -19,7 +19,7 @@ angular.module('zmApp.controllers') var firstError = true; var pushInited = false; var isTimerOn = false; - + //-------------------------------------------------------------------------- // called when the websocket is opened @@ -566,42 +566,60 @@ angular.module('zmApp.controllers') // set tappedMid to monitor //*** PUSH DATA>>>>{"sound":"blop","message":"Alarms: Basement (2854) ","additionalData":{"mid":"2","coldstart":false,"collapse_key":"do_not_collapse","foreground":false}} - NVRDataModel.debug("Notification Tapped"); - $rootScope.alarmCount = "0"; - $rootScope.isAlarm = 0; - $rootScope.tappedNotification = 1; - var mid = data.additionalData.mid; - var eid = data.additionalData.eid; - - - // if Multiple mids, take the first one - var mi = mid.indexOf(','); - if (mi > 0) + if (data.additionalData.dismissed != undefined) // user tapped on notification { - mid = mid.slice(0, mi); - } - mid = parseInt(mid); + NVRDataModel.debug("Notification Tapped"); + $rootScope.alarmCount = "0"; + $rootScope.isAlarm = 0; + $rootScope.tappedNotification = 1; + var mid = data.additionalData.mid; + var eid = data.additionalData.eid; - $rootScope.tappedMid = mid; - $rootScope.tappedEid = eid; - NVRDataModel.log("Push notification: Tapped Monitor taken as:" + $rootScope.tappedMid); - if ($rootScope.platformOS == 'ios') - { + // if Multiple mids, take the first one + var mi = mid.indexOf(','); + if (mi > 0) + { + mid = mid.slice(0, mi); + } + mid = parseInt(mid); - NVRDataModel.debug("iOS only: clearing background push"); - push.finish(function() + $rootScope.tappedMid = mid; + $rootScope.tappedEid = eid; + NVRDataModel.log("Push notification: Tapped Monitor taken as:" + $rootScope.tappedMid); + + if ($rootScope.platformOS == 'ios') { - NVRDataModel.debug("processing of push data is finished"); - }); + + NVRDataModel.debug("iOS only: clearing background push"); + push.finish(function() + { + NVRDataModel.debug("processing of push data is finished"); + }); + } + + } + else { + NVRDataModel.debug ("App started via icon, not notification"); + $rootScope.tappedNotification = 0; + $rootScope.tappedEid = 0; + $rootScope.tappedMid = 0; } + } - else + else // app is foreground { // this flag honors the HW mute button. Go figure // http://ilee.co.uk/phonegap-plays-sound-on-mute/ + + NVRDataModel.debug ("--> Either app icon tapped, or app is already in foreground"); + + $rootScope.tappedNotification = 0; + $rootScope.tappedEid = 0; + $rootScope.tappedMid = 0; + if (ld.soundOnPush) { media.play( -- cgit v1.2.3