summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--config.xml2
-rw-r--r--package.json6
-rw-r--r--www/js/EventCtrl.js11
-rw-r--r--www/js/EventModalCtrl.js8
-rw-r--r--www/templates/events-modal.html4
5 files changed, 25 insertions, 6 deletions
diff --git a/config.xml b/config.xml
index 7b4b76f1..9aa14e8a 100644
--- a/config.xml
+++ b/config.xml
@@ -1,5 +1,5 @@
<?xml version='1.0' encoding='utf-8'?>
-<widget android-packageName="com.pliablepixels.zmninja_pro" id="com.pliablepixels.zmninja_pro" ios-CFBundleIdentifier="com.pliablepixels.zmninja-pro" version="1.3.064" xmlns="http://www.w3.org/ns/widgets" xmlns:android="http://schemas.android.com/apk/res/android" xmlns:cdv="http://cordova.apache.org/ns/1.0">
+<widget android-packageName="com.pliablepixels.zmninja_pro" id="com.pliablepixels.zmninja_pro" ios-CFBundleIdentifier="com.pliablepixels.zmninja-pro" version="1.3.065" xmlns="http://www.w3.org/ns/widgets" xmlns:android="http://schemas.android.com/apk/res/android" xmlns:cdv="http://cordova.apache.org/ns/1.0">
<name>zmNinja</name>
<description>
High performance ZoneMinder client
diff --git a/package.json b/package.json
index cd49111d..68a6cd92 100644
--- a/package.json
+++ b/package.json
@@ -1,7 +1,7 @@
{
"name": "zmninjapro",
"description": "Home security mobile app for ZoneMinder",
- "version":"1.3.063",
+ "version": "1.3.063",
"displayName": "zmNinja",
"author": "Pliable Pixels",
"license": "custom see LICENSE.md",
@@ -133,7 +133,7 @@
"build": {
"artifactName": "${productName}-${version}-${os}-${arch}.${ext}",
"appImage": {
- "systemIntegration":"ask"
+ "systemIntegration": "ask"
},
"appId": "com.pliablepixels.zmninjapro",
"productName": "zmninjapro",
@@ -192,4 +192,4 @@
]
}
}
-}
+} \ No newline at end of file
diff --git a/www/js/EventCtrl.js b/www/js/EventCtrl.js
index dc3c2453..d873e514 100644
--- a/www/js/EventCtrl.js
+++ b/www/js/EventCtrl.js
@@ -2543,6 +2543,7 @@ angular.module('zmApp.controllers')
$scope.modalGraph = function () {
+ $scope.lastVideoStateTime = '';
$ionicModal.fromTemplateUrl('templates/events-modalgraph.html', {
scope: $scope, // give ModalCtrl access to this scope
animation: 'slide-in-up',
@@ -2663,7 +2664,9 @@ angular.module('zmApp.controllers')
if (ld.showLiveForInProgressEvents) {
sl = 'enabled';
}
-
+ $scope.lastVideoStateTime = {
+ 'time':''
+ };
NVR.debug("Shall I follow the same monitor for prev/next?:"+$scope.followSameMonitor);
$ionicModal.fromTemplateUrl('templates/events-modal.html', {
scope: $scope,
@@ -2690,6 +2693,12 @@ angular.module('zmApp.controllers')
//--------------------------------------------------------
$scope.closeModal = function () {
NVR.debug(">>>EventCtrl:Close & Destroy Modal");
+ var diff = moment().diff($scope.lastVideoStateTime.time);
+ if (diff <= 300) {
+ NVR.debug ("Not closing model, time interval was only:"+diff+" ms");
+ return;
+ }
+
NVR.setAwake(false);
if ($scope.modal !== undefined) {
$scope.modal.remove();
diff --git a/www/js/EventModalCtrl.js b/www/js/EventModalCtrl.js
index e2f122f9..d5a410f9 100644
--- a/www/js/EventModalCtrl.js
+++ b/www/js/EventModalCtrl.js
@@ -194,6 +194,12 @@ angular.module('zmApp.controllers').controller('EventModalCtrl', ['$scope', '$ro
};
+
+ $scope.onPlayerState = function (state) {
+ // parent scope
+ $scope.lastVideoStateTime.time = moment();
+ };
+
$scope.onPlayerReady = function (api) {
// we need this timeout to avoid load interrupting
@@ -1055,6 +1061,8 @@ angular.module('zmApp.controllers').controller('EventModalCtrl', ['$scope', '$ro
$scope.alarm_images = [];
$scope.snapshotFrameId = 1;
currentStreamState = streamState.STOPPED;
+
+
});
diff --git a/www/templates/events-modal.html b/www/templates/events-modal.html
index 6fa1f094..34ec051b 100644
--- a/www/templates/events-modal.html
+++ b/www/templates/events-modal.html
@@ -69,7 +69,9 @@
<div on-swipe-left="onSwipeEvent(nextId,1)" on-swipe-right="onSwipeEvent(prevId,-1)" ng-style="{'height':$root.devHeight+'px', 'width':$root.devWidth+'px'}">
<videogular id="testaut_events_playwindow" vg-can-play="onCanPlay()" vg-native-fullscreen="videoObject.config.nativeFullScreen"
- vg-player-ready="onPlayerReady($API)" vg-update-playback="onPlaybackUpdate($playBack)"
+ vg-player-ready="onPlayerReady($API)"
+ vg-update-state="onPlayerState($state)"
+ vg-update-playback="onPlaybackUpdate($playBack)"
vg-plays-inline="videoObject.config.playsInline" vg-theme="videoObject.config.theme" vg-complete="playbackFinished()"
on-double-tap="closeModal();" vg-autoplay="videoObject.config.autoPlay" vg-responsive="videoObject.config.responsive"
vg-update-time="videoTime(event.Event.StartTime,$currentTime)" vg-error="onVideoError($event)">