diff options
| author | Pliable Pixels <pliablepixels@gmail.com> | 2018-08-23 09:51:11 -0400 |
|---|---|---|
| committer | Pliable Pixels <pliablepixels@gmail.com> | 2018-08-23 09:51:11 -0400 |
| commit | 45b515d583994342fa209296a69512b698958000 (patch) | |
| tree | b0345cc60d6062e82887b81c8d3432c580d12bb7 /www/js | |
| parent | d6c4c4389df146740efabc18fdb62501ada61bbc (diff) | |
#682 - various updates to handle multi-window pause state
Diffstat (limited to 'www/js')
| -rw-r--r-- | www/js/MonitorModalCtrl.js | 24 | ||||
| -rw-r--r-- | www/js/MontageCtrl.js | 13 | ||||
| -rwxr-xr-x | www/js/app.js | 60 |
3 files changed, 51 insertions, 46 deletions
diff --git a/www/js/MonitorModalCtrl.js b/www/js/MonitorModalCtrl.js index 82e43c01..3d765aed 100644 --- a/www/js/MonitorModalCtrl.js +++ b/www/js/MonitorModalCtrl.js @@ -1315,6 +1315,14 @@ angular.module('zmApp.controllers').controller('MonitorModalCtrl', ['$scope', '$ $scope.$on('modal.removed', function () { + if ($rootScope.platformOS == 'android') { + NVRDataModel.debug ("Deregistering handlers for multi-window"); + + window.MultiWindowPlugin.deregisterOnStop("monitormodal-pause"); + window.MultiWindowPlugin.deregisterOnStart("monitormodal-resume"); + + } + if ($rootScope.platformOS == 'desktop') { NVRDataModel.debug ("Removing keyboard handler"); window.removeEventListener('keydown', keyboardHandler, true); @@ -1741,16 +1749,18 @@ angular.module('zmApp.controllers').controller('MonitorModalCtrl', ['$scope', '$ $scope.monStatus = ""; $scope.isToggleListMenu = true; //console.log (">>>>>>>>>>>>>>>>>>>STOOOP"); - document.addEventListener("pause", onPause, false); - document.addEventListener("resume", onResume, false); - - /*document.addEventListener("mouseup", moveStop, false); - document.addEventListener("touchend", moveStop, false); - document.addEventL`istener("mousemove", moveContinue, false); - document.addEventListener("touchmove", moveContinue, false);*/ + if ($rootScope.platformOS != 'android') { + document.addEventListener("pause", onPause, false); + document.addEventListener("resume", onResume, false); + } + else { + NVRDataModel.debug ("MonitorModal: Android detected, using cordova-multiwindow plugin for onStop/onStart instead"); + window.MultiWindowPlugin.registerOnStop("monitormodal-pause", onPause); + window.MultiWindowPlugin.registerOnStart("monitormodal-resume", onResume); + } $scope.showZones = false; diff --git a/www/js/MontageCtrl.js b/www/js/MontageCtrl.js index d9eb1409..e3e0eaa9 100644 --- a/www/js/MontageCtrl.js +++ b/www/js/MontageCtrl.js @@ -1406,6 +1406,11 @@ angular.module('zmApp.controllers') $scope.$on('$ionicView.leave', function () { // console.log("**VIEW ** Montage Ctrl Left, force removing modal"); + if ($rootScope.platformOS == 'android') { + NVRDataModel.debug ("Deregistering handlers for multi-window"); + window.MultiWindowPlugin.deregisterOnStop("montage-pause"); + + } if ($scope.modal) $scope.modal.remove(); }); @@ -1968,7 +1973,13 @@ angular.module('zmApp.controllers') //console.log("**VIEW ** Montage Ctrl AFTER ENTER"); window.addEventListener("resize", orientationChanged, false); - document.addEventListener("pause", onPause, false); + if ($rootScope.platformOS != 'android') { + document.addEventListener("pause", onPause, false); + } + else { + NVRDataModel.debug ("MontageCtrl: Android detected, using cordova-multiwindow plugin for onStop/onStart instead"); + window.MultiWindowPlugin.registerOnStop("montage-pause", onPause); + } // document.addEventListener("resume", onResume, false); }); diff --git a/www/js/app.js b/www/js/app.js index 0d776437..9d88362d 100755 --- a/www/js/app.js +++ b/www/js/app.js @@ -2044,11 +2044,26 @@ angular.module('zmApp', [ function setupPauseAndResume() { NVRDataModel.log("Setting up pause and resume handler AFTER language is loaded..."); - //--------------------------------------------------------------------------- - // resume handler - //---------------------------------------------------------------------------- - document.addEventListener("resume", function () { + + if ($rootScope.platformOS != 'android') { + document.addEventListener("resume", function () { + resumeHandler(); + }, false); + + document.addEventListener("pause", function () { + pauseHandler(); + }, false); + } + else { + NVRDataModel.debug ("Android detected, using cordova-multiwindow plugin for onStop/onStart instead"); + window.MultiWindowPlugin.registerOnStop("app-pause", pauseHandler); + window.MultiWindowPlugin.registerOnStart("app-resume", resumeHandler); + + + } + + function resumeHandler() { NVRDataModel.setBackground(false); NVRDataModel.setJustResumed(true); $ionicPlatform.ready(function () { @@ -2097,12 +2112,9 @@ angular.module('zmApp', [ }); - }, false); + } - //--------------------------------------------------------------------------- - // background handler - //---------------------------------------------------------------------------- - document.addEventListener("pause", function (mtask) { + function pauseHandler() { NVRDataModel.setBackground(true); NVRDataModel.setJustResumed(false); // NVRDataModel.setJustResumed(true); // used for window stop @@ -2114,13 +2126,6 @@ angular.module('zmApp', [ $interval.cancel($rootScope.intervalHandle); zmAutoLogin.stop(); - - - // NVRDataModel.log("ROOT APP: Stopping network "); - //NVRDataModel.stopNetwork("called from app.js"); - - // dont call stopNetwork - we need to stop here - var ld = NVRDataModel.getLogin(); @@ -2139,30 +2144,9 @@ angular.module('zmApp', [ }, 5000); } - - - /* if (ld.exitOnSleep && $rootScope.platformOS == "android") { - NVRDataModel.log("user exited app"); - navigator.app.exitApp(); - - // ionic.Platform.exitApp(); - }*/ - - /* if (NVRDataModel.getCurrentServerMultiPortSupported() && $rootScope.platformOS == "android" && !NVRDataModel.isMultiPortDisabled()) { - NVRDataModel.log ("Multiport is active, killing app to make sure no streams continue in background..."); - navigator.app.exitApp(); - } else { - NVRDataModel.debug ("Not exiting app because:"); - NVRDataModel.debug ("getCurrentServerMultiPortSupported:"+NVRDataModel.getCurrentServerMultiPortSupported()); - NVRDataModel.debug ("platform:"+$rootScope.platformOS); - NVRDataModel.debug ("isMultiPortDisabled:"+NVRDataModel.isMultiPortDisabled()); - - }*/ - if ($rootScope.zmPopup) $rootScope.zmPopup.close(); - - }, false); + } } |
