From f5c776ac9c408084311665b30a5f04ae100c00d3 Mon Sep 17 00:00:00 2001 From: Benoit Marty Date: Tue, 24 Sep 2024 16:28:43 +0200 Subject: [PATCH] Protection against ActivityNotFoundException. Should fix https://sentry.tools.element.io/organizations/element/issues/974670/events/f074c0a4da444a5bacc4ef8f8fd5dbea/ --- .../libraries/mediapickers/api/PickerLauncher.kt | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/libraries/mediapickers/api/src/main/kotlin/io/element/android/libraries/mediapickers/api/PickerLauncher.kt b/libraries/mediapickers/api/src/main/kotlin/io/element/android/libraries/mediapickers/api/PickerLauncher.kt index 719ee29651..0c47059ec1 100644 --- a/libraries/mediapickers/api/src/main/kotlin/io/element/android/libraries/mediapickers/api/PickerLauncher.kt +++ b/libraries/mediapickers/api/src/main/kotlin/io/element/android/libraries/mediapickers/api/PickerLauncher.kt @@ -7,7 +7,9 @@ package io.element.android.libraries.mediapickers.api +import android.content.ActivityNotFoundException import androidx.activity.compose.ManagedActivityResultLauncher +import timber.log.Timber /** * Wrapper around [ManagedActivityResultLauncher] to be used with media/file pickers. @@ -25,11 +27,19 @@ class ComposePickerLauncher( private val defaultRequest: Input, ) : PickerLauncher { override fun launch() { - managedLauncher.launch(defaultRequest) + try { + managedLauncher.launch(defaultRequest) + } catch (activityNotFoundException: ActivityNotFoundException) { + Timber.w(activityNotFoundException, "No activity found") + } } override fun launch(customInput: Input) { - managedLauncher.launch(customInput) + try { + managedLauncher.launch(customInput) + } catch (activityNotFoundException: ActivityNotFoundException) { + Timber.w(activityNotFoundException, "No activity found") + } } }