From e5a375c3fe9c8f20aa2b50862646e3cfd4cfdedf Mon Sep 17 00:00:00 2001 From: seven332 Date: Fri, 21 Dec 2018 18:53:50 +0800 Subject: [PATCH] Catch all throwable from startActivityForResult() --- .../main/java/com/hippo/ehviewer/ui/GalleryActivity.java | 7 ++++++- .../com/hippo/ehviewer/ui/fragment/DownloadFragment.java | 6 +++--- 2 files changed, 9 insertions(+), 4 deletions(-) diff --git a/app/src/main/java/com/hippo/ehviewer/ui/GalleryActivity.java b/app/src/main/java/com/hippo/ehviewer/ui/GalleryActivity.java index d6d0ccead..417e71de1 100644 --- a/app/src/main/java/com/hippo/ehviewer/ui/GalleryActivity.java +++ b/app/src/main/java/com/hippo/ehviewer/ui/GalleryActivity.java @@ -947,7 +947,12 @@ public class GalleryActivity extends EhActivity implements SeekBar.OnSeekBarChan intent.addCategory(Intent.CATEGORY_OPENABLE); intent.setType("image/*"); intent.putExtra(Intent.EXTRA_TITLE, filename); - startActivityForResult(intent, WRITE_REQUEST_CODE); + try { + startActivityForResult(intent, WRITE_REQUEST_CODE); + } catch (Throwable e) { + ExceptionUtils.throwIfFatal(e); + Toast.makeText(this, R.string.error_cant_find_activity, Toast.LENGTH_SHORT).show(); + } } @Override diff --git a/app/src/main/java/com/hippo/ehviewer/ui/fragment/DownloadFragment.java b/app/src/main/java/com/hippo/ehviewer/ui/fragment/DownloadFragment.java index 244febabe..9a38fdc43 100644 --- a/app/src/main/java/com/hippo/ehviewer/ui/fragment/DownloadFragment.java +++ b/app/src/main/java/com/hippo/ehviewer/ui/fragment/DownloadFragment.java @@ -17,7 +17,6 @@ package com.hippo.ehviewer.ui.fragment; import android.app.Activity; -import android.content.ActivityNotFoundException; import android.content.DialogInterface; import android.content.Intent; import android.net.Uri; @@ -28,12 +27,12 @@ import android.preference.PreferenceFragment; import android.support.annotation.Nullable; import android.support.v7.app.AlertDialog; import android.widget.Toast; - import com.hippo.ehviewer.R; import com.hippo.ehviewer.Settings; import com.hippo.ehviewer.ui.CommonOperations; import com.hippo.ehviewer.ui.DirPickerActivity; import com.hippo.unifile.UniFile; +import com.hippo.util.ExceptionUtils; public class DownloadFragment extends PreferenceFragment implements Preference.OnPreferenceChangeListener, @@ -145,7 +144,8 @@ public class DownloadFragment extends PreferenceFragment implements Intent intent = new Intent(Intent.ACTION_OPEN_DOCUMENT_TREE); try { startActivityForResult(intent, REQUEST_CODE_PICK_IMAGE_DIR_L); - } catch (ActivityNotFoundException e) { + } catch (Throwable e) { + ExceptionUtils.throwIfFatal(e); Toast.makeText(getActivity(), R.string.error_cant_find_activity, Toast.LENGTH_SHORT).show(); } }