diff --git a/katalog/src/main/kotlin/jp/co/cyberagent/katalog/compose/navigation/NavController.kt b/katalog/src/main/kotlin/jp/co/cyberagent/katalog/compose/navigation/NavController.kt index 4b18edd8..a4e856f2 100644 --- a/katalog/src/main/kotlin/jp/co/cyberagent/katalog/compose/navigation/NavController.kt +++ b/katalog/src/main/kotlin/jp/co/cyberagent/katalog/compose/navigation/NavController.kt @@ -1,9 +1,11 @@ package jp.co.cyberagent.katalog.compose.navigation +import androidx.compose.runtime.Stable import androidx.compose.runtime.derivedStateOf import androidx.compose.runtime.getValue import androidx.compose.runtime.mutableStateListOf +@Stable internal class NavController( startDestination: T ) { diff --git a/katalog/src/main/kotlin/jp/co/cyberagent/katalog/compose/navigation/NavDestination.kt b/katalog/src/main/kotlin/jp/co/cyberagent/katalog/compose/navigation/NavDestination.kt index 032d9f33..8e59c062 100644 --- a/katalog/src/main/kotlin/jp/co/cyberagent/katalog/compose/navigation/NavDestination.kt +++ b/katalog/src/main/kotlin/jp/co/cyberagent/katalog/compose/navigation/NavDestination.kt @@ -1,5 +1,8 @@ package jp.co.cyberagent.katalog.compose.navigation +import androidx.compose.runtime.Stable + +@Stable internal interface NavDestination { val childNavController: NavController<*>? get() = null } diff --git a/katalog/src/main/kotlin/jp/co/cyberagent/katalog/compose/navigation/NavState.kt b/katalog/src/main/kotlin/jp/co/cyberagent/katalog/compose/navigation/NavState.kt index 20351234..18670304 100644 --- a/katalog/src/main/kotlin/jp/co/cyberagent/katalog/compose/navigation/NavState.kt +++ b/katalog/src/main/kotlin/jp/co/cyberagent/katalog/compose/navigation/NavState.kt @@ -1,7 +1,9 @@ package jp.co.cyberagent.katalog.compose.navigation +import androidx.compose.runtime.Immutable import jp.co.cyberagent.katalog.util.UUIDWrapper +@Immutable internal data class NavState( val destination: T, val index: Int, diff --git a/katalog/src/main/kotlin/jp/co/cyberagent/katalog/domain/CatalogItem.kt b/katalog/src/main/kotlin/jp/co/cyberagent/katalog/domain/CatalogItem.kt index a43c5059..2be01455 100644 --- a/katalog/src/main/kotlin/jp/co/cyberagent/katalog/domain/CatalogItem.kt +++ b/katalog/src/main/kotlin/jp/co/cyberagent/katalog/domain/CatalogItem.kt @@ -1,7 +1,9 @@ package jp.co.cyberagent.katalog.domain import androidx.compose.runtime.Composable +import androidx.compose.runtime.Stable +@Stable internal sealed class CatalogItem { abstract val identifier: CatalogItemIdentifier diff --git a/katalog/src/main/kotlin/jp/co/cyberagent/katalog/domain/CatalogItemIdentifier.kt b/katalog/src/main/kotlin/jp/co/cyberagent/katalog/domain/CatalogItemIdentifier.kt index c8527651..fe9fed75 100644 --- a/katalog/src/main/kotlin/jp/co/cyberagent/katalog/domain/CatalogItemIdentifier.kt +++ b/katalog/src/main/kotlin/jp/co/cyberagent/katalog/domain/CatalogItemIdentifier.kt @@ -1,5 +1,8 @@ package jp.co.cyberagent.katalog.domain +import androidx.compose.runtime.Immutable + +@Immutable internal class CatalogItemIdentifier( val parents: List, val name: String, diff --git a/katalog/src/main/kotlin/jp/co/cyberagent/katalog/domain/Extensions.kt b/katalog/src/main/kotlin/jp/co/cyberagent/katalog/domain/Extensions.kt index e5569bcb..8ce6095d 100644 --- a/katalog/src/main/kotlin/jp/co/cyberagent/katalog/domain/Extensions.kt +++ b/katalog/src/main/kotlin/jp/co/cyberagent/katalog/domain/Extensions.kt @@ -1,11 +1,13 @@ package jp.co.cyberagent.katalog.domain +import androidx.compose.runtime.Stable import jp.co.cyberagent.katalog.ext.ExperimentalKatalogExtApi import jp.co.cyberagent.katalog.ext.ExtComponentWrapper import jp.co.cyberagent.katalog.ext.ExtRootWrapper import jp.co.cyberagent.katalog.ext.KatalogExt @OptIn(ExperimentalKatalogExtApi::class) +@Stable internal data class Extensions( val list: List ) { diff --git a/katalog/src/main/kotlin/jp/co/cyberagent/katalog/domain/Katalog.kt b/katalog/src/main/kotlin/jp/co/cyberagent/katalog/domain/Katalog.kt index 3e3cc423..37134f41 100644 --- a/katalog/src/main/kotlin/jp/co/cyberagent/katalog/domain/Katalog.kt +++ b/katalog/src/main/kotlin/jp/co/cyberagent/katalog/domain/Katalog.kt @@ -1,5 +1,8 @@ package jp.co.cyberagent.katalog.domain +import androidx.compose.runtime.Stable + +@Stable internal data class Katalog( val title: String, val items: List, diff --git a/katalog/src/main/kotlin/jp/co/cyberagent/katalog/ext/ExtNavState.kt b/katalog/src/main/kotlin/jp/co/cyberagent/katalog/ext/ExtNavState.kt index 6a393b25..71ba5e69 100644 --- a/katalog/src/main/kotlin/jp/co/cyberagent/katalog/ext/ExtNavState.kt +++ b/katalog/src/main/kotlin/jp/co/cyberagent/katalog/ext/ExtNavState.kt @@ -1,6 +1,9 @@ package jp.co.cyberagent.katalog.ext +import androidx.compose.runtime.Stable + @ExperimentalKatalogExtApi +@Stable public interface ExtNavState { public val current: String public val backStack: List diff --git a/katalog/src/main/kotlin/jp/co/cyberagent/katalog/ext/KatalogExt.kt b/katalog/src/main/kotlin/jp/co/cyberagent/katalog/ext/KatalogExt.kt index d5b492ef..a88c7f5e 100644 --- a/katalog/src/main/kotlin/jp/co/cyberagent/katalog/ext/KatalogExt.kt +++ b/katalog/src/main/kotlin/jp/co/cyberagent/katalog/ext/KatalogExt.kt @@ -1,7 +1,9 @@ package jp.co.cyberagent.katalog.ext +import androidx.compose.runtime.Stable import jp.co.cyberagent.katalog.domain.ExtensionBuilderImpl +@Stable public interface KatalogExt { public companion object { @ExperimentalKatalogExtApi