diff options
| -rw-r--r-- | .github/stale.yml | 1 | ||||
| -rw-r--r-- | config.xml | 4 | ||||
| -rw-r--r-- | package.json | 10 | ||||
| -rw-r--r-- | www/js/MonitorModalCtrl.js | 24 | ||||
| -rw-r--r-- | www/js/MontageCtrl.js | 13 | ||||
| -rwxr-xr-x | www/js/app.js | 60 | ||||
| -rw-r--r-- | www/lang/help/help-de.html | 15 | ||||
| -rw-r--r-- | www/lang/help/help-pl.html | 12 | ||||
| -rw-r--r-- | www/lang/locale-de.json | 2 |
9 files changed, 89 insertions, 52 deletions
diff --git a/.github/stale.yml b/.github/stale.yml index 399cb995..7d6713d6 100644 --- a/.github/stale.yml +++ b/.github/stale.yml @@ -10,6 +10,7 @@ exemptLabels: - bug - long term - informational + - help wanted # Label to use when marking an issue as stale staleLabel: stale # Comment to post when marking an issue as stale. Set to `false` to disable @@ -145,7 +145,9 @@ <plugin name="cordova-plugin-email" spec="^1.2.7" /> <plugin name="cordova-plugin-statusbar" spec="^2.4.2" /> <plugin name="cordova-library-helper-pp-fork" spec="^1.0.1" /> + <plugin name="cordova-plugin-multi-window" spec="0.0.3" /> + <plugin name="cordova-plugin-ignore-lint-translation" spec="0.0.1" /> <plugin name="cordova-plugin-certificates" spec="^0.6.4" /> - <engine name="android" spec="^6.3.0" /> <engine name="ios" spec="^4.5.5" /> + <engine name="android" spec="^6.3.0" /> </widget> diff --git a/package.json b/package.json index 8186d54e..2c4e6349 100644 --- a/package.json +++ b/package.json @@ -4,8 +4,8 @@ "displayName": "zmNinja", "cordova": { "platforms": [ - "android", - "ios" + "ios", + "android" ], "plugins": { "cordova-plugin-add-swift-support": {}, @@ -46,7 +46,9 @@ "cordova-plugin-email": {}, "cordova-plugin-statusbar": {}, "cordova-plugin-certificates": {}, - "cordova-library-helper-pp-fork": {} + "cordova-library-helper-pp-fork": {}, + "cordova-plugin-multi-window": {}, + "cordova-plugin-ignore-lint-translation": {} } }, "dependencies": { @@ -68,9 +70,11 @@ "cordova-plugin-file": "^6.0.1", "cordova-plugin-file-transfer": "^1.7.1", "cordova-plugin-globalization": "^1.0.7", + "cordova-plugin-ignore-lint-translation": "0.0.1", "cordova-plugin-inappbrowser": "^1.7.1", "cordova-plugin-insomnia": "^4.3.0", "cordova-plugin-media-pp-fork": "^1.0.2-dev", + "cordova-plugin-multi-window": "0.0.3", "cordova-plugin-network-information": "^2.0.1", "cordova-plugin-photo-library": "^1.2.2", "cordova-plugin-pin-dialog": "^0.1.3", 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); + } } diff --git a/www/lang/help/help-de.html b/www/lang/help/help-de.html index ca45ea52..ba15fa90 100644 --- a/www/lang/help/help-de.html +++ b/www/lang/help/help-de.html @@ -1,10 +1,25 @@ <ion-item class="item-text-wrap"> <h2> + <b>Videoanleitung</b> + </h2>Wenn Du Hilfe mit zmNinja brauchst, schau Dir die neue + <a href="#" onclick="window.open('https://github.com/pliablepixels/zmNinja/wiki/Help-Videos-for-zmNinja', '_blank', 'location=yes'); return false;"> Videoanleitung</a> an. +</ion-item> + +<ion-item class="item-text-wrap"> + <h2> <b>Bitte schau in den zmNinja FAQ für Hilfe</b> </h2>Es ist schwierig die appseitige Hilfe aktuell zu halten, schaue daher bitte <a href="#" onclick="window.open('https://github.com/pliablepixels/zmNinja/wiki/FAQ', '_blank', 'location=yes'); return false;">hier</a> in den aktuellen FAQ. </ion-item> + +<ion-item class="item-text-wrap"> + <h2> + <b>zmNinja, Datenschutz & Privatsphäre</b> + </h2>Lese dazu + <a href="#" onclick="window.open('https://medium.com/zmninja/zmninja-privacy-and-your-data-5489a5974baf', '_blank', 'location=yes'); return false;"> diesen Beitrag</a> +</ion-item> + <ion-item class="item-text-wrap"> <h2> <b>Wie kontaktiere ich den Programmierer?</b> diff --git a/www/lang/help/help-pl.html b/www/lang/help/help-pl.html index 5efb9fe8..b5ed23ff 100644 --- a/www/lang/help/help-pl.html +++ b/www/lang/help/help-pl.html @@ -1,15 +1,23 @@ + +<ion-item class="item-text-wrap"> + <h2> + <b>Instructional Videos</b> + </h2>Jeśli potrzebujesz pomocy z zmNinja, oglądnij nową + <a href="#" onclick="window.open('https://github.com/pliablepixels/zmNinja/wiki/Help-Videos-for-zmNinja', '_blank', 'location=yes'); return false;">instrukcję video</a>. +</ion-item> + <ion-item class="item-text-wrap"> <h2> <b>W celu uzyskania pomocy proszę odwiedzić zmNinja FAQ</b> </h2>Aktualizowanie pomocy w aplikacji było trudne. Proszę sprawdzić - <a href="#" onclick="window.open('https://github.com/pliablepixels/zmNinja/wiki/FAQ', '_blank', 'location=yes'); return false;">FAQ</a> for the most updated help + <a href="#" onclick="window.open('https://github.com/pliablepixels/zmNinja/wiki/FAQ', '_blank', 'location=yes'); return false;">FAQ</a> najbardziej aktualną pomoc </ion-item> <ion-item class="item-text-wrap"> <h2> <b>zmNinja, Prywatność & Przejrzystość</b> </h2> - <a href="#" onclick="window.open('https://medium.com/zmninja/zmninja-privacy-and-your-data-5489a5974baf', '_blank', 'location=yes'); return false;">Read this post</a> + <a href="#" onclick="window.open('https://medium.com/zmninja/zmninja-privacy-and-your-data-5489a5974baf', '_blank', 'location=yes'); return false;">Przeczytaj ten post</a> </ion-item> <ion-item class="item-text-wrap"> diff --git a/www/lang/locale-de.json b/www/lang/locale-de.json index 517ebbc5..731c50c7 100644 --- a/www/lang/locale-de.json +++ b/www/lang/locale-de.json @@ -17,6 +17,7 @@ "kAt" :"um", "kAuthSuccess" :"Authentifizierung erfolgreich", "kAuthenticating" :"verbinde ", + "kAuthenticatingWebScrape" :"verbinde über Web Scrape", "kAutoSwitchBW" :"automatische Bandbreitenanpassung", "kAwake1" :"Bildschirm nicht ausschalten", "kAwake2" :"(wenn Kamerabilder angezeigt werden)", @@ -294,6 +295,7 @@ "kProfileChangeNotification" :"Du hast von {{oldName}} zu {{newName}} gewechselt. Bitte zuerst dieses Profil speichern", "kProtect" :"Schutz", "kPullToReload" :"Ziehen um Daten neu zu laden", + "kReachabilityFailed" :"Anmeldung am Hauptserver fehlgeschlagen,versuche Reservesystem", "kReAuthenticating" :"Erneute Authentifizierung", "kRecaptcha" :"Scheint so, dass Du reCaptcha aktiviert hast. Bitte schalte es aus, damit diese App funktioniert", "kReconfirmPin" :"PIN bestätigen", |
