Skip to content

Commit 7c34344

Browse files
committed
Old functions recreated (as deprecated-hidden) to maintain binary compatibility
1 parent 236a6a7 commit 7c34344

File tree

2 files changed

+42
-0
lines changed

2 files changed

+42
-0
lines changed

core/api/core.api

+2
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,9 @@ public final class com/kiwi/navigationcompose/typed/NavBuilderKt {
99
public static final fun createNavArguments (Lkotlinx/serialization/KSerializer;)Ljava/util/List;
1010
public static final fun decodeArguments (Lkotlinx/serialization/KSerializer;Landroidx/navigation/NavBackStackEntry;)Lcom/kiwi/navigationcompose/typed/Destination;
1111
public static final fun dialog (Landroidx/navigation/NavGraphBuilder;Lkotlin/reflect/KClass;Lkotlinx/serialization/KSerializer;Ljava/util/List;Landroidx/compose/ui/window/DialogProperties;Lkotlin/jvm/functions/Function4;)V
12+
public static final synthetic fun dialog (Landroidx/navigation/NavGraphBuilder;Lkotlin/reflect/KClass;Lkotlinx/serialization/KSerializer;Ljava/util/List;Lkotlin/jvm/functions/Function4;)V
1213
public static synthetic fun dialog$default (Landroidx/navigation/NavGraphBuilder;Lkotlin/reflect/KClass;Lkotlinx/serialization/KSerializer;Ljava/util/List;Landroidx/compose/ui/window/DialogProperties;Lkotlin/jvm/functions/Function4;ILjava/lang/Object;)V
14+
public static synthetic fun dialog$default (Landroidx/navigation/NavGraphBuilder;Lkotlin/reflect/KClass;Lkotlinx/serialization/KSerializer;Ljava/util/List;Lkotlin/jvm/functions/Function4;ILjava/lang/Object;)V
1315
public static final synthetic fun navigation (Landroidx/navigation/NavGraphBuilder;Lkotlin/reflect/KClass;Lkotlinx/serialization/KSerializer;Ljava/lang/String;Ljava/util/List;Lkotlin/jvm/functions/Function1;)V
1416
public static final fun navigation (Landroidx/navigation/NavGraphBuilder;Lkotlin/reflect/KClass;Lkotlinx/serialization/KSerializer;Ljava/lang/String;Ljava/util/List;Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function1;)V
1517
public static synthetic fun navigation$default (Landroidx/navigation/NavGraphBuilder;Lkotlin/reflect/KClass;Lkotlinx/serialization/KSerializer;Ljava/lang/String;Ljava/util/List;Lkotlin/jvm/functions/Function1;ILjava/lang/Object;)V

core/src/main/kotlin/com/kiwi/navigationcompose/typed/NavBuilder.kt

+40
Original file line numberDiff line numberDiff line change
@@ -331,3 +331,43 @@ public fun <T : Destination> NavGraphBuilder.navigation(
331331
builder = builder,
332332
)
333333
}
334+
335+
@Deprecated(
336+
"Deprecated in favor of dialog builder that supports DialogProperties",
337+
level = DeprecationLevel.HIDDEN,
338+
)
339+
@ExperimentalSerializationApi
340+
@MainThread
341+
public inline fun <reified T : Destination> NavGraphBuilder.dialog(
342+
deepLinks: List<NavDeepLink> = emptyList(),
343+
noinline content: @Composable T.(NavBackStackEntry) -> Unit,
344+
) {
345+
dialog(
346+
kClass = T::class,
347+
serializer = serializer(),
348+
deepLinks = deepLinks,
349+
content = content,
350+
)
351+
}
352+
353+
@Deprecated(
354+
"Deprecated in favor of dialog builder that supports DialogProperties",
355+
level = DeprecationLevel.HIDDEN,
356+
)
357+
@ExperimentalSerializationApi
358+
@MainThread
359+
public fun <T : Destination> NavGraphBuilder.dialog(
360+
kClass: KClass<T>,
361+
serializer: KSerializer<T>,
362+
deepLinks: List<NavDeepLink> = emptyList(),
363+
content: @Composable T.(NavBackStackEntry) -> Unit,
364+
) {
365+
registerDestinationType(kClass, serializer)
366+
dialog(
367+
route = createRoutePattern(serializer),
368+
arguments = createNavArguments(serializer),
369+
deepLinks = deepLinks,
370+
) { navBackStackEntry ->
371+
decodeArguments(serializer, navBackStackEntry).content(navBackStackEntry)
372+
}
373+
}

0 commit comments

Comments
 (0)