diff options
Diffstat (limited to 'www')
| -rw-r--r-- | www/js/EventModalCtrl.js | 4 | ||||
| -rw-r--r-- | www/js/EventServer.js | 23 | ||||
| -rw-r--r-- | www/js/EventServerSettingsCtrl.js | 5 |
3 files changed, 25 insertions, 7 deletions
diff --git a/www/js/EventModalCtrl.js b/www/js/EventModalCtrl.js index 92336880..86773ec8 100644 --- a/www/js/EventModalCtrl.js +++ b/www/js/EventModalCtrl.js @@ -461,6 +461,10 @@ angular.module('zmApp.controllers').controller('EventModalCtrl', ['$scope', '$ro // $interval.cancel(modalIntervalHandle); // FIXME: Do I need to setAwake(false) here? + + if ($scope.modal !== undefined) { + $scope.modal.remove(); + } $interval.cancel(eventQueryHandle); NVRDataModel.log("EventModalCtrl: paused"); if ($scope.connKey) sendCommand(17, $scope.connKey); diff --git a/www/js/EventServer.js b/www/js/EventServer.js index 2d5831e9..a300e346 100644 --- a/www/js/EventServer.js +++ b/www/js/EventServer.js @@ -12,13 +12,13 @@ angular.module('zmApp.controllers') .factory('EventServer', ['NVRDataModel', '$rootScope', '$websocket', '$ionicPopup', '$timeout', '$q', 'zm', '$ionicPlatform', '$cordovaMedia', '$translate', function(NVRDataModel, $rootScope, $websocket, $ionicPopup, $timeout, $q, zm, $ionicPlatform, $cordovaMedia, $translate) { - var lastEventServerCheck = Date.now(); var ws; var localNotificationId = 0; var pushInited = false; var isTimerOn = false; var initCalled = false; + var timeOfInit = -1; //-------------------------------------------------------------------------- @@ -90,6 +90,8 @@ angular.module('zmApp.controllers') function init() { + // only log the time for the first init + if (timeOfInit == -1) timeOfInit = new Date(); $rootScope.isAlarm = 0; $rootScope.alarmCount = "0"; @@ -155,17 +157,27 @@ angular.module('zmApp.controllers') NVRDataModel.debug("Websocket Errorhandler called"); - if (!initCalled) { + var curr = new Date(); + var sec = Math.round((curr.getTime() - timeOfInit.getTime())/1000); + console.log (">>> TIME ELAPSED:"+sec); + + if (!initCalled || timeOfInit == -1) { NVRDataModel.log ("Ignoring websocket error as init not yet called"); return; } + if (sec < zm.eventServerErrorDelay) { + NVRDataModel.log ("Ignoring websocket error as its too soon ("+sec+"s), may be residual error "); + return; + } + $timeout(function() { - NVRDataModel.displayBanner('error', ['Event Server connection error']); - }, 3000); // leave 3 seconds for transitions + var eserr = $translate.instant('kEventServerConnErr'); + NVRDataModel.displayBanner('error', [eserr]); + }, 1000); // leave time for transitions - lastEventServerCheck = Date.now(); + if (typeof ws !== 'undefined'){ NVRDataModel.debug ("-->Forcing socket close"); ws.close(true); @@ -330,6 +342,7 @@ angular.module('zmApp.controllers') function disconnect() { + timeOfInit = -1; if (typeof ws === 'undefined') { NVRDataModel.log("Event server socket is empty, nothing to disconnect"); return; diff --git a/www/js/EventServerSettingsCtrl.js b/www/js/EventServerSettingsCtrl.js index 25811801..d8944ec7 100644 --- a/www/js/EventServerSettingsCtrl.js +++ b/www/js/EventServerSettingsCtrl.js @@ -236,6 +236,7 @@ if ($scope.loginData.isUseEventServer == true) { + EventServer.disconnect(); EventServer.init() .then(function(data) { @@ -267,7 +268,7 @@ }); - } + } // no event server configured/enabled else { if ($rootScope.apnsToken != "") @@ -288,7 +289,7 @@ } // Give the above some time to transmit - EventServer.disconnect(); + $timeout ( function() {EventServer.disconnect();},1000); } |
