From 36067c9fac1b030c902aade7eb01afdb249a20a5 Mon Sep 17 00:00:00 2001 From: seven332 Date: Wed, 2 Jan 2019 16:02:20 +0800 Subject: [PATCH] Ignore Throwable in ActivityCompat.requestPermissions() --- .../com/hippo/util/PermissionRequester.java | 22 ++++++++++++++----- 1 file changed, 16 insertions(+), 6 deletions(-) diff --git a/app/src/main/java/com/hippo/util/PermissionRequester.java b/app/src/main/java/com/hippo/util/PermissionRequester.java index 2863e0c48..5313cca75 100644 --- a/app/src/main/java/com/hippo/util/PermissionRequester.java +++ b/app/src/main/java/com/hippo/util/PermissionRequester.java @@ -44,18 +44,28 @@ public class PermissionRequester { .setPositiveButton(android.R.string.ok, new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { - ActivityCompat.requestPermissions(activity, - new String[]{permission}, - requestCode); + requestPermissions(activity, new String[]{permission}, requestCode); } }).setNegativeButton(android.R.string.cancel, null) .show(); } else { - ActivityCompat.requestPermissions(activity, - new String[]{permission}, - requestCode); + return requestPermissions(activity, new String[]{permission}, requestCode); } return false; } + + private static boolean requestPermissions( + final Activity activity, + final String[] permissions, + int requestCode + ) { + try { + ActivityCompat.requestPermissions(activity, permissions, requestCode); + return true; + } catch (Throwable t) { + ExceptionUtils.throwIfFatal(t); + return false; + } + } }