diff --git a/filekit-dialogs-compose/src/androidHostTest/kotlin/io/github/vinceglb/filekit/dialogs/compose/AndroidComposePickerReliabilityTest.kt b/filekit-dialogs-compose/src/androidHostTest/kotlin/io/github/vinceglb/filekit/dialogs/compose/AndroidComposePickerReliabilityTest.kt index fb32a859..fda5a4a8 100644 --- a/filekit-dialogs-compose/src/androidHostTest/kotlin/io/github/vinceglb/filekit/dialogs/compose/AndroidComposePickerReliabilityTest.kt +++ b/filekit-dialogs-compose/src/androidHostTest/kotlin/io/github/vinceglb/filekit/dialogs/compose/AndroidComposePickerReliabilityTest.kt @@ -95,6 +95,15 @@ class AndroidComposePickerReliabilityTest { assertFalse(launched) } + @Test + fun CameraLaunchSafely_whenActivityNotFound_returnsFalse() { + val launched = launchCameraSafely(Uri.parse("content://example.provider/camera/photo.jpg")) { + throw ActivityNotFoundException("No activity found") + } + + assertFalse(launched) + } + @Test fun CameraLaunchSafely_whenNoError_returnsTrue() { val expectedUri = Uri.parse("content://example.provider/camera/photo.jpg") diff --git a/filekit-dialogs-compose/src/androidMain/kotlin/io/github/vinceglb/filekit/dialogs/compose/FileKitCompose.android.kt b/filekit-dialogs-compose/src/androidMain/kotlin/io/github/vinceglb/filekit/dialogs/compose/FileKitCompose.android.kt index bc276998..bda033a9 100644 --- a/filekit-dialogs-compose/src/androidMain/kotlin/io/github/vinceglb/filekit/dialogs/compose/FileKitCompose.android.kt +++ b/filekit-dialogs-compose/src/androidMain/kotlin/io/github/vinceglb/filekit/dialogs/compose/FileKitCompose.android.kt @@ -480,6 +480,8 @@ internal fun launchCameraSafely( ): Boolean = try { launch(uri) true +} catch (_: ActivityNotFoundException) { + false } catch (_: SecurityException) { false }