mikepenz/AboutLibraries

failure to handle missing Intent

mbiebl opened this issue · 3 comments

I have an app using AboutLibraries running in a restricted work profile without a web browser.
Tapping on a license like GPL-3.0 in the app makes it crash:

FATAL EXCEPTION: main
Process: com.messageconcept.peoplesyncclient, PID: 7882
android.content.ActivityNotFoundException: No Activity found to handle Intent { act=android.intent.action.VIEW dat=https://api.github.com/... }
	at android.app.Instrumentation.checkStartActivityResult(Instrumentation.java:2239)
	at android.app.Instrumentation.execStartActivity(Instrumentation.java:1878)
	at android.app.Activity.startActivityForResult(Activity.java:5589)
	at androidx.activity.ComponentActivity.startActivityForResult(ComponentActivity.java:780)
	at android.app.Activity.startActivityForResult(Activity.java:5547)
	at androidx.activity.ComponentActivity.startActivityForResult(ComponentActivity.java:761)
	at android.app.Activity.startActivity(Activity.java:6045)
	at android.app.Activity.startActivity(Activity.java:6012)
	at androidx.compose.ui.platform.AndroidUriHandler.openUri(AndroidUriHandler.android.kt:26)
	at com.mikepenz.aboutlibraries.ui.compose.SharedLibrariesKt$LibrariesContainer$1.invoke-OiyIbOE(SharedLibraries.kt:76)
	at com.mikepenz.aboutlibraries.ui.compose.SharedLibrariesKt$LibrariesContainer$1.invoke(SharedLibraries.kt:56)
	at com.mikepenz.aboutlibraries.ui.compose.SharedLibrariesKt$Libraries$1$invoke$$inlined$libraryItems$1$1.invoke(SharedLibraries.kt:410)
	at com.mikepenz.aboutlibraries.ui.compose.SharedLibrariesKt$Libraries$1$invoke$$inlined$libraryItems$1$1.invoke(SharedLibraries.kt:193)
	at com.mikepenz.aboutlibraries.ui.compose.SharedLibrariesKt$Library$1$1.invoke(SharedLibraries.kt:223)
	at com.mikepenz.aboutlibraries.ui.compose.SharedLibrariesKt$Library$1$1.invoke(SharedLibraries.kt:223)
	at androidx.compose.foundation.ClickablePointerInputNode$pointerInput$3.invoke-k-4lQ0M(Clickable.kt:895)
	at androidx.compose.foundation.ClickablePointerInputNode$pointerInput$3.invoke(Clickable.kt:889)
	at androidx.compose.foundation.gestures.TapGestureDetectorKt$detectTapAndPress$2$1.invokeSuspend(TapGestureDetector.kt:255)
	at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
	at kotlinx.coroutines.DispatchedTaskKt.resume(DispatchedTask.kt:179)
	at kotlinx.coroutines.DispatchedTaskKt.dispatch(DispatchedTask.kt:168)
	at kotlinx.coroutines.CancellableContinuationImpl.dispatchResume(CancellableContinuationImpl.kt:474)
	at kotlinx.coroutines.CancellableContinuationImpl.resumeImpl(CancellableContinuationImpl.kt:508)
	at kotlinx.coroutines.CancellableContinuationImpl.resumeImpl$default(CancellableContinuationImpl.kt:497)
	at kotlinx.coroutines.CancellableContinuationImpl.resumeWith(CancellableContinuationImpl.kt:368)
	at androidx.compose.ui.input.pointer.SuspendingPointerInputModifierNodeImpl$PointerEventHandlerCoroutine.offerPointerEvent(SuspendingPointerInputFilter.kt:665)
	at androidx.compose.ui.input.pointer.SuspendingPointerInputModifierNodeImpl.dispatchPointerEvent(SuspendingPointerInputFilter.kt:544)
	at androidx.compose.ui.input.pointer.SuspendingPointerInputModifierNodeImpl.onPointerEvent-H0pRuoY(SuspendingPointerInputFilter.kt:566)
	at androidx.compose.foundation.AbstractClickablePointerInputNode.onPointerEvent-H0pRuoY(Clickable.kt:855)
	at androidx.compose.foundation.AbstractClickableNode.onPointerEvent-H0pRuoY(Clickable.kt:703)
	at androidx.compose.ui.input.pointer.Node.dispatchMainEventPass(HitPathTracker.kt:317)
	at androidx.compose.ui.input.pointer.Node.dispatchMainEventPass(HitPathTracker.kt:303)
	at androidx.compose.ui.input.pointer.Node.dispatchMainEventPass(HitPathTracker.kt:303)
	at androidx.compose.ui.input.pointer.Node.dispatchMainEventPass(HitPathTracker.kt:303)
	at androidx.compose.ui.input.pointer.Node.dispatchMainEventPass(HitPathTracker.kt:303)
	at androidx.compose.ui.input.pointer.Node.dispatchMainEventPass(HitPathTracker.kt:303)
	at androidx.compose.ui.input.pointer.Node.dispatchMainEventPass(HitPathTracker.kt:303)
	at androidx.compose.ui.input.pointer.Node.dispatchMainEventPass(HitPathTracker.kt:303)
	at androidx.compose.ui.input.pointer.Node.dispatchMainEventPass(HitPathTracker.kt:303)

@mbiebl thank you for the report. This is an interesting one. It seems like a very uncommon scenario that there is no web browser at all. 🤔

Will look to catch that crash so at least it won't take down the app

yeah, certainly uncommon. It was a restricted work profile with only a few select apps installed.

v10.10.0-rc01 fixes this :)