summaryrefslogtreecommitdiff
path: root/www
diff options
context:
space:
mode:
Diffstat (limited to 'www')
-rw-r--r--www/js/EventModalCtrl.js4
-rw-r--r--www/js/EventServer.js23
-rw-r--r--www/js/EventServerSettingsCtrl.js5
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);
}