summaryrefslogtreecommitdiff
path: root/www
diff options
context:
space:
mode:
Diffstat (limited to 'www')
-rw-r--r--www/js/MonitorModalCtrl.js24
-rw-r--r--www/js/MontageCtrl.js13
-rwxr-xr-xwww/js/app.js60
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);
+ }
}