android: Show an error if VPN fails due to lock down mode in Android 4.2
authorTobias Brunner <tobias@strongswan.org>
Thu, 15 Nov 2012 17:52:18 +0000 (18:52 +0100)
committerTobias Brunner <tobias@strongswan.org>
Mon, 19 Nov 2012 10:43:32 +0000 (11:43 +0100)
src/frontends/android/res/values-de/strings.xml
src/frontends/android/res/values-pl/strings.xml
src/frontends/android/res/values/strings.xml
src/frontends/android/src/org/strongswan/android/ui/MainActivity.java

index a04da72..bb4cf5d 100644 (file)
@@ -25,6 +25,7 @@
     <string name="search">Suchen</string>
     <string name="vpn_not_supported_title">VPN nicht unterstützt</string>
     <string name="vpn_not_supported">Ihr Gerät unterstützt keine VPN Anwendungen.\nBitte kontaktieren Sie den Hersteller.</string>
+    <string name="vpn_not_supported_during_lockdown">VPN Verbindungen sind nicht möglich im abgeriegelten Modus.</string>
     <string name="loading">Laden&#8230;</string>
 
     <!-- Log view -->
index 54f4259..58d158b 100644 (file)
@@ -27,6 +27,7 @@
     <string name="search">Szukaj</string>
     <string name="vpn_not_supported_title">Nie obsługiwany VPN</string>
     <string name="vpn_not_supported">Urządzenie nie obsługuje aplikacji VPN.\nProszę skontaktować się z producentem.</string>
+    <string name="vpn_not_supported_during_lockdown">Polączenia nie sa możliwe w trybie zamkniętym</string>
     <string name="loading">Wczytywanie&#8230;</string>
 
     <!-- Log view -->
index 3e4b746..4b33234 100644 (file)
@@ -25,6 +25,7 @@
     <string name="search">Search</string>
     <string name="vpn_not_supported_title">VPN not supported</string>
     <string name="vpn_not_supported">Your device does not support VPN applications.\nPlease contact the manufacturer.</string>
+    <string name="vpn_not_supported_during_lockdown">VPN connections are not supported in lockdown mode.</string>
     <string name="loading">Loading&#8230;</string>
 
     <!-- Log view -->
index 77ab563..4ccf7d3 100644 (file)
@@ -95,7 +95,17 @@ public class MainActivity extends Activity implements OnVpnProfileSelectedListen
         */
        protected void prepareVpnService(Bundle profileInfo)
        {
-               Intent intent = VpnService.prepare(this);
+               Intent intent;
+               try
+               {
+                       intent = VpnService.prepare(this);
+               }
+               catch (IllegalStateException ex)
+               {
+                       /* this happens if the always-on VPN feature (Android 4.2+) is activated */
+                       VpnNotSupportedError.showWithMessage(this, R.string.vpn_not_supported_during_lockdown);
+                       return;
+               }
                /* store profile info until the user grants us permission */
                mProfileInfo = profileInfo;
                if (intent != null)