Skip to content

Commit

Permalink
If API access errors, notify the user with a link to the FAQ #415
Browse files Browse the repository at this point in the history
  • Loading branch information
pliablepixels committed Dec 24, 2016
1 parent af230a2 commit c6b9e67
Show file tree
Hide file tree
Showing 8 changed files with 221 additions and 108 deletions.
197 changes: 99 additions & 98 deletions config.xml
Original file line number Diff line number Diff line change
@@ -1,102 +1,103 @@
<?xml version='1.0' encoding='utf-8'?>
<widget android-packageName="com.pliablepixels.zmninja_pro" id="com.pliablepixels.zmninjapro" ios-CFBundleIdentifier="com.pliablepixels.zmninja-pro" version="1.2.33" xmlns="http://www.w3.org/ns/widgets" xmlns:cdv="http://cordova.apache.org/ns/1.0">
<name>zmNinja</name>
<description>
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<widget android-packageName="com.pliablepixels.zmninja_pro" id="com.pliablepixels.zmninjapro" ios-CFBundleIdentifier="com.pliablepixels.zmninja-pro" version="1.2.34" xmlns="http://www.w3.org/ns/widgets" xmlns:cdv="http://cordova.apache.org/ns/1.0">
<name>zmNinja</name>
<description>
High performance ZoneMinder client
</description>
<author email="[email protected]" href="http://pliablepixels.us/">
<author email="[email protected]" href="http://pliablepixels.us/">
Pliable Pixels
</author>
<content src="index.html" />
<access origin="*" subdomains="true" />
<access launch-external="yes" origin="mailto:*" />
<allow-navigation href="*" />
<allow-intent href="*" />
<preference name="AndroidPersistentFileLocation" value="Compatibility" />
<preference name="iosPersistentFileLocation" value="Library" />
<preference name="AllowInlineMediaPlayback" value="true" />
<preference name="CrosswalkAnimatable" value="true" />
<preference name="webviewbounce" value="false" />
<preference name="UIWebViewBounce" value="false" />
<preference name="StatusBarBackgroundColor" value="#2980b9" />
<preference name="DisallowOverscroll" value="true" />
<preference name="BackupWebStorage" value="none" />
<preference name="AutoHideSplashScreen" value="false" />
<preference name="ShowSplashScreenSpinner" value="false" />
<preference name="SplashScreen" value="screen" />
<preference name="deployment-target" value="8.0" />
<preference name="SplashScreenDelay" value="300" />
<preference name="SplashMaintainAspectRatio" value="true" />
<preference name="FadeSplashScreen" value="false" />
<preference name="BackgroundColor" value="#444444" />
<feature name="StatusBar">
<param name="ios-package" onload="true" value="CDVStatusBar" />
</feature>
<platform name="ios">
<config-file parent="NSPhotoLibraryUsageDescription" platform="ios" target="*-Info.plist">
<string>Store photos of events and live feeds</string>
</config-file>
<icon height="57" src="resources/ios/icon/icon.png" width="57" />
<icon height="114" src="resources/ios/icon/[email protected]" width="114" />
<icon height="40" src="resources/ios/icon/icon-40.png" width="40" />
<icon height="80" src="resources/ios/icon/[email protected]" width="80" />
<icon height="120" src="resources/ios/icon/[email protected]" width="120" />
<icon height="50" src="resources/ios/icon/icon-50.png" width="50" />
<icon height="100" src="resources/ios/icon/[email protected]" width="100" />
<icon height="60" src="resources/ios/icon/icon-60.png" width="60" />
<icon height="120" src="resources/ios/icon/[email protected]" width="120" />
<icon height="180" src="resources/ios/icon/[email protected]" width="180" />
<icon height="72" src="resources/ios/icon/icon-72.png" width="72" />
<icon height="144" src="resources/ios/icon/[email protected]" width="144" />
<icon height="76" src="resources/ios/icon/icon-76.png" width="76" />
<icon height="152" src="resources/ios/icon/[email protected]" width="152" />
<icon height="167" src="resources/ios/icon/[email protected]" width="167" />
<icon height="29" src="resources/ios/icon/icon-small.png" width="29" />
<icon height="58" src="resources/ios/icon/[email protected]" width="58" />
<icon height="87" src="resources/ios/icon/[email protected]" width="87" />
<splash height="1136" src="resources/ios/splash/Default-568h@2x~iphone.png" width="640" />
<splash height="1334" src="resources/ios/splash/Default-667h.png" width="750" />
<splash height="2208" src="resources/ios/splash/Default-736h.png" width="1242" />
<splash height="1242" src="resources/ios/splash/Default-Landscape-736h.png" width="2208" />
<splash height="1536" src="resources/ios/splash/Default-Landscape@2x~ipad.png" width="2048" />
<splash height="768" src="resources/ios/splash/Default-Landscape~ipad.png" width="1024" />
<splash height="2048" src="resources/ios/splash/Default-Portrait@2x~ipad.png" width="1536" />
<splash height="1024" src="resources/ios/splash/Default-Portrait~ipad.png" width="768" />
<splash height="960" src="resources/ios/splash/Default@2x~iphone.png" width="640" />
<splash height="480" src="resources/ios/splash/Default~iphone.png" width="320" />
</platform>
<platform name="android">
<icon density="ldpi" src="resources/android/icon/drawable-ldpi-icon.png" />
<icon density="mdpi" src="resources/android/icon/drawable-mdpi-icon.png" />
<icon density="hdpi" src="resources/android/icon/drawable-hdpi-icon.png" />
<icon density="xhdpi" src="resources/android/icon/drawable-xhdpi-icon.png" />
<icon density="xxhdpi" src="resources/android/icon/drawable-xxhdpi-icon.png" />
<icon density="xxxhdpi" src="resources/android/icon/drawable-xxxhdpi-icon.png" />
<splash density="land-ldpi" src="resources/android/splash/drawable-land-ldpi-screen.png" />
<splash density="land-mdpi" src="resources/android/splash/drawable-land-mdpi-screen.png" />
<splash density="land-hdpi" src="resources/android/splash/drawable-land-hdpi-screen.png" />
<splash density="land-xhdpi" src="resources/android/splash/drawable-land-xhdpi-screen.png" />
<splash density="land-xxhdpi" src="resources/android/splash/drawable-land-xxhdpi-screen.png" />
<splash density="land-xxxhdpi" src="resources/android/splash/drawable-land-xxxhdpi-screen.png" />
<splash density="port-ldpi" src="resources/android/splash/drawable-port-ldpi-screen.png" />
<splash density="port-mdpi" src="resources/android/splash/drawable-port-mdpi-screen.png" />
<splash density="port-hdpi" src="resources/android/splash/drawable-port-hdpi-screen.png" />
<splash density="port-xhdpi" src="resources/android/splash/drawable-port-xhdpi-screen.png" />
<splash density="port-xxhdpi" src="resources/android/splash/drawable-port-xxhdpi-screen.png" />
<splash density="port-xxxhdpi" src="resources/android/splash/drawable-port-xxxhdpi-screen.png" />
</platform>
<icon src="resources/android/icon/drawable-xhdpi-icon.png" />
<plugin name="cordova-sqlite-storage" spec="~1.4.6-pre6a" />
<plugin name="cordova-plugin-settings-hook" spec="~0.2.3" />
<engine name="ios" spec="~4.1.1" />
<engine name="android" spec="~5.1.1" />
<plugin name="cordova-plugin-photo-library" spec="~1.2.0">
<variable name="PHOTO_LIBRARY_USAGE_DESCRIPTION" value="images to gallery" />
</plugin>
<plugin name="cordova-plugin-customurlscheme" spec="~4.2.0">
<variable name="URL_SCHEME" value="zmninja" />
<variable name="ANDROID_SCHEME" value=" " />
<variable name="ANDROID_HOST" value=" " />
<variable name="ANDROID_PATHPREFIX" value="/" />
</plugin>
</widget>
<content src="index.html"/>
<access origin="*" subdomains="true"/>
<access launch-external="yes" origin="mailto:*"/>
<allow-navigation href="*"/>
<allow-navigation href="http://10.6.1.6:8100"/>
<allow-intent href="*"/>
<preference name="AndroidPersistentFileLocation" value="Compatibility"/>
<preference name="iosPersistentFileLocation" value="Library"/>
<preference name="AllowInlineMediaPlayback" value="true"/>
<preference name="CrosswalkAnimatable" value="true"/>
<preference name="webviewbounce" value="false"/>
<preference name="UIWebViewBounce" value="false"/>
<preference name="StatusBarBackgroundColor" value="#2980b9"/>
<preference name="DisallowOverscroll" value="true"/>
<preference name="BackupWebStorage" value="none"/>
<preference name="AutoHideSplashScreen" value="false"/>
<preference name="ShowSplashScreenSpinner" value="false"/>
<preference name="SplashScreen" value="screen"/>
<preference name="deployment-target" value="8.0"/>
<preference name="SplashScreenDelay" value="300"/>
<preference name="SplashMaintainAspectRatio" value="true"/>
<preference name="FadeSplashScreen" value="false"/>
<preference name="BackgroundColor" value="#444444"/>
<feature name="StatusBar">
<param name="ios-package" onload="true" value="CDVStatusBar"/>
</feature>
<platform name="ios">
<config-file parent="NSPhotoLibraryUsageDescription" platform="ios" target="*-Info.plist">
<string>Store photos of events and live feeds</string>
</config-file>
<icon height="57" src="resources/ios/icon/icon.png" width="57"/>
<icon height="114" src="resources/ios/icon/[email protected]" width="114"/>
<icon height="40" src="resources/ios/icon/icon-40.png" width="40"/>
<icon height="80" src="resources/ios/icon/[email protected]" width="80"/>
<icon height="120" src="resources/ios/icon/[email protected]" width="120"/>
<icon height="50" src="resources/ios/icon/icon-50.png" width="50"/>
<icon height="100" src="resources/ios/icon/[email protected]" width="100"/>
<icon height="60" src="resources/ios/icon/icon-60.png" width="60"/>
<icon height="120" src="resources/ios/icon/[email protected]" width="120"/>
<icon height="180" src="resources/ios/icon/[email protected]" width="180"/>
<icon height="72" src="resources/ios/icon/icon-72.png" width="72"/>
<icon height="144" src="resources/ios/icon/[email protected]" width="144"/>
<icon height="76" src="resources/ios/icon/icon-76.png" width="76"/>
<icon height="152" src="resources/ios/icon/[email protected]" width="152"/>
<icon height="167" src="resources/ios/icon/[email protected]" width="167"/>
<icon height="29" src="resources/ios/icon/icon-small.png" width="29"/>
<icon height="58" src="resources/ios/icon/[email protected]" width="58"/>
<icon height="87" src="resources/ios/icon/[email protected]" width="87"/>
<splash height="1136" src="resources/ios/splash/Default-568h@2x~iphone.png" width="640"/>
<splash height="1334" src="resources/ios/splash/Default-667h.png" width="750"/>
<splash height="2208" src="resources/ios/splash/Default-736h.png" width="1242"/>
<splash height="1242" src="resources/ios/splash/Default-Landscape-736h.png" width="2208"/>
<splash height="1536" src="resources/ios/splash/Default-Landscape@2x~ipad.png" width="2048"/>
<splash height="768" src="resources/ios/splash/Default-Landscape~ipad.png" width="1024"/>
<splash height="2048" src="resources/ios/splash/Default-Portrait@2x~ipad.png" width="1536"/>
<splash height="1024" src="resources/ios/splash/Default-Portrait~ipad.png" width="768"/>
<splash height="960" src="resources/ios/splash/Default@2x~iphone.png" width="640"/>
<splash height="480" src="resources/ios/splash/Default~iphone.png" width="320"/>
</platform>
<platform name="android">
<icon density="ldpi" src="resources/android/icon/drawable-ldpi-icon.png"/>
<icon density="mdpi" src="resources/android/icon/drawable-mdpi-icon.png"/>
<icon density="hdpi" src="resources/android/icon/drawable-hdpi-icon.png"/>
<icon density="xhdpi" src="resources/android/icon/drawable-xhdpi-icon.png"/>
<icon density="xxhdpi" src="resources/android/icon/drawable-xxhdpi-icon.png"/>
<icon density="xxxhdpi" src="resources/android/icon/drawable-xxxhdpi-icon.png"/>
<splash density="land-ldpi" src="resources/android/splash/drawable-land-ldpi-screen.png"/>
<splash density="land-mdpi" src="resources/android/splash/drawable-land-mdpi-screen.png"/>
<splash density="land-hdpi" src="resources/android/splash/drawable-land-hdpi-screen.png"/>
<splash density="land-xhdpi" src="resources/android/splash/drawable-land-xhdpi-screen.png"/>
<splash density="land-xxhdpi" src="resources/android/splash/drawable-land-xxhdpi-screen.png"/>
<splash density="land-xxxhdpi" src="resources/android/splash/drawable-land-xxxhdpi-screen.png"/>
<splash density="port-ldpi" src="resources/android/splash/drawable-port-ldpi-screen.png"/>
<splash density="port-mdpi" src="resources/android/splash/drawable-port-mdpi-screen.png"/>
<splash density="port-hdpi" src="resources/android/splash/drawable-port-hdpi-screen.png"/>
<splash density="port-xhdpi" src="resources/android/splash/drawable-port-xhdpi-screen.png"/>
<splash density="port-xxhdpi" src="resources/android/splash/drawable-port-xxhdpi-screen.png"/>
<splash density="port-xxxhdpi" src="resources/android/splash/drawable-port-xxxhdpi-screen.png"/>
</platform>
<icon src="resources/android/icon/drawable-xhdpi-icon.png"/>
<plugin name="cordova-sqlite-storage" spec="~1.4.6-pre6a"/>
<plugin name="cordova-plugin-settings-hook" spec="~0.2.3"/>
<plugin name="cordova-plugin-photo-library" spec="~1.2.0">
<variable name="PHOTO_LIBRARY_USAGE_DESCRIPTION" value="images to gallery"/>
</plugin>
<plugin name="cordova-plugin-customurlscheme" spec="~4.2.0">
<variable name="URL_SCHEME" value="zmninja"/>
<variable name="ANDROID_SCHEME" value=" "/>
<variable name="ANDROID_HOST" value=" "/>
<variable name="ANDROID_PATHPREFIX" value="/"/>
</plugin>
<engine name="ios" spec="~4.1.1"/>
<engine name="android" spec="~5.1.1"/>
</widget>
1 change: 1 addition & 0 deletions www/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -99,6 +99,7 @@
<script src="js/WizardCtrl.js"></script>
<script src="js/MenuController.js"></script>
<script src="js/EventsModalGraphCtrl.js"></script>
<script src="js/InvalidApiCtrl.js"></script>
</head>
<!-- <body ng-app="starter" > -->
<!-- I want to start angular only after cordova device is ready, so I'll tag it on device ready -->
Expand Down
5 changes: 4 additions & 1 deletion www/js/DataModel.js
Original file line number Diff line number Diff line change
Expand Up @@ -1193,11 +1193,13 @@ angular.module('zmApp.controllers')
{
if (success.data.version)
{
$rootScope.apiValid = true;
d.resolve(success.data.version);
}
else
{
d.resolve("0.0.0");
$rootScope.apiValid = false;
d.reject("-1.-1.-1");
}
return (d.promise);

Expand All @@ -1206,6 +1208,7 @@ angular.module('zmApp.controllers')
{
debug("getAPIversion error handler " + JSON.stringify(error));
d.reject("-1.-1.-1");
$rootScope.apiValid = false;
return (d.promise);
});
return (d.promise);
Expand Down
37 changes: 37 additions & 0 deletions www/js/InvalidApiCtrl.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
/* jshint -W041 */
/* jslint browser: true*/
/* global cordova,StatusBar,angular,console */

angular.module('zmApp.controllers').controller('zmApp.InvalidApiCtrl', ['$scope', '$ionicSideMenuDelegate', 'zm', '$stateParams', '$timeout', '$rootScope', function($scope, $ionicSideMenuDelegate, zm, $stateParams, $timeout, $rootScope)
{
$scope.openMenu = function()
{
$ionicSideMenuDelegate.toggleLeft();
};

//-------------------------------------------------------------------------
// Controller Main
//------------------------------------------------------------------------
$scope.$on('$ionicView.enter', function()
{
console.log("**VIEW ** InvalidAPI Ctrl Entered");
$ionicSideMenuDelegate.canDragContent(true);
});

$scope.openMenu = function()
{
$timeout(function()
{
$rootScope.stateofSlide = $ionicSideMenuDelegate.isOpen();
}, 500);

$ionicSideMenuDelegate.toggleLeft();
};

$scope.readFAQ = function()
{
window.open('https://github.com/pliablepixels/zmNinja/wiki/Validating-if-APIs-work-on-ZM', '_blank', 'location=yes');
return false;
};

}]);
Loading

0 comments on commit c6b9e67

Please sign in to comment.