summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.github/stale.yml1
-rw-r--r--config.xml4
-rw-r--r--package.json10
-rw-r--r--www/js/MonitorModalCtrl.js24
-rw-r--r--www/js/MontageCtrl.js13
-rwxr-xr-xwww/js/app.js60
-rw-r--r--www/lang/help/help-de.html15
-rw-r--r--www/lang/help/help-pl.html12
-rw-r--r--www/lang/locale-de.json2
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
diff --git a/config.xml b/config.xml
index c497bdf2..2ae4c0a4 100644
--- a/config.xml
+++ b/config.xml
@@ -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",