From 110994bc115f9dd19eb3cce52e1d8493a7539a2a Mon Sep 17 00:00:00 2001 From: Markus Hintersteiner Date: Mon, 24 Oct 2022 07:46:34 +0200 Subject: [PATCH] Add rememberNavController to provide compose navigation hook --- sentry-compose/api/android/sentry-compose.api | 1 + .../io/sentry/compose/SentryNavigationIntegration.kt | 8 ++++++++ 2 files changed, 9 insertions(+) diff --git a/sentry-compose/api/android/sentry-compose.api b/sentry-compose/api/android/sentry-compose.api index e30b863f6b..69501b6681 100644 --- a/sentry-compose/api/android/sentry-compose.api +++ b/sentry-compose/api/android/sentry-compose.api @@ -7,6 +7,7 @@ public final class io/sentry/compose/BuildConfig { } public final class io/sentry/compose/SentryNavigationIntegrationKt { + public static final fun rememberNavController ([Landroidx/navigation/Navigator;Landroidx/compose/runtime/Composer;I)Landroidx/navigation/NavHostController; public static final fun withSentryObservableEffect (Landroidx/navigation/NavHostController;ZZLandroidx/compose/runtime/Composer;II)Landroidx/navigation/NavHostController; } diff --git a/sentry-compose/src/androidMain/kotlin/io/sentry/compose/SentryNavigationIntegration.kt b/sentry-compose/src/androidMain/kotlin/io/sentry/compose/SentryNavigationIntegration.kt index 2403148f2b..4399ff7c07 100644 --- a/sentry-compose/src/androidMain/kotlin/io/sentry/compose/SentryNavigationIntegration.kt +++ b/sentry-compose/src/androidMain/kotlin/io/sentry/compose/SentryNavigationIntegration.kt @@ -10,7 +10,9 @@ import androidx.lifecycle.Lifecycle import androidx.lifecycle.LifecycleEventObserver import androidx.lifecycle.LifecycleOwner import androidx.navigation.NavController +import androidx.navigation.NavDestination import androidx.navigation.NavHostController +import androidx.navigation.Navigator import io.sentry.Breadcrumb import io.sentry.ITransaction import io.sentry.SentryOptions @@ -73,3 +75,9 @@ public fun NavHostController.withSentryObservableEffect( } return this } + +@Composable +public fun rememberNavController(vararg navigators: Navigator): NavHostController { + return androidx.navigation.compose.rememberNavController(navigators = navigators) + .withSentryObservableEffect() +}