diff options
Diffstat (limited to 'www')
| -rw-r--r-- | www/js/app.js | 129 |
1 files changed, 69 insertions, 60 deletions
diff --git a/www/js/app.js b/www/js/app.js index e776d18c..62ced60e 100644 --- a/www/js/app.js +++ b/www/js/app.js @@ -1323,95 +1323,104 @@ angular.module('zmApp', [ zmCheckUpdates.start(); ZMDataModel.zmLog("Setting up POST LOGIN timer"); zmAutoLogin.start(); + setupPauseAndResume(); + } + + function setupPauseAndResume() + { + ZMDataModel.zmLog ("Setting up pause and resume handler AFTER language is loaded..."); + //--------------------------------------------------------------------------- + // resume handler + //---------------------------------------------------------------------------- + document.addEventListener("resume", function () { + ZMDataModel.zmLog("App is resuming from background"); + var forceDelay = ZMDataModel.getLogin().resumeDelay; + ZMDataModel.zmLog(">>> Resume delayed for " + forceDelay + " ms, to wait for network stack..."); + + $timeout(function () { + var ld = ZMDataModel.getLogin(); + + + ZMDataModel.setBackground(false); + // don't animate + $ionicHistory.nextViewOptions({ + disableAnimate: true, + disableBack: true + }); + // remember the last state so we can + // go back there after auth + if ($ionicHistory.currentView()) { + $rootScope.lastState = $ionicHistory.currentView().stateName; + $rootScope.lastStateParam = + $ionicHistory.currentView().stateParams; + ZMDataModel.zmDebug("Last State recorded:" + + JSON.stringify($ionicHistory.currentView())); + + if ($rootScope.lastState == "zm-portal-login") { + ZMDataModel.zmDebug("Last state was portal-login, so forcing montage"); + $rootScope.lastState = "montage"; + } + ZMDataModel.zmDebug("going to portal login"); + $state.go("zm-portal-login"); + } else { + $rootScope.lastState = ""; + $rootScope.lastStateParam = ""; + ZMDataModel.zmDebug("reset lastState to null"); + $state.go("zm-portal-login"); + } + }, forceDelay); + }, false); - //--------------------------------------------------------------------------- - // resume handler - //---------------------------------------------------------------------------- - document.addEventListener("resume", function () { - ZMDataModel.zmLog("App is resuming from background"); - var forceDelay = ZMDataModel.getLogin().resumeDelay; - ZMDataModel.zmLog(">>> Resume delayed for " + forceDelay + " ms, to wait for network stack..."); - $timeout(function () { - var ld = ZMDataModel.getLogin(); + //--------------------------------------------------------------------------- + // background handler + //---------------------------------------------------------------------------- + document.addEventListener("pause", function () { + ZMDataModel.setBackground(true); + ZMDataModel.setJustResumed(true); // used for window stop + ZMDataModel.zmLog("ROOT APP:App is going into background"); - ZMDataModel.setBackground(false); - // don't animate - $ionicHistory.nextViewOptions({ - disableAnimate: true, - disableBack: true - }); - - // remember the last state so we can - // go back there after auth - if ($ionicHistory.currentView) { - $rootScope.lastState = $ionicHistory.currentView().stateName; - $rootScope.lastStateParam = - $ionicHistory.currentView().stateParams; - ZMDataModel.zmDebug("Last State recorded:" + - JSON.stringify($ionicHistory.currentView())); - - if ($rootScope.lastState == "zm-portal-login") { - ZMDataModel.zmDebug("Last state was portal-login, so forcing montage"); - $rootScope.lastState = "montage"; - } - - ZMDataModel.zmDebug("going to portal login"); - $state.go("zm-portal-login"); - } else { - $rootScope.lastState = ""; - $rootScope.lastStateParam = ""; - ZMDataModel.zmDebug("reset lastState to null"); - } - }, forceDelay); - - }, false); + $interval.cancel($rootScope.eventQueryInterval); + $interval.cancel($rootScope.intervalHandle); - //--------------------------------------------------------------------------- - // background handler - //---------------------------------------------------------------------------- - document.addEventListener("pause", function () { - ZMDataModel.setBackground(true); - ZMDataModel.setJustResumed(true); // used for window stop + ZMDataModel.zmLog("ROOT APP: Stopping network pull..."); + window.stop(); // dont call stopNetwork - we need to stop here - ZMDataModel.zmLog("ROOT APP:App is going into background"); - $interval.cancel($rootScope.eventQueryInterval); - $interval.cancel($rootScope.intervalHandle); + var ld = ZMDataModel.getLogin(); + if (ld.exitOnSleep && $rootScope.platformOS == "android") { + ZMDataModel.zmLog("user exited app"); + ionic.Platform.exitApp(); + } - ZMDataModel.zmLog("ROOT APP: Stopping network pull..."); - window.stop(); // dont call stopNetwork - we need to stop here - var ld = ZMDataModel.getLogin(); + zmAutoLogin.stop(); + if ($rootScope.zmPopup) + $rootScope.zmPopup.close(); - if (ld.exitOnSleep && $rootScope.platformOS == "android") { - ZMDataModel.zmLog("user exited app"); - ionic.Platform.exitApp(); - } + }, false); - zmAutoLogin.stop(); - if ($rootScope.zmPopup) - $rootScope.zmPopup.close(); - }, false); + } + |
