Skip to content

Commit 591f8c4

Browse files
committed
fix koin
1 parent ac32e61 commit 591f8c4

File tree

4 files changed

+20
-13
lines changed

4 files changed

+20
-13
lines changed

androidApp/build.gradle.kts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,7 @@ kotlin {
4545

4646
// Koin Android
4747
implementation(libs.koin.android)
48+
implementation(libs.koin.androidx.compose)
4849
}
4950
}
5051
}

androidApp/src/androidMain/kotlin/com/hoc081098/compose_multiplatform_kmpviewmodel_sample/MainActivity.kt

Lines changed: 14 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -11,21 +11,26 @@ import com.hoc081098.solivagant.navigation.NavDestination
1111
import com.hoc081098.solivagant.navigation.NavHost
1212
import io.github.aakira.napier.Napier
1313
import kotlinx.collections.immutable.toImmutableSet
14+
import org.koin.androidx.compose.KoinAndroidContext
15+
import org.koin.core.annotation.KoinExperimentalAPI
1416

17+
@OptIn(KoinExperimentalAPI::class)
1518
class MainActivity : AppCompatActivity() {
1619
override fun onCreate(savedInstanceState: Bundle?) {
1720
super.onCreate(savedInstanceState)
1821

1922
setContent {
20-
AppTheme {
21-
NavHost(
22-
startRoute = SearchPhotoScreenRoute,
23-
destinations = koinInjectSetMultibinding<NavDestination>(AllDestinationsQualifier)
24-
.let { remember(it) { it.toImmutableSet() } },
25-
destinationChangedCallback = { route ->
26-
Napier.d(message = "Destination changed: $route", tag = "MainActivity")
27-
},
28-
)
23+
KoinAndroidContext {
24+
AppTheme {
25+
NavHost(
26+
startRoute = SearchPhotoScreenRoute,
27+
destinations = koinInjectSetMultibinding<NavDestination>(AllDestinationsQualifier)
28+
.let { remember(it) { it.toImmutableSet() } },
29+
destinationChangedCallback = { route ->
30+
Napier.d(message = "Destination changed: $route", tag = "MainActivity")
31+
},
32+
)
33+
}
2934
}
3035
}
3136
}

desktopApp/src/jvmMain/kotlin/com/hoc081098/compose_multiplatform_kmpviewmodel_sample/main.kt

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -20,11 +20,11 @@ import java.util.logging.Level
2020
import java.util.logging.SimpleFormatter
2121
import java.util.logging.StreamHandler
2222
import kotlinx.collections.immutable.toImmutableSet
23-
import org.koin.compose.KoinApplication
23+
import org.koin.compose.KoinContext
2424
import org.koin.compose.koinInject
25+
import org.koin.core.context.startKoin
2526
import org.koin.core.logger.Level as KoinLoggerLevel
2627
import org.koin.core.logger.PrintLogger
27-
import org.koin.dsl.KoinAppDeclaration
2828

2929
fun main() {
3030
Napier.base(
@@ -36,7 +36,7 @@ fun main() {
3636
),
3737
)
3838

39-
val koinApplication: KoinAppDeclaration = {
39+
startKoin {
4040
logger(PrintLogger(level = KoinLoggerLevel.DEBUG))
4141

4242
modules(
@@ -63,7 +63,7 @@ fun main() {
6363
LifecycleOwnerProvider(
6464
lifecycleOwner = rememberLifecycleOwner(lifecycleRegistry),
6565
) {
66-
KoinApplication(application = koinApplication) {
66+
KoinContext {
6767
AppTheme {
6868
NavHost(
6969
startRoute = SearchPhotoScreenRoute,

gradle/libs.versions.toml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,7 @@ ksp = "1.9.22-1.0.16"
3939

4040
[libraries]
4141
koin-android = { module = "io.insert-koin:koin-android", version.ref = "koinVersion" }
42+
koin-androidx-compose = { module = "io.insert-koin:koin-androidx-compose", version.ref = "koinVersion" }
4243
kotlin-stdlib = { module = "org.jetbrains.kotlin:kotlin-stdlib", version.ref = "kotlin" }
4344
kotlin-parcelize = { module = "org.jetbrains.kotlin:kotlin-parcelize-runtime", version.ref = "kotlin" }
4445
kotlin-compiler = { module = "org.jetbrains.kotlin:kotlin-compiler-embeddable", version.ref = "kotlin" }

0 commit comments

Comments
 (0)