From b1b626a1e31b854cadc0447a4293668697356aa2 Mon Sep 17 00:00:00 2001 From: Tobias Brunner Date: Thu, 21 Jun 2018 19:05:33 +0200 Subject: [PATCH] android: Crudely catch exception if no file browser is available Seen on Android TV in the emulator. --- .../android/ui/TrustedCertificateImportActivity.java | 11 ++++++++++- .../android/ui/VpnProfileImportActivity.java | 12 ++++++++++-- 2 files changed, 20 insertions(+), 3 deletions(-) diff --git a/src/frontends/android/app/src/main/java/org/strongswan/android/ui/TrustedCertificateImportActivity.java b/src/frontends/android/app/src/main/java/org/strongswan/android/ui/TrustedCertificateImportActivity.java index ed950cd11..f61db05b0 100644 --- a/src/frontends/android/app/src/main/java/org/strongswan/android/ui/TrustedCertificateImportActivity.java +++ b/src/frontends/android/app/src/main/java/org/strongswan/android/ui/TrustedCertificateImportActivity.java @@ -18,6 +18,7 @@ package org.strongswan.android.ui; import android.annotation.TargetApi; import android.app.Activity; import android.app.Dialog; +import android.content.ActivityNotFoundException; import android.content.DialogInterface; import android.content.Intent; import android.net.Uri; @@ -76,7 +77,15 @@ public class TrustedCertificateImportActivity extends AppCompatActivity Intent openIntent = new Intent(Intent.ACTION_OPEN_DOCUMENT); openIntent.setType("*/*"); openIntent.putExtra(Intent.EXTRA_MIME_TYPES, ACCEPTED_MIME_TYPES); - startActivityForResult(openIntent, OPEN_DOCUMENT); + try + { + startActivityForResult(openIntent, OPEN_DOCUMENT); + } + catch (ActivityNotFoundException e) + { /* some devices are unable to browse for files */ + finish(); + return; + } } } diff --git a/src/frontends/android/app/src/main/java/org/strongswan/android/ui/VpnProfileImportActivity.java b/src/frontends/android/app/src/main/java/org/strongswan/android/ui/VpnProfileImportActivity.java index fd6ccd9c7..1d8b677ee 100644 --- a/src/frontends/android/app/src/main/java/org/strongswan/android/ui/VpnProfileImportActivity.java +++ b/src/frontends/android/app/src/main/java/org/strongswan/android/ui/VpnProfileImportActivity.java @@ -17,6 +17,7 @@ package org.strongswan.android.ui; import android.app.Activity; import android.app.LoaderManager; +import android.content.ActivityNotFoundException; import android.content.AsyncTaskLoader; import android.content.ContentResolver; import android.content.Context; @@ -64,7 +65,6 @@ import java.io.ByteArrayOutputStream; import java.io.FileNotFoundException; import java.io.IOException; import java.io.InputStream; -import java.lang.OutOfMemoryError; import java.net.URL; import java.net.UnknownHostException; import java.security.KeyStore; @@ -212,7 +212,15 @@ public class VpnProfileImportActivity extends AppCompatActivity { Intent openIntent = new Intent(Intent.ACTION_OPEN_DOCUMENT); openIntent.setType("*/*"); - startActivityForResult(openIntent, OPEN_DOCUMENT); + try + { + startActivityForResult(openIntent, OPEN_DOCUMENT); + } + catch (ActivityNotFoundException e) + { /* some devices are unable to browse for files */ + finish(); + return; + } } if (savedInstanceState != null)