Skip to content

Commit

Permalink
Don't crash on not found app on uri intent (#962)
Browse files Browse the repository at this point in the history
  • Loading branch information
jraska authored Oct 28, 2023
1 parent ab2906f commit 753cf12
Show file tree
Hide file tree
Showing 2 changed files with 11 additions and 4 deletions.
2 changes: 2 additions & 0 deletions feature/chrome-custom-tabs/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -19,5 +19,7 @@ dependencies {
kapt daggerAnnotationProcessor
implementation 'androidx.browser:browser:1.5.0'
implementation 'androidx.core:core:1.10.1'
implementation 'com.jakewharton.timber:timber:5.0.1'

testImplementation 'junit:junit:4.13.2'
}
Original file line number Diff line number Diff line change
Expand Up @@ -6,12 +6,12 @@ import androidx.browser.customtabs.CustomTabsIntent
import com.jraska.github.client.WebLinkLauncher
import com.jraska.github.client.core.android.TopActivityProvider
import okhttp3.HttpUrl
import timber.log.Timber

private const val CHROME_BROWSER_PACKAGE = "com.android.chrome"

internal class ChromeCustomTabsLauncher(
private val provider: TopActivityProvider,
private val packageManager: PackageManager
private val provider: TopActivityProvider, private val packageManager: PackageManager
) : WebLinkLauncher {
override fun launchOnWeb(url: HttpUrl) {
val uri = Uri.parse(url.toString())
Expand All @@ -26,10 +26,15 @@ internal class ChromeCustomTabsLauncher(

val browsersToHandler = packageManager.queryIntentActivities(customTabsIntent.intent, 0)
return when (browsersToHandler.size) {
0 -> throw IllegalStateException("No app to launch deep link $uri")
0 -> {
Timber.e("No apps found for uri: %s", uri)
customTabsIntent
}

1 -> customTabsIntent
else -> {
val chromeAvailable = null != browsersToHandler.find { it.activityInfo?.packageName == CHROME_BROWSER_PACKAGE }
val chromeAvailable =
null != browsersToHandler.find { it.activityInfo?.packageName == CHROME_BROWSER_PACKAGE }
if (chromeAvailable) {
customTabsIntent.intent.`package` = CHROME_BROWSER_PACKAGE
}
Expand Down

0 comments on commit 753cf12

Please sign in to comment.