summaryrefslogtreecommitdiff
path: root/www/js/app.js
diff options
context:
space:
mode:
authorPliable Pixels <pliablepixels@users.noreply.github.com>2018-08-23 11:37:03 -0400
committerGitHub <noreply@github.com>2018-08-23 11:37:03 -0400
commit1af33a0e7980339bece9660389a96a404f57532b (patch)
tree5fb18c917eb5145f281df98febf3527e02d5dc4b /www/js/app.js
parentd6c4c4389df146740efabc18fdb62501ada61bbc (diff)
parentcc6e5ac9388241cbddcbd1c7081718b081e5981a (diff)
Merge pull request #687 from pliablepixels/multi-window-support
#682 - various updates to handle multi-window pause state
Diffstat (limited to 'www/js/app.js')
-rwxr-xr-xwww/js/app.js60
1 files changed, 22 insertions, 38 deletions
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);
+ }
}