From 9d9d283dc70a8bf5e06a997b771dae0ec228e6fb Mon Sep 17 00:00:00 2001 From: mcarare Date: Fri, 25 Sep 2020 15:31:22 +0300 Subject: [PATCH] [fenix] For https://github.com/mozilla-mobile/fenix/issues/15310: Also catch ActivityNotFoundException when sharing to app. --- .../org/mozilla/fenix/share/ShareController.kt | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/app/src/main/java/org/mozilla/fenix/share/ShareController.kt b/app/src/main/java/org/mozilla/fenix/share/ShareController.kt index 2c1f44888..e3c1a7310 100644 --- a/app/src/main/java/org/mozilla/fenix/share/ShareController.kt +++ b/app/src/main/java/org/mozilla/fenix/share/ShareController.kt @@ -4,6 +4,7 @@ package org.mozilla.fenix.share +import android.content.ActivityNotFoundException import android.content.Context import android.content.Intent import android.content.Intent.ACTION_SEND @@ -98,13 +99,19 @@ class DefaultShareController( setClassName(app.packageName, app.activityName) } + @Suppress("TooGenericExceptionCaught") val result = try { context.startActivity(intent) ShareController.Result.SUCCESS - } catch (e: SecurityException) { - snackbar.setText(context.getString(R.string.share_error_snackbar)) - snackbar.show() - ShareController.Result.SHARE_ERROR + } catch (e: Exception) { + when (e) { + is SecurityException, is ActivityNotFoundException -> { + snackbar.setText(context.getString(R.string.share_error_snackbar)) + snackbar.show() + ShareController.Result.SHARE_ERROR + } + else -> throw e + } } dismiss(result) }