Как исправить ошибку java.lang.IllegalArgumentException: Polymorphic value has not been read for class null?

делал новую типобезопасную навигацию в jetpack compose. И возникла ошибка ошибка java.lang.IllegalArgumentException: Polymorphic value has not been read for class null

NavigationGraph.

@Composable
fun NavigationGraph(navigationController: NavHostController) =
    NavHost(
        navController = navigationController,
        startDestination = Chats,
        builder = {
            composable<Profile> { ProfileScreen() }

            composable<Chats> { ChatsScreen() }

            composable<Search> { SearchScreen() }
        }
    )

NavigationScreens

@Serializable
sealed interface NavigationScreens {

    @Serializable
    data object Profile: NavigationScreens

    @Serializable
    data object Chats: NavigationScreens

    @Serializable
    data object Search: NavigationScreens
}

ItemNavigation

@Serializable
data class ItemNavigation(
    val title: String,
    val icon: Int
)

BottomNavigation

@Composable
fun BottomNavigationCompose(navigation: NavController) {
    val itemMap = mapOf(
        NavigationScreens.Search
                to ItemNavigation(title = "Поиск", icon = R.drawable.search),

        NavigationScreens.Chats
                to ItemNavigation(title = "Чаты", icon = R.drawable.chat),

        NavigationScreens.Profile
                to ItemNavigation(title = "Профиль", icon = R.drawable.profile),

    )

    BottomAppBar(
        content = {
            val backstackEntry by navigation.currentBackStackEntryAsState()
            val currentRoute = backstackEntry?.toRoute<NavigationScreens>()

            itemMap.forEach { (item, data) ->
                ItemBN(
                    title = data.title,
                    icon = data.icon,
                    selected = item == currentRoute,
                    onClick = { navigation.navigate(item) }
                )
            }
        },
        containerColor = dominantColor,
        modifier = Modifier
            .border(
                width = 1.dp,
                color = borderColor
            )
    )
}

Stacktrace

E  FATAL EXCEPTION: main
                                                                                                    Process: ru.ankwy.mobile, PID: 5625
                                                                                                    java.lang.IllegalArgumentException: Polymorphic value has not been read for class null
                                                                                                        at kotlinx.serialization.internal.AbstractPolymorphicSerializer.deserialize(AbstractPolymorphicSerializer.kt:67)
                                                                                                        at kotlinx.serialization.encoding.Decoder$DefaultImpls.decodeSerializableValue(Decoding.kt:257)
                                                                                                        at kotlinx.serialization.encoding.AbstractDecoder.decodeSerializableValue(AbstractDecoder.kt:16)
                                                                                                        at androidx.navigation.serialization.RouteDecoder.decodeRouteWithArgs$navigation_common_release(RouteDecoder.kt:96)
                                                                                                        at androidx.navigation.serialization.RouteDeserializerKt.decodeArguments(RouteDeserializer.kt:28)
                                                                                                        at ru.ankwy.mobile.ui.components.BottomNavigationComposeKt$BottomNavigationCompose$1.invoke(BottomNavigationCompose.kt:120)
                                                                                                        at ru.ankwy.mobile.ui.components.BottomNavigationComposeKt$BottomNavigationCompose$1.invoke(BottomNavigationCompose.kt:55)
                                                                                                        at androidx.compose.runtime.internal.ComposableLambdaImpl.invoke(ComposableLambda.jvm.kt:118)
                                                                                                        at androidx.compose.runtime.internal.ComposableLambdaImpl$invoke$1.invoke(ComposableLambda.jvm.kt:130)
                                                                                                        at androidx.compose.runtime.internal.ComposableLambdaImpl$invoke$1.invoke(ComposableLambda.jvm.kt:129)
                                                                                                        at androidx.compose.runtime.RecomposeScopeImpl.compose(RecomposeScopeImpl.kt:192)
                                                                                                        at androidx.compose.runtime.ComposerImpl.recomposeToGroupEnd(Composer.kt:2825)
                                                                                                        at androidx.compose.runtime.ComposerImpl.skipCurrentGroup(Composer.kt:3116)
                                                                                                        at androidx.compose.runtime.ComposerImpl.doCompose(Composer.kt:3607)
                                                                                                        at androidx.compose.runtime.ComposerImpl.recompose$runtime_release(Composer.kt:3552)
                                                                                                        at androidx.compose.runtime.CompositionImpl.recompose(Composition.kt:948)
                                                                                                        at androidx.compose.runtime.Recomposer.performRecompose(Recomposer.kt:1206)
                                                                                                        at androidx.compose.runtime.Recomposer.access$performRecompose(Recomposer.kt:132)
                                                                                                        at androidx.compose.runtime.Recomposer$runRecomposeAndApplyChanges$2$1.invoke(Recomposer.kt:616)
                                                                                                        at androidx.compose.runtime.Recomposer$runRecomposeAndApplyChanges$2$1.invoke(Recomposer.kt:585)
                                                                                                        at androidx.compose.ui.platform.AndroidUiFrameClock$withFrameNanos$2$callback$1.doFrame(AndroidUiFrameClock.android.kt:41)
                                                                                                        at androidx.compose.ui.platform.AndroidUiDispatcher.performFrameDispatch(AndroidUiDispatcher.android.kt:109)
                                                                                                        at androidx.compose.ui.platform.AndroidUiDispatcher.access$performFrameDispatch(AndroidUiDispatcher.android.kt:41)
                                                                                                        at androidx.compose.ui.platform.AndroidUiDispatcher$dispatchCallback$1.doFrame(AndroidUiDispatcher.android.kt:69)
                                                                                                        at android.view.Choreographer$CallbackRecord.run(Choreographer.java:1404)
                                                                                                        at android.view.Choreographer$CallbackRecord.run(Choreographer.java:1415)
                                                                                                        at android.view.Choreographer.doCallbacks(Choreographer.java:1015)
                                                                                                        at android.view.Choreographer.doFrame(Choreographer.java:941)
                                                                                                        at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:1389)
                                                                                                        at android.os.Handler.handleCallback(Handler.java:959)
                                                                                                        at android.os.Handler.dispatchMessage(Handler.java:100)
                                                                                                        at android.os.Looper.loopOnce(Looper.java:232)
                                                                                                        at android.os.Looper.loop(Looper.java:317)
                                                                                                        at android.app.ActivityThread.main(ActivityThread.java:8705)
                                                                                                        at java.lang.reflect.Method.invoke(Native Method)
                                                                                                        at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:580)
                                                                                                        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:886)
                                                                                                        Suppressed: kotlinx.coroutines.internal.DiagnosticCoroutineContextException: [androidx.compose.runtime.PausableMonotonicFrameClock@1676268, androidx.compose.ui.platform.MotionDurationScaleImpl@d70c681, StandaloneCoroutine{Cancelling}@e460326, AndroidUiDispatcher@e291b67]

Как исправить ошибку?


Ответы (0 шт):