summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPliable Pixels <pliablepixels@users.noreply.github.com>2018-05-14 12:24:07 -0400
committerGitHub <noreply@github.com>2018-05-14 12:24:07 -0400
commitcb1129fddbeffa74ca730d0ab9fa33fb5727c230 (patch)
tree46ee35674f7c1817f105b186b9dbb340ef77e022
parent2cc5aa1508342e18a61f96d5abe67c2518966300 (diff)
parent91da4b8a12e7fb3dbc0183197a209a524abd851b (diff)
Merge pull request #631 from pliablepixels/tv
Tv init code - not ready - disabled for now
-rw-r--r--config.xml2
-rwxr-xr-xhooks/before_prepare/01_pp_hacks.sh2
-rw-r--r--package.json6
-rw-r--r--resources/android/icon/drawable-hdpi-icon.pngbin3161 -> 3161 bytes
-rw-r--r--resources/android/icon/drawable-ldpi-icon.pngbin1398 -> 1398 bytes
-rw-r--r--resources/android/icon/drawable-mdpi-icon.pngbin2078 -> 2078 bytes
-rw-r--r--resources/android/icon/drawable-xhdpi-icon.pngbin4154 -> 4154 bytes
-rw-r--r--resources/android/icon/drawable-xxhdpi-icon.pngbin6195 -> 6195 bytes
-rw-r--r--resources/android/icon/drawable-xxxhdpi-icon.pngbin8231 -> 8231 bytes
-rw-r--r--resources/android/splash/drawable-land-hdpi-screen.pngbin17726 -> 17726 bytes
-rw-r--r--resources/android/splash/drawable-land-ldpi-screen.pngbin6771 -> 6771 bytes
-rw-r--r--resources/android/splash/drawable-land-mdpi-screen.pngbin10105 -> 10105 bytes
-rw-r--r--resources/android/splash/drawable-land-xhdpi-screen.pngbin30192 -> 30192 bytes
-rw-r--r--resources/android/splash/drawable-land-xxhdpi-screen.pngbin40693 -> 40693 bytes
-rw-r--r--resources/android/splash/drawable-land-xxxhdpi-screen.pngbin53718 -> 53718 bytes
-rw-r--r--resources/android/splash/drawable-port-hdpi-screen.pngbin18160 -> 18160 bytes
-rw-r--r--resources/android/splash/drawable-port-ldpi-screen.pngbin6903 -> 6903 bytes
-rw-r--r--resources/android/splash/drawable-port-mdpi-screen.pngbin10366 -> 10366 bytes
-rw-r--r--resources/android/splash/drawable-port-xhdpi-screen.pngbin31026 -> 31026 bytes
-rw-r--r--resources/android/splash/drawable-port-xxhdpi-screen.pngbin41584 -> 41584 bytes
-rw-r--r--resources/android/splash/drawable-port-xxxhdpi-screen.pngbin54940 -> 54940 bytes
-rw-r--r--resources/ios/icon/icon-1024.pngbin32775 -> 32775 bytes
-rw-r--r--resources/ios/icon/icon-40.pngbin1526 -> 1526 bytes
-rw-r--r--resources/ios/icon/icon-40@2x.pngbin3486 -> 3486 bytes
-rw-r--r--resources/ios/icon/icon-40@3x.pngbin5265 -> 5265 bytes
-rw-r--r--resources/ios/icon/icon-50.pngbin2181 -> 2181 bytes
-rw-r--r--resources/ios/icon/icon-50@2x.pngbin4386 -> 4386 bytes
-rw-r--r--resources/ios/icon/icon-60.pngbin2647 -> 2647 bytes
-rw-r--r--resources/ios/icon/icon-60@2x.pngbin5265 -> 5265 bytes
-rw-r--r--resources/ios/icon/icon-60@3x.pngbin7814 -> 7814 bytes
-rw-r--r--resources/ios/icon/icon-72.pngbin3161 -> 3161 bytes
-rw-r--r--resources/ios/icon/icon-72@2x.pngbin6195 -> 6195 bytes
-rw-r--r--resources/ios/icon/icon-76.pngbin3352 -> 3352 bytes
-rw-r--r--resources/ios/icon/icon-76@2x.pngbin6643 -> 6643 bytes
-rw-r--r--resources/ios/icon/icon-83.5@2x.pngbin7168 -> 7168 bytes
-rw-r--r--resources/ios/icon/icon-small.pngbin1205 -> 1205 bytes
-rw-r--r--resources/ios/icon/icon-small@2x.pngbin2520 -> 2520 bytes
-rw-r--r--resources/ios/icon/icon-small@3x.pngbin3803 -> 3803 bytes
-rw-r--r--resources/ios/icon/icon.pngbin2451 -> 2451 bytes
-rw-r--r--resources/ios/icon/icon@2x.pngbin4988 -> 4988 bytes
-rw-r--r--resources/ios/splash/Default-568h@2x~iphone.pngbin26982 -> 26982 bytes
-rw-r--r--resources/ios/splash/Default-667h.pngbin32395 -> 32395 bytes
-rw-r--r--resources/ios/splash/Default-736h.pngbin62886 -> 62886 bytes
-rw-r--r--resources/ios/splash/Default-Landscape-736h.pngbin62629 -> 62629 bytes
-rw-r--r--resources/ios/splash/Default-Landscape@2x~ipad.pngbin59305 -> 59305 bytes
-rw-r--r--resources/ios/splash/Default-Landscape@~ipadpro.pngbin87979 -> 87979 bytes
-rw-r--r--resources/ios/splash/Default-Landscape~ipad.pngbin25129 -> 25129 bytes
-rw-r--r--resources/ios/splash/Default-Portrait@2x~ipad.pngbin59374 -> 59374 bytes
-rw-r--r--resources/ios/splash/Default-Portrait@~ipadpro.pngbin88671 -> 88671 bytes
-rw-r--r--resources/ios/splash/Default-Portrait~ipad.pngbin25496 -> 25496 bytes
-rw-r--r--resources/ios/splash/Default@2x~iphone.pngbin22993 -> 22993 bytes
-rw-r--r--resources/ios/splash/Default@2x~universal~anyany.pngbin97293 -> 97293 bytes
-rw-r--r--resources/ios/splash/Default~iphone.pngbin10366 -> 10366 bytes
-rw-r--r--www/css/style.css7
-rw-r--r--www/external/android-tv-banner/banner.pngbin0 -> 13241 bytes
-rw-r--r--www/js/MenuController.js13
-rwxr-xr-xwww/js/app.js136
-rw-r--r--www/templates/devoptions.html8
-rw-r--r--www/templates/menu.html24
-rw-r--r--www/templates/monitors.html6
-rw-r--r--www/templates/montage.html32
61 files changed, 191 insertions, 45 deletions
diff --git a/config.xml b/config.xml
index 7fb94c18..7f41090d 100644
--- a/config.xml
+++ b/config.xml
@@ -147,5 +147,5 @@
<plugin name="cordova-library-helper" spec="git+https://github.com/FlyingDonkeyDev/cordova-library-helper.git" />
<plugin name="cordova-plugin-certificates" spec="git+https://github.com/hypery2k/cordova-certificate-plugin.git" />
<engine name="ios" spec="^4.5.4" />
- <engine name="android" spec="^6.3.0" />
+ <engine name="android" spec="6.4.0" />
</widget>
diff --git a/hooks/before_prepare/01_pp_hacks.sh b/hooks/before_prepare/01_pp_hacks.sh
index cde25dab..06980e1e 100755
--- a/hooks/before_prepare/01_pp_hacks.sh
+++ b/hooks/before_prepare/01_pp_hacks.sh
@@ -49,6 +49,8 @@ echo "Copying Android notification icons to resource dir"
echo "--------------------------------------------------"
if [ -d "platforms/android/res/" ]; then
exe cp -R www/external/android-notification-icons/ platforms/android/res/
+ exe cp -f www/external/android-tv-banner/banner.png platforms/android/res/drawable
+
else
echo "Directory platforms/android/res/ does not exist, skipping..."
fi
diff --git a/package.json b/package.json
index 25c7fd3d..d7590fe0 100644
--- a/package.json
+++ b/package.json
@@ -36,7 +36,6 @@
},
"phonegap-plugin-mobile-accessibility": {},
"cordova-custom-config": {},
- "cordova.plugins.diagnostic": {},
"cordova-plugin-email": {},
"cordova-plugin-touch-id": {},
"cordova-plugin-android-fingerprint-auth": {},
@@ -50,7 +49,8 @@
"cordova-plugin-add-swift-support": {},
"ionic-plugin-keyboard": {},
"cordova-library-helper": {},
- "cordova-plugin-certificates": {}
+ "cordova-plugin-certificates": {},
+ "cordova.plugins.diagnostic": {}
}
},
"dependencies": {
@@ -59,7 +59,7 @@
"clivas": "^0.2.0",
"com.telerik.plugins.nativepagetransitions": "^0.6.5",
"cordova": "^8.0.0",
- "cordova-android": "^6.3.0",
+ "cordova-android": "6.4.0",
"cordova-custom-config": "~4.0.2",
"cordova-ios": "^4.5.4",
"cordova-library-helper": "git+https://github.com/FlyingDonkeyDev/cordova-library-helper.git",
diff --git a/resources/android/icon/drawable-hdpi-icon.png b/resources/android/icon/drawable-hdpi-icon.png
index 29f6e23a..97d7bd5d 100644
--- a/resources/android/icon/drawable-hdpi-icon.png
+++ b/resources/android/icon/drawable-hdpi-icon.png
Binary files differ
diff --git a/resources/android/icon/drawable-ldpi-icon.png b/resources/android/icon/drawable-ldpi-icon.png
index 82fdb670..d41cc430 100644
--- a/resources/android/icon/drawable-ldpi-icon.png
+++ b/resources/android/icon/drawable-ldpi-icon.png
Binary files differ
diff --git a/resources/android/icon/drawable-mdpi-icon.png b/resources/android/icon/drawable-mdpi-icon.png
index 5b11045c..ec0b29f4 100644
--- a/resources/android/icon/drawable-mdpi-icon.png
+++ b/resources/android/icon/drawable-mdpi-icon.png
Binary files differ
diff --git a/resources/android/icon/drawable-xhdpi-icon.png b/resources/android/icon/drawable-xhdpi-icon.png
index c4c6730a..4b461f62 100644
--- a/resources/android/icon/drawable-xhdpi-icon.png
+++ b/resources/android/icon/drawable-xhdpi-icon.png
Binary files differ
diff --git a/resources/android/icon/drawable-xxhdpi-icon.png b/resources/android/icon/drawable-xxhdpi-icon.png
index d6512f1b..d145c8af 100644
--- a/resources/android/icon/drawable-xxhdpi-icon.png
+++ b/resources/android/icon/drawable-xxhdpi-icon.png
Binary files differ
diff --git a/resources/android/icon/drawable-xxxhdpi-icon.png b/resources/android/icon/drawable-xxxhdpi-icon.png
index 8cee414d..bba2de11 100644
--- a/resources/android/icon/drawable-xxxhdpi-icon.png
+++ b/resources/android/icon/drawable-xxxhdpi-icon.png
Binary files differ
diff --git a/resources/android/splash/drawable-land-hdpi-screen.png b/resources/android/splash/drawable-land-hdpi-screen.png
index b8dd869c..0a61890d 100644
--- a/resources/android/splash/drawable-land-hdpi-screen.png
+++ b/resources/android/splash/drawable-land-hdpi-screen.png
Binary files differ
diff --git a/resources/android/splash/drawable-land-ldpi-screen.png b/resources/android/splash/drawable-land-ldpi-screen.png
index c138f74b..781674a5 100644
--- a/resources/android/splash/drawable-land-ldpi-screen.png
+++ b/resources/android/splash/drawable-land-ldpi-screen.png
Binary files differ
diff --git a/resources/android/splash/drawable-land-mdpi-screen.png b/resources/android/splash/drawable-land-mdpi-screen.png
index cae7657e..7ce49379 100644
--- a/resources/android/splash/drawable-land-mdpi-screen.png
+++ b/resources/android/splash/drawable-land-mdpi-screen.png
Binary files differ
diff --git a/resources/android/splash/drawable-land-xhdpi-screen.png b/resources/android/splash/drawable-land-xhdpi-screen.png
index 56872897..991e7041 100644
--- a/resources/android/splash/drawable-land-xhdpi-screen.png
+++ b/resources/android/splash/drawable-land-xhdpi-screen.png
Binary files differ
diff --git a/resources/android/splash/drawable-land-xxhdpi-screen.png b/resources/android/splash/drawable-land-xxhdpi-screen.png
index 19fc10c0..bc116630 100644
--- a/resources/android/splash/drawable-land-xxhdpi-screen.png
+++ b/resources/android/splash/drawable-land-xxhdpi-screen.png
Binary files differ
diff --git a/resources/android/splash/drawable-land-xxxhdpi-screen.png b/resources/android/splash/drawable-land-xxxhdpi-screen.png
index 368a3e70..9d03c6b5 100644
--- a/resources/android/splash/drawable-land-xxxhdpi-screen.png
+++ b/resources/android/splash/drawable-land-xxxhdpi-screen.png
Binary files differ
diff --git a/resources/android/splash/drawable-port-hdpi-screen.png b/resources/android/splash/drawable-port-hdpi-screen.png
index 08f065bf..67532137 100644
--- a/resources/android/splash/drawable-port-hdpi-screen.png
+++ b/resources/android/splash/drawable-port-hdpi-screen.png
Binary files differ
diff --git a/resources/android/splash/drawable-port-ldpi-screen.png b/resources/android/splash/drawable-port-ldpi-screen.png
index 64bc2d66..93b76d69 100644
--- a/resources/android/splash/drawable-port-ldpi-screen.png
+++ b/resources/android/splash/drawable-port-ldpi-screen.png
Binary files differ
diff --git a/resources/android/splash/drawable-port-mdpi-screen.png b/resources/android/splash/drawable-port-mdpi-screen.png
index ebc915e4..5a7618e1 100644
--- a/resources/android/splash/drawable-port-mdpi-screen.png
+++ b/resources/android/splash/drawable-port-mdpi-screen.png
Binary files differ
diff --git a/resources/android/splash/drawable-port-xhdpi-screen.png b/resources/android/splash/drawable-port-xhdpi-screen.png
index 7d46beb7..a78808c2 100644
--- a/resources/android/splash/drawable-port-xhdpi-screen.png
+++ b/resources/android/splash/drawable-port-xhdpi-screen.png
Binary files differ
diff --git a/resources/android/splash/drawable-port-xxhdpi-screen.png b/resources/android/splash/drawable-port-xxhdpi-screen.png
index 0e52c7db..a3171a84 100644
--- a/resources/android/splash/drawable-port-xxhdpi-screen.png
+++ b/resources/android/splash/drawable-port-xxhdpi-screen.png
Binary files differ
diff --git a/resources/android/splash/drawable-port-xxxhdpi-screen.png b/resources/android/splash/drawable-port-xxxhdpi-screen.png
index ed5ca0c7..8f221644 100644
--- a/resources/android/splash/drawable-port-xxxhdpi-screen.png
+++ b/resources/android/splash/drawable-port-xxxhdpi-screen.png
Binary files differ
diff --git a/resources/ios/icon/icon-1024.png b/resources/ios/icon/icon-1024.png
index f37b5159..dc83bb2b 100644
--- a/resources/ios/icon/icon-1024.png
+++ b/resources/ios/icon/icon-1024.png
Binary files differ
diff --git a/resources/ios/icon/icon-40.png b/resources/ios/icon/icon-40.png
index 68076c16..d62bb9e9 100644
--- a/resources/ios/icon/icon-40.png
+++ b/resources/ios/icon/icon-40.png
Binary files differ
diff --git a/resources/ios/icon/icon-40@2x.png b/resources/ios/icon/icon-40@2x.png
index 3c2bfa7b..0fceaad5 100644
--- a/resources/ios/icon/icon-40@2x.png
+++ b/resources/ios/icon/icon-40@2x.png
Binary files differ
diff --git a/resources/ios/icon/icon-40@3x.png b/resources/ios/icon/icon-40@3x.png
index 322bb744..c501fe60 100644
--- a/resources/ios/icon/icon-40@3x.png
+++ b/resources/ios/icon/icon-40@3x.png
Binary files differ
diff --git a/resources/ios/icon/icon-50.png b/resources/ios/icon/icon-50.png
index 6470a9f5..40fdaf38 100644
--- a/resources/ios/icon/icon-50.png
+++ b/resources/ios/icon/icon-50.png
Binary files differ
diff --git a/resources/ios/icon/icon-50@2x.png b/resources/ios/icon/icon-50@2x.png
index ae858faa..fb5a4b3f 100644
--- a/resources/ios/icon/icon-50@2x.png
+++ b/resources/ios/icon/icon-50@2x.png
Binary files differ
diff --git a/resources/ios/icon/icon-60.png b/resources/ios/icon/icon-60.png
index 898c4b60..cf9decf2 100644
--- a/resources/ios/icon/icon-60.png
+++ b/resources/ios/icon/icon-60.png
Binary files differ
diff --git a/resources/ios/icon/icon-60@2x.png b/resources/ios/icon/icon-60@2x.png
index 322bb744..c501fe60 100644
--- a/resources/ios/icon/icon-60@2x.png
+++ b/resources/ios/icon/icon-60@2x.png
Binary files differ
diff --git a/resources/ios/icon/icon-60@3x.png b/resources/ios/icon/icon-60@3x.png
index d68a766f..4193570d 100644
--- a/resources/ios/icon/icon-60@3x.png
+++ b/resources/ios/icon/icon-60@3x.png
Binary files differ
diff --git a/resources/ios/icon/icon-72.png b/resources/ios/icon/icon-72.png
index 88fd9594..a218b11a 100644
--- a/resources/ios/icon/icon-72.png
+++ b/resources/ios/icon/icon-72.png
Binary files differ
diff --git a/resources/ios/icon/icon-72@2x.png b/resources/ios/icon/icon-72@2x.png
index 90425a78..c31bf79d 100644
--- a/resources/ios/icon/icon-72@2x.png
+++ b/resources/ios/icon/icon-72@2x.png
Binary files differ
diff --git a/resources/ios/icon/icon-76.png b/resources/ios/icon/icon-76.png
index 5060dd22..947c8352 100644
--- a/resources/ios/icon/icon-76.png
+++ b/resources/ios/icon/icon-76.png
Binary files differ
diff --git a/resources/ios/icon/icon-76@2x.png b/resources/ios/icon/icon-76@2x.png
index 295365eb..c3de0284 100644
--- a/resources/ios/icon/icon-76@2x.png
+++ b/resources/ios/icon/icon-76@2x.png
Binary files differ
diff --git a/resources/ios/icon/icon-83.5@2x.png b/resources/ios/icon/icon-83.5@2x.png
index 67434740..680fa48a 100644
--- a/resources/ios/icon/icon-83.5@2x.png
+++ b/resources/ios/icon/icon-83.5@2x.png
Binary files differ
diff --git a/resources/ios/icon/icon-small.png b/resources/ios/icon/icon-small.png
index 8801c466..51fb4050 100644
--- a/resources/ios/icon/icon-small.png
+++ b/resources/ios/icon/icon-small.png
Binary files differ
diff --git a/resources/ios/icon/icon-small@2x.png b/resources/ios/icon/icon-small@2x.png
index cf83c273..c9528174 100644
--- a/resources/ios/icon/icon-small@2x.png
+++ b/resources/ios/icon/icon-small@2x.png
Binary files differ
diff --git a/resources/ios/icon/icon-small@3x.png b/resources/ios/icon/icon-small@3x.png
index 0d65e805..36a0a2de 100644
--- a/resources/ios/icon/icon-small@3x.png
+++ b/resources/ios/icon/icon-small@3x.png
Binary files differ
diff --git a/resources/ios/icon/icon.png b/resources/ios/icon/icon.png
index 8fc8862c..e63ce03f 100644
--- a/resources/ios/icon/icon.png
+++ b/resources/ios/icon/icon.png
Binary files differ
diff --git a/resources/ios/icon/icon@2x.png b/resources/ios/icon/icon@2x.png
index 139233e2..c380a703 100644
--- a/resources/ios/icon/icon@2x.png
+++ b/resources/ios/icon/icon@2x.png
Binary files differ
diff --git a/resources/ios/splash/Default-568h@2x~iphone.png b/resources/ios/splash/Default-568h@2x~iphone.png
index cac62e36..17941bcd 100644
--- a/resources/ios/splash/Default-568h@2x~iphone.png
+++ b/resources/ios/splash/Default-568h@2x~iphone.png
Binary files differ
diff --git a/resources/ios/splash/Default-667h.png b/resources/ios/splash/Default-667h.png
index 94114802..6f6dd023 100644
--- a/resources/ios/splash/Default-667h.png
+++ b/resources/ios/splash/Default-667h.png
Binary files differ
diff --git a/resources/ios/splash/Default-736h.png b/resources/ios/splash/Default-736h.png
index 02cfcace..62cbc78e 100644
--- a/resources/ios/splash/Default-736h.png
+++ b/resources/ios/splash/Default-736h.png
Binary files differ
diff --git a/resources/ios/splash/Default-Landscape-736h.png b/resources/ios/splash/Default-Landscape-736h.png
index 8b77eb03..21c72d97 100644
--- a/resources/ios/splash/Default-Landscape-736h.png
+++ b/resources/ios/splash/Default-Landscape-736h.png
Binary files differ
diff --git a/resources/ios/splash/Default-Landscape@2x~ipad.png b/resources/ios/splash/Default-Landscape@2x~ipad.png
index ba0edbda..a280675e 100644
--- a/resources/ios/splash/Default-Landscape@2x~ipad.png
+++ b/resources/ios/splash/Default-Landscape@2x~ipad.png
Binary files differ
diff --git a/resources/ios/splash/Default-Landscape@~ipadpro.png b/resources/ios/splash/Default-Landscape@~ipadpro.png
index 893bc568..78d3e942 100644
--- a/resources/ios/splash/Default-Landscape@~ipadpro.png
+++ b/resources/ios/splash/Default-Landscape@~ipadpro.png
Binary files differ
diff --git a/resources/ios/splash/Default-Landscape~ipad.png b/resources/ios/splash/Default-Landscape~ipad.png
index 07a3669d..d721e074 100644
--- a/resources/ios/splash/Default-Landscape~ipad.png
+++ b/resources/ios/splash/Default-Landscape~ipad.png
Binary files differ
diff --git a/resources/ios/splash/Default-Portrait@2x~ipad.png b/resources/ios/splash/Default-Portrait@2x~ipad.png
index 3e6a6c1c..85496fa8 100644
--- a/resources/ios/splash/Default-Portrait@2x~ipad.png
+++ b/resources/ios/splash/Default-Portrait@2x~ipad.png
Binary files differ
diff --git a/resources/ios/splash/Default-Portrait@~ipadpro.png b/resources/ios/splash/Default-Portrait@~ipadpro.png
index 96e5f1a8..adbc5538 100644
--- a/resources/ios/splash/Default-Portrait@~ipadpro.png
+++ b/resources/ios/splash/Default-Portrait@~ipadpro.png
Binary files differ
diff --git a/resources/ios/splash/Default-Portrait~ipad.png b/resources/ios/splash/Default-Portrait~ipad.png
index 3ad79c2a..12149532 100644
--- a/resources/ios/splash/Default-Portrait~ipad.png
+++ b/resources/ios/splash/Default-Portrait~ipad.png
Binary files differ
diff --git a/resources/ios/splash/Default@2x~iphone.png b/resources/ios/splash/Default@2x~iphone.png
index d654833d..a5d954c6 100644
--- a/resources/ios/splash/Default@2x~iphone.png
+++ b/resources/ios/splash/Default@2x~iphone.png
Binary files differ
diff --git a/resources/ios/splash/Default@2x~universal~anyany.png b/resources/ios/splash/Default@2x~universal~anyany.png
index 3a0f0e53..f6bdcd09 100644
--- a/resources/ios/splash/Default@2x~universal~anyany.png
+++ b/resources/ios/splash/Default@2x~universal~anyany.png
Binary files differ
diff --git a/resources/ios/splash/Default~iphone.png b/resources/ios/splash/Default~iphone.png
index 67b76e25..bbd4c24a 100644
--- a/resources/ios/splash/Default~iphone.png
+++ b/resources/ios/splash/Default~iphone.png
Binary files differ
diff --git a/www/css/style.css b/www/css/style.css
index a2ab08e5..2847d2be 100644
--- a/www/css/style.css
+++ b/www/css/style.css
@@ -1036,10 +1036,17 @@ videogular div.event-time {
border: 2px dotted #3498db;
}
+
+
.dragborder-selected {
border: 4px solid #e74c3c;
}
+.dpadSelected {
+ border: 4px solid #45AAF2 !important;
+
+}
+
.grid-sizer {
width: 5%;
}
diff --git a/www/external/android-tv-banner/banner.png b/www/external/android-tv-banner/banner.png
new file mode 100644
index 00000000..2a161b34
--- /dev/null
+++ b/www/external/android-tv-banner/banner.png
Binary files differ
diff --git a/www/js/MenuController.js b/www/js/MenuController.js
index 477849a6..f09d1c69 100644
--- a/www/js/MenuController.js
+++ b/www/js/MenuController.js
@@ -2,7 +2,7 @@
/* jslint browser: true*/
/* global cordova,StatusBar,angular,console */
-angular.module('zmApp.controllers').controller('MenuController', ['$scope', '$ionicSideMenuDelegate', 'zm', '$stateParams', '$ionicHistory', '$state', 'NVRDataModel', '$rootScope', '$ionicPopup', '$translate', '$timeout', function ($scope, $ionicSideMenuDelegate, zm, $stateParams, $ionicHistory, $state, NVRDataModel, $rootScope, $ionicPopup, $translate, $timeout) {
+angular.module('zmApp.controllers').controller('MenuController', ['$scope', '$ionicSideMenuDelegate', 'zm', '$stateParams', '$ionicHistory', '$state', 'NVRDataModel', '$rootScope', '$ionicPopup', '$translate', '$timeout', '$location',function ($scope, $ionicSideMenuDelegate, zm, $stateParams, $ionicHistory, $state, NVRDataModel, $rootScope, $ionicPopup, $translate, $timeout, $location) {
$scope.openMenu = function () {
$ionicSideMenuDelegate.toggleLeft();
};
@@ -13,6 +13,17 @@ angular.module('zmApp.controllers').controller('MenuController', ['$scope', '$io
//----------------------------------------------------------------
+ $scope.go = function(p) {
+
+
+ $ionicHistory.nextViewOptions({
+ historyRoot: true,
+ disableAnimate: true,
+ expire: 300
+ });
+ $ionicSideMenuDelegate.toggleLeft();
+ $location.path(p);
+ };
$scope.navigateView = function (view, args) {
diff --git a/www/js/app.js b/www/js/app.js
index 284bc90d..0a19b987 100755
--- a/www/js/app.js
+++ b/www/js/app.js
@@ -11,6 +11,8 @@
var appVersion = "0.0.0";
+
+
// core app start stuff
angular.module('zmApp', [
'ionic',
@@ -202,6 +204,8 @@ angular.module('zmApp', [
})
+
+
//credit: http://stackoverflow.com/a/23931217/1361529
.directive('hidepassword', function () {
@@ -1210,6 +1214,7 @@ angular.module('zmApp', [
$ionicPlatform.ready(function () {
//console.log(">>>>>>>>>>>>>>>>>>>>>>>>>>>>>INSIDE RUN");
+ $rootScope.dpadId = 0;
$rootScope.textScaleFactor = 1.0;
$rootScope.isLoggedIn = false;
$rootScope.apiValid = false;
@@ -1316,6 +1321,120 @@ angular.module('zmApp', [
});
}
+ // DPAD Handler - disabled for now
+ // when ready add ionic cordova plugin add https://github.com/pliablepixels/cordova-plugin-android-tv.git
+
+ // console.log (JSON.stringify(ionic.Platform.device()));
+ if (0 && $ionicPlatform.is('android')) {
+ window.addEventListener('keydown', dPadHandler, true);
+ }
+ else {
+ NVRDataModel.log ("Not registering D-PAD handler, as you are not on android");
+ }
+
+
+ function dPadHandler(evt){
+
+ var handled = false;
+
+ var keyCodes = {
+ MKEYB: 77,
+ SELECT: 13,
+
+ LEFT: 37,
+ UP: 38,
+ RIGHT: 39,
+ DOWN: 40,
+
+ PLAYPAUSE: 179,
+ REWIND: 227,
+ FORWARD:228
+ };
+
+ $timeout (function() {
+ var st = '#'+$rootScope.dpadState+'-move-';
+ // console.log ("IN STATE="+$rootScope.dpadState+ " with st="+st);
+ var keyCode=evt.keyCode;
+ var el, nextel;
+
+ if (keyCode == keyCodes.REWIND) {
+ if (!$ionicSideMenuDelegate.isOpen()) {
+ $ionicSideMenuDelegate.toggleLeft();
+ $rootScope.dpadState = "menu";
+ $rootScope.dpadId = 0;
+
+ }
+ else {
+ el = angular.element(document.querySelector(st +$rootScope.dpadId));
+ if (el.length) el[0].classList.remove('dpadSelected');
+ $ionicSideMenuDelegate.toggleLeft();
+ $rootScope.dpadId = 0;
+ $rootScope.dpadState = $state.current.name.replace('app.',"");
+ }
+ console.log ("dpad State is: "+$rootScope.dpadState);
+ handled = true;
+ }
+
+ else if (keyCode == keyCodes.SELECT ) { // select
+ if ($rootScope.dpadId >0) {
+ el = angular.element(document.querySelector('#'+$rootScope.dpadState+'-move-' +$rootScope.dpadId));
+ // if in menu, unselect
+ if ($rootScope.dpadState == 'menu') {
+ if (el.length) {
+ el[0].classList.remove('dpadSelected');
+ $rootScope.dpadId = 0;
+ }
+ }
+ el.triggerHandler('click');
+
+ }
+ handled = true;
+ }
+
+ // arrows
+ else if (keyCode >= keyCodes.LEFT && keyCode <= keyCodes.DOWN) {
+
+ // might be open by mouse or other event, so check first
+ if ($ionicSideMenuDelegate.isOpen() && $rootScope.dpadState != 'menu') {
+ $rootScope.dpadState = "menu";
+ $rootScope.dpadId = 0;
+ }
+
+ if ($rootScope.dpadId < 1) {
+ // console.log ("First dpad usage with st="+st);
+ $rootScope.dpadId = 1;
+
+ //console.log ("looking for st="+st);
+ el = angular.element(document.querySelector(st+'1'));
+ if (el.length) {
+ el[0].classList.add('dpadSelected');
+ el[0].scrollIntoView();
+ }
+
+ } else {
+ // unselect old
+ //console.log ("looking for st="+st);
+ el = angular.element(document.querySelector(st +$rootScope.dpadId));
+
+ var nextId = (keyCode == keyCodes.LEFT || keyCode == keyCodes.UP) ? $rootScope.dpadId -1: $rootScope.dpadId + 1;
+ nextel = angular.element(document.querySelector(st +nextId));
+ if (nextel.length) {
+ if (el.length) el[0].classList.remove('dpadSelected');
+ nextel[0].classList.add('dpadSelected');
+ nextel[0].scrollIntoView();
+ $rootScope.dpadId = nextId;
+ }
+ console.log ("dpadID="+$rootScope.dpadId+ " with state="+$rootScope.dpadState);
+ }
+ handled = true;
+ }
+
+
+ return handled;
+
+ });
+ }
+
// register callbacks for online/offline
// lets see if it really works
$rootScope.online = navigator.onLine;
@@ -1370,9 +1489,12 @@ angular.module('zmApp', [
if (!$ionicSideMenuDelegate.isOpenLeft()) {
e.preventDefault();
$ionicSideMenuDelegate.toggleLeft();
+
+ $rootScope.dState = "menu";
+ $rootScope.dpadId = 0;
//console.log("Status of SIDE MENU IS : " + $ionicSideMenuDelegate.isOpen());
} else {
-
+
window.stop();
//ionic.Platform.exitApp();
//navigator.app.exitApp();
@@ -1420,26 +1542,29 @@ angular.module('zmApp', [
$rootScope.$on('$stateChangeStart', function (event, toState, toParams) {
var requireLogin = toState.data.requireLogin;
-
+ $rootScope.dpadId = 0;
+
//console.log("HERE");
if ($rootScope.apiValid == false && toState.name != 'app.invalidapi' && toState.data.requireLogin == true) {
event.preventDefault();
- $state.transitionTo('app.invalidapi');
+ $rootScope.dpadState = "invalidapi";
+ $state.transitionTo('invalidapi');
return;
}
if (NVRDataModel.hasLoginInfo() || toState.data.requireLogin == false) {
//console.log("State transition is authorized");
-
+ $rootScope.dpadState = toState.name.replace("app.","");
return;
} else {
NVRDataModel.log("In Auth State trans: Not logged in, requested to go to " + JSON.stringify(toState));
// event.preventDefault();
//
- $state.transitionTo('app.login');
+ $rootScope.dpadState = "login";
+ $state.transitionTo('login');
}
@@ -1452,6 +1577,7 @@ angular.module('zmApp', [
// for whatever reason, .go was resulting in digest loops.
// if you don't prevent, states will stack
event.preventDefault();
+ $rootScope.dpadState = "login";
$state.transitionTo('app.login');
return;
}
diff --git a/www/templates/devoptions.html b/www/templates/devoptions.html
index e81e536f..80a1d80a 100644
--- a/www/templates/devoptions.html
+++ b/www/templates/devoptions.html
@@ -1,12 +1,12 @@
<ion-view view-title="{{'kDevOptions' | translate}}">
<ion-nav-buttons side="left">
- <button class="button button-icon button-clear ion-navicon" ng-click="openMenu()"></button>
+ <button id="devoptions-move-1" class="button button-icon button-clear ion-navicon" ng-click="openMenu()"></button>
&nbsp;
<button data-badge="{{$root.alarmCount}}" class="animated infinite tada button button-icon button-clear ion-ios-bell notification-badge"
ng-click="handleAlarms();" ng-if="$root.isAlarm"></button>
</ion-nav-buttons>
<ion-nav-buttons side="right">
- <button class="button button-clear" ng-click="saveDevOptions()">{{'kSave' | translate}}</button>
+ <button id="devoptions-move-2" class="button button-clear" ng-click="saveDevOptions()">{{'kSave' | translate}}</button>
</ion-nav-buttons>
<ion-content delegate-handle="none" overflow-scroll="false" mouse-wheel-scroll>
<div class="list list-inset">
@@ -16,11 +16,11 @@
<div class="item item-input-inset">
{{'kFrameUpdate'|translate}} ({{'kSec'|translate}}.)&nbsp;
<label class="item-input-wrapper">
- <input type="tel" placeholder="min is 1s" ng-model="loginData.refreshSec">
+ <input id="devoptions-move-3" type="tel" placeholder="min is 1s" ng-model="loginData.refreshSec">
</label>
</div>
<label>
- <ion-toggle ng-model="loginData.use24hr" toggle-class="toggle-calm">
+ <ion-toggle id="devoptions-move-4" ng-model="loginData.use24hr" toggle-class="toggle-calm">
<span class="item-text-wrap">{{'kEnable24hr' | translate}}</span>
</ion-toggle>
</label>
diff --git a/www/templates/menu.html b/www/templates/menu.html
index 3b69b544..43833490 100644
--- a/www/templates/menu.html
+++ b/www/templates/menu.html
@@ -16,7 +16,7 @@
<!-- <ion-scroll scrollbar-y="false" style="height:100%" >-->
<ion-list>
<!--<ion-item ng-click="navigateView('app.montage')" menu-close>-->
- <ion-item href="#/app/montage" menu-close>
+ <ion-item id="menu-move-1" href="#/app/montage" ng-click="go('/app/montage')" >
<!--<span ng-if="$root.runMode=='lowbw'" style="float:right;margin-top:-18px;background-color:#f1c40f;color:#000;font-size:11px;opacity:0.7;width:20px;border-radius: 0px 0px 5px 5px;display:inline-block;text-align:center;">&nbsp;<i class="icon ion-arrow-graph-down-left"></i>&nbsp;</span>-->
<span class=" item-icon-left">
@@ -25,28 +25,28 @@
</ion-item>
<!--<ion-item ng-click="navigateView('app.timeline')" menu-close>-->
- <ion-item href="#/app/timeline" menu-close>
+ <ion-item id="menu-move-2" href="#/app/timeline" ng-click="go('/app/timeline')" >
<span class=" item-icon-left">
<i class="icon ion-android-time"></i>
</span>{{'kMenuTimeline'|translate}}
</ion-item>
<!--<ion-item ng-click="navigateView('app.events', {id:0,playEvent:false})" menu-close>-->
- <ion-item href="#/app/events/0/false" menu-close>
+ <ion-item id="menu-move-3" href="#/app/events/0/false" ng-click="go('/app/events/0/false')" >
<span class=" item-icon-left">
<i class="icon ion-ios-calendar-outline"></i>
</span>{{'kMenuEvents'|translate}}
</ion-item>
<!--<ion-item ng-click="navigateView('app.moment')" menu-close>-->
- <ion-item href="#/app/moment" menu-close>
+ <ion-item id="menu-move-4" ng-click="go('/app/moment')" href="#/app/moment" ng-click="go('/app/moment')">
<span class=" item-icon-left">
<i class="icon ion-star"></i>
</span>{{'kMoment24Heading'|translate}}
</ion-item>
<!-- <ion-item ng-click="navigateView('app.montage-history')" menu-close>-->
- <ion-item href="#/app/montage-history" menu-close>
+ <ion-item id="menu-move-5" href="#/app/montage-history" ng-click="go('/app/montage-history')" >
<span class=" item-icon-left">
<i class="icon ion-ios-keypad-outline"></i>
</span>{{'kMenuEventMontage'|translate}}
@@ -54,21 +54,21 @@
<!--<ion-item ng-click="navigateView('app.monitors')" menu-close>-->
- <ion-item href="#/app/monitors" menu-close>
+ <ion-item id="menu-move-6" href="#/app/monitors" ng-click="go('/app/monitors')" >
<span class=" item-icon-left">
<i class="icon ion-ios-videocam-outline"></i>
</span>{{'kMenuMonitors'|translate}}
</ion-item>
<!--<ion-item ng-click="navigateView('app.state')" menu-close>-->
- <ion-item href="#/app/state" menu-close>
+ <ion-item id="menu-move-7" href="#/app/state" ng-click="go('/app/state')">
<span class=" item-icon-left">
<i class="icon ion-information-circled"></i>
</span> {{'kMenuSystemStatus'|translate}}
</ion-item>
<!--<ion-item nav-clear menu-close ng-click="navigateView('app.login', {wizard:false})" >-->
- <ion-item nav-clear menu-close href="#/app/login/false">
+ <ion-item id="menu-move-8" nav-clear href="#/app/login/false" ng-click="go('/app/login/false')">
<span class=" item-icon-left">
<i class="icon ion-person"></i>
{{'kMenuZMSettings'|translate}}
@@ -79,7 +79,7 @@
</span>
</ion-item>
- <ion-item nav-clear menu-close href="#/app/devoptions">
+ <ion-item id="menu-move-9" nav-clear href="#/app/devoptions" ng-click="go('/app/devoptions')" >
<!--<ion-item nav-clear menu-close ng-click="navigateView('app.devoptions')">-->
<span class=" item-icon-left">
<i class="icon ion-settings"></i>
@@ -93,7 +93,7 @@
</ion-item>
<!--<ion-item nav-clear menu-close ng-click="navigateView('app.help')" >-->
- <ion-item nav-clear menu-close href="#/app/help">
+ <ion-item id="menu-move-10" nav-clear href="#/app/help" ng-click="go('/app/help')">
<span class=" item-icon-left">
<i class="icon ion-help"></i>
</span> {{'kMenuHelp'|translate}}
@@ -101,7 +101,7 @@
<!--<ion-item nav-clear menu-close ng-click="navigateView('app.wizard')" >-->
- <ion-item nav-clear menu-close href="#/app/wizard">
+ <ion-item id="menu-move-11" nav-clear href="#/app/wizard" ng-click="go('/app/wizard')">
<span class=" item-icon-left">
<i class="icon ion-wand"></i>
</span> {{'kMenuWizard'|translate}}
@@ -118,7 +118,7 @@
</div>
<!--<ion-item nav-clear menu-close ng-click="navigateView('app.log')" >-->
- <ion-item nav-clear menu-close href="#/app/log">
+ <ion-item id="menu-move-12" nav-clear href="#/app/log" ng-click="go('/app/log')">
<span class=" item-icon-left">
<i class="icon ion-clipboard"></i>
</span> {{'kMenuLogs'|translate}}
diff --git a/www/templates/monitors.html b/www/templates/monitors.html
index 2bd5d819..6f37a6d3 100644
--- a/www/templates/monitors.html
+++ b/www/templates/monitors.html
@@ -1,6 +1,6 @@
<ion-view view-title="{{'kMonitors' | translate}}" cache-view="false">
<ion-nav-buttons side="left">
- <button class="button button-icon button-clear ion-navicon" ng-click="openMenu()">
+ <button id="monitors-move-2" class="button button-icon button-clear ion-navicon" ng-click="openMenu()">
</button>
<button data-badge="{{$root.alarmCount}}" class="animated infinite tada button button-icon button-clear ion-ios-bell notification-badge"
ng-click="handleAlarms();" ng-if="$root.isAlarm"></button>
@@ -9,7 +9,7 @@
<ion-refresher pulling-text="Pull to reload Monitors..." spinner="bubbles" on-refresh="doRefresh()">
</ion-refresher>
<div style="float:right;margin-top:3px;margin-right:8px;">
- <a class="button button-small icon icon-left icon ion-ios-world-outline" href="" ng-click="changeConfig('All', '','1','Monitor');">{{'kGlobalConfiguration' | translate}}</a>
+ <a id="monitors-move-2" class="button button-small icon icon-left icon ion-ios-world-outline" href="" ng-click="changeConfig('All', '','1','Monitor');">{{'kGlobalConfiguration' | translate}}</a>
</div>
<br/>
<div class="list card" ng-repeat="monitor in monitors">
@@ -53,7 +53,7 @@
<div style="float:right;">
<a class="button button-small icon icon-left icon ion-gear-a" href="" ng-click="changeConfig(monitor.Monitor.Name, monitor.Monitor.Id,monitor.Monitor.Enabled,monitor.Monitor.Function);">{{'kConfiguration' | translate}}</a>
<a class="button button-small icon icon-left ion-calendar" href="#/app/events/{{monitor.Monitor.Id}}/false">{{'kEventsCap'|translate}}</a>
- <a class="button button-small icon icon-left ion-ios-eye" ng-click="openModal(monitor.Monitor.Id, monitor.Monitor.Controllable, monitor.Monitor.ControlId, monitor.Monitor.connKey, monitor)">{{'kLiveView' | translate}}</a>
+ <a class="button button-small icon icon-left ion-ios-eye" ng-click="openModal(monitor.Monitor.Id, monitor.Monitor.Controllable, monitor.Monitor.ControlId, monitor.Monitor.connKey, monitor)">{{'kLiveView' | translate}} </a>
</div>
</div>
</div>
diff --git a/www/templates/montage.html b/www/templates/montage.html
index 876e1125..b37e16b6 100644
--- a/www/templates/montage.html
+++ b/www/templates/montage.html
@@ -1,28 +1,28 @@
<ion-view cache-view="false" hide-nav-bar="{{minimal}}">
<ion-nav-title>{{currentProfileName}}</ion-nav-title>
<ion-nav-buttons side="left">
- <button class="button button-icon button-clear ion-navicon" ng-click="openMenu()"></button>
+ <button id="montage-move-1" class="button button-icon button-clear ion-navicon" ng-click="openMenu()"></button>
&nbsp;
- <button class="button button-icon button-clear ion-eye" ng-click="hideUnhide();">&nbsp;
+ <button class="button button-icon button-clear ion-eye" ng-click="hideUnhide();">&nbsp;
</button>
- <button class="button button-icon button-clear ion-chevron-down" ng-click="toggleSubMenuFunction();">&nbsp;
+ <button id="montage-move-2" class="button button-icon button-clear ion-chevron-down" ng-click="toggleSubMenuFunction();">&nbsp;
</button>
<button data-badge="{{$root.alarmCount}}" class="animated infinite tada button button-icon button-clear ion-ios-bell notification-badge"
ng-click="handleAlarms();" ng-if="$root.isAlarm"></button>
</ion-nav-buttons>
<ion-nav-buttons side="right">
- <span ng-click="toggleTimeType()" class="icon montage-time">
+ <span ng-click="toggleTimeType()" class="icon montage-time">
<i ng-class="(iconTimeNow=='server')?'icon-server':'ion-ios-location'"></i>
{{timeNow}}&nbsp;</span>
- <button class="button button-icon button-clear ion-arrow-move" ng-click="dragToggle();">&nbsp;
+ <button class="button button-icon button-clear ion-arrow-move" ng-click="dragToggle();">&nbsp;
</button>
<!--
<button class="button button-icon button-clear ion-monitor" ng-click="cast();">&nbsp;
</button>
-->
- <button class="button button-icon button-clear ion-loop" ng-click="resetSizes();">&nbsp;
+ <button id="montage-move-3" class="button button-icon button-clear ion-loop" ng-click="resetSizes();">&nbsp;
</button>
- <button class="button button-icon button-clear ion-android-contract" ng-click="switchMinimal()">
+ <button class="button button-icon button-clear ion-android-contract" ng-click="switchMinimal()">
</button>
</ion-nav-buttons>
<ion-content ng-cloak has-bouncing="false" style="background-color:#444444" delegate-handle="montage-delegate" overflow-scroll="false">
@@ -39,34 +39,34 @@
<a href="" ng-click="killAllImages()"> <i class="ion-ionic"></i></a>
</li>-->
- <li>
- <a href="" ng-click="sliderChanged(1)">
+ <li >
+ <a id="montage-move-4" ng-click="sliderChanged(1)" >
<i class="ion-plus-circled"></i>
</a>
</li>
- <li>
- <a href="" ng-click="sliderChanged(-1)">
+ <li >
+ <a id="montage-move-5" ng-click="sliderChanged(-1)" >
<i class="ion-minus-circled"></i>
</a>
</li>
- <li>
- <a href="" ng-click="squeezeMonitors()">
+ <li >
+ <a id="montage-move-6" ng-click="squeezeMonitors()" >
<i class="ion-android-apps"></i>
</a>
</li>
<li ng-style="{'background-color': isCycleOn()?'rgba(69, 170, 242,0.7)':'rgba(108, 122, 137, 0.7)'}" ng-if="!isDragabillyOn">
- <a href="" ng-click="toggleCycle()">
+ <a ng-click="toggleCycle()">
<i class="ion-android-bicycle"></i>:{{getCycleStatus()}}</a>
</li>
<li ng-if="isDragabillyOn">
- <a href="" ng-click="hideMonitor(monitor.Monitor.Id)">
+ <a ng-click="hideMonitor(monitor.Monitor.Id)">
<i class="ion-close-circled"></i>
</a>
</li>
<li ng-if="isDragabillyOn">
- <a href="" ng-click="toggleStamp()">
+ <a ng-click="toggleStamp()">
<i class="ion-pin"></i>
</a>
</li>