From 1701bc4f3636d6430a973dcbdc3bcc3ad8ca5fb8 Mon Sep 17 00:00:00 2001 From: terrakok Date: Wed, 18 Nov 2020 22:02:18 +0300 Subject: [PATCH] Fixed launching Activity via no concrete Intent. --- library/build.gradle | 2 +- .../com/github/terrakok/cicerone/androidx/AppNavigator.kt | 5 +++-- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/library/build.gradle b/library/build.gradle index c739724..864e04a 100644 --- a/library/build.gradle +++ b/library/build.gradle @@ -18,7 +18,7 @@ ext { bintrayName = 'cicerone-kotlin' publishedGroupId = 'com.github.terrakok' artifact = 'cicerone' - libraryVersion = '6.4' + libraryVersion = '6.5' gitUrl = 'https://github.com/terrakok/Cicerone' allLicenses = ['MIT'] } diff --git a/library/src/main/kotlin/com/github/terrakok/cicerone/androidx/AppNavigator.kt b/library/src/main/kotlin/com/github/terrakok/cicerone/androidx/AppNavigator.kt index 6611684..9a5efe3 100644 --- a/library/src/main/kotlin/com/github/terrakok/cicerone/androidx/AppNavigator.kt +++ b/library/src/main/kotlin/com/github/terrakok/cicerone/androidx/AppNavigator.kt @@ -1,5 +1,6 @@ package com.github.terrakok.cicerone.androidx +import android.content.ActivityNotFoundException import android.content.Intent import androidx.fragment.app.* import com.github.terrakok.cicerone.* @@ -171,9 +172,9 @@ open class AppNavigator @JvmOverloads constructor( private fun checkAndStartActivity(screen: ActivityScreen) { // Check if we can start activity val activityIntent = screen.createIntent(activity) - if (activityIntent.resolveActivity(activity.packageManager) != null) { + try { activity.startActivity(activityIntent, screen.startActivityOptions) - } else { + } catch (e: ActivityNotFoundException) { unexistingActivity(screen, activityIntent) } }