summaryrefslogtreecommitdiff
path: root/www
diff options
context:
space:
mode:
Diffstat (limited to 'www')
-rw-r--r--www/js/EventServer.js8
-rw-r--r--www/js/LoginCtrl.js6
-rw-r--r--www/js/PortalLoginCtrl.js33
3 files changed, 40 insertions, 7 deletions
diff --git a/www/js/EventServer.js b/www/js/EventServer.js
index da1e07a3..a67d5426 100644
--- a/www/js/EventServer.js
+++ b/www/js/EventServer.js
@@ -617,8 +617,12 @@ angular.module('zmApp.controllers')
// keep this emit not broadcast
// see Portal latch for reason
- NVRDataModel.debug ("EventServer: broadvasting process-push");
- $rootScope.$broadcast('process-push');
+ //https://stackoverflow.com/a/22651128/1361529
+ $timeout ( function () {
+ NVRDataModel.debug ("EventServer: broadcasting process-push");
+ $rootScope.$broadcast('process-push');
+ },100);
+
} else // app is foreground
{
diff --git a/www/js/LoginCtrl.js b/www/js/LoginCtrl.js
index 568b67ed..0585f3c3 100644
--- a/www/js/LoginCtrl.js
+++ b/www/js/LoginCtrl.js
@@ -34,14 +34,14 @@ angular.module('zmApp.controllers').controller('zmApp.LoginCtrl', ['$scope', '$r
}
$scope.$on ( "process-push", function () {
- NVRDataModel.debug (">> LoginCtrl: push handler");
- var s = NVRDataModel.evaluateTappedNotification();
+ NVRDataModel.debug (">> LoginCtrl: push handler. Not processing push, because you might be here due to login failure");
+ /*var s = NVRDataModel.evaluateTappedNotification();
NVRDataModel.debug("tapped Notification evaluation:"+ JSON.stringify(s));
$ionicHistory.nextViewOptions({
disableAnimate:true,
disableBack: true
});
- $state.go(s[0],s[1],s[2]);
+ $state.go(s[0],s[1],s[2]);*/
});
//----------------------------------------------------------------
diff --git a/www/js/PortalLoginCtrl.js b/www/js/PortalLoginCtrl.js
index 9789ed56..1b2032b2 100644
--- a/www/js/PortalLoginCtrl.js
+++ b/www/js/PortalLoginCtrl.js
@@ -7,12 +7,25 @@ angular.module('zmApp.controllers').controller('zmApp.PortalLoginCtrl', ['$ionic
var broadcastHandles = [];
+ var processPush = false;
$scope.$on('$ionicView.beforeLeave', function () {
- //processPush = false;
+ processPush = false;
// NVRDataModel.debug ("BeforeEnter in Portal: setting ProcessPush to false");
});
+
+
+
+
+ $scope.$on ( "process-push", function () {
+ processPush = true;
+
+ NVRDataModel.debug (">> PortalLogin: push handler, marking to resolve later");
+
+ });
+
+
$scope.$on('$ionicView.beforeLeave', function () {
NVRDataModel.debug("Portal: Deregistering broadcast handles");
for (var i = 0; i < broadcastHandles.length; i++) {
@@ -372,11 +385,27 @@ angular.module('zmApp.controllers').controller('zmApp.PortalLoginCtrl', ['$ionic
//console.log ("NOTIFICATION TAPPED INSIDE CHECK IS "+$rootScope.tappedNotification);
var statetoGo = $rootScope.lastState ? $rootScope.lastState : 'app.montage';
// NVRDataModel.debug("logging state transition");
- NVRDataModel.debug("Transitioning state to: " +
+
+ if (!processPush) {
+ NVRDataModel.debug("Transitioning state to: " +
statetoGo + " with param " + JSON.stringify($rootScope.lastStateParam));
$state.go(statetoGo, $rootScope.lastStateParam);
return;
+ }
+ else {
+ NVRDataModel.debug ("Deferred handling of push:");
+ processPush = false;
+ var s = NVRDataModel.evaluateTappedNotification();
+ NVRDataModel.debug("tapped Notification evaluation:"+ JSON.stringify(s));
+ $ionicHistory.nextViewOptions({
+ disableAnimate:true,
+ disableBack: true
+ });
+ $state.go(s[0],s[1],s[2]);
+ return;
+ }
+
},