From 5cda0a21747a8990348c55d70f76e5ee66e4ac08 Mon Sep 17 00:00:00 2001 From: Gabriel Moro Date: Sat, 7 Mar 2026 18:18:13 -0300 Subject: [PATCH 1/4] Add Kotzilla monitoring and update Compose dependencies - Integrate Kotzilla SDK for monitoring and crash reporting on Android and iOS. - Update Koin to version 4.1.1 and Compose Multiplatform to 1.10.0. - Refactor build files to use a centralized `libs.bundles.compose` for Compose dependencies. - Update navigation logic to retrieve arguments from `savedStateHandle` instead of `nav.arguments`. - Add "Kotzilla Dsym" shell script build phase to the iOS project. --- build.gradle.kts | 1 + composeApp/build.gradle.kts | 13 +++++---- composeApp/kotzilla.json | 11 ++++++++ .../presentation/CustomApplication.kt | 7 +++-- .../di/KoinIosHelper.kt | 7 +++++ core-camera-gallery/build.gradle.kts | 5 +--- core-navigation/build.gradle.kts | 5 +--- core-networking/build.gradle.kts | 4 +-- core-permission/build.gradle.kts | 7 +---- core-shared-ui/build.gradle.kts | 6 +--- feature-detail/build.gradle.kts | 9 +----- .../navigation/DetailStreamNavigation.kt | 2 +- feature-list-streams/build.gradle.kts | 11 +------- .../navigation/ListStreamsNavigation.kt | 2 +- feature-news/build.gradle.kts | 8 +----- feature-profile/build.gradle.kts | 6 +--- feature-search/build.gradle.kts | 11 +------- gradle/libs.versions.toml | 28 +++++++++++++++++-- iosApp/iosApp.xcodeproj/project.pbxproj | 21 +++++++++++++- 19 files changed, 88 insertions(+), 76 deletions(-) create mode 100644 composeApp/kotzilla.json diff --git a/build.gradle.kts b/build.gradle.kts index 9c67ed9f..3d901897 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -15,6 +15,7 @@ plugins { id("popcorngp-setup-plugin") alias(libs.plugins.google.services) apply false alias(libs.plugins.firebase.crashlytics) apply false + alias(libs.plugins.kotzilla) apply false } tasks.register("clean", Delete::class) { diff --git a/composeApp/build.gradle.kts b/composeApp/build.gradle.kts index f7ad7d5e..2f57d8f3 100644 --- a/composeApp/build.gradle.kts +++ b/composeApp/build.gradle.kts @@ -6,13 +6,18 @@ plugins { alias(libs.plugins.compose.compiler) alias(libs.plugins.google.services) alias(libs.plugins.firebase.crashlytics) + alias(libs.plugins.kotzilla) } + +kotzilla { + versionName = Config.versionName +} + kotlin { sourceSets { androidMain.dependencies { implementation(libs.koin.android) implementation(libs.lottie) - implementation(compose.preview) implementation(project.dependencies.platform(libs.firebase.bom)) implementation(libs.firebase.analytics) implementation(libs.firebase.crashlytics) @@ -31,11 +36,7 @@ kotlin { implementation(projects.coreLocalStorage) implementation(projects.coreBackgroundWork) - implementation(libs.navigation.compose) - - implementation(compose.material3) - implementation(compose.ui) - implementation(compose.components.resources) + implementation(libs.bundles.compose) implementation(libs.koin.core) api(libs.kmpnotifier) diff --git a/composeApp/kotzilla.json b/composeApp/kotzilla.json new file mode 100644 index 00000000..f122c2e7 --- /dev/null +++ b/composeApp/kotzilla.json @@ -0,0 +1,11 @@ +{ + "sdkVersion": "1.4.2", + "keys": [ + { + "appId": "019cca1a-c2ae-79d5-bf91-20316edd8f11", + "applicationPackageName": "com.codandotv.streamplayerapp", + "keyId": "019cca1b-46f0-7cb9-aa50-9ed092ed11fe", + "apiKey": "ktz-sdk-_sEL6C-eAYe1KiqBm1mOv1BoKAOtOFpeK40ADc49LaA" + } + ] +} \ No newline at end of file diff --git a/composeApp/src/androidMain/kotlin/com.codandotv.streamplayerapp/presentation/CustomApplication.kt b/composeApp/src/androidMain/kotlin/com.codandotv.streamplayerapp/presentation/CustomApplication.kt index a3911710..f0aca4ff 100644 --- a/composeApp/src/androidMain/kotlin/com.codandotv.streamplayerapp/presentation/CustomApplication.kt +++ b/composeApp/src/androidMain/kotlin/com.codandotv.streamplayerapp/presentation/CustomApplication.kt @@ -6,6 +6,7 @@ import com.codandotv.streamplayerapp.core_background_work.worker.WorkScheduler import com.codandotv.streamplayerapp.di.AppModule import com.mmk.kmpnotifier.notification.NotifierManager import com.mmk.kmpnotifier.notification.configuration.NotificationPlatformConfiguration +import io.kotzilla.generated.monitoring import org.koin.android.ext.koin.androidContext import org.koin.core.context.startKoin @@ -13,10 +14,12 @@ class CustomApplication : Application() { override fun onCreate() { super.onCreate() - startKoin{ + startKoin { androidContext(this@CustomApplication.applicationContext) modules(AppModule.list) - } + + monitoring() + } WorkScheduler.scheduleSync(this) initializeNotification() } diff --git a/composeApp/src/iosMain/kotlin/com.codandotv.streamplayerapp/di/KoinIosHelper.kt b/composeApp/src/iosMain/kotlin/com.codandotv.streamplayerapp/di/KoinIosHelper.kt index bd8d968c..01d00e2f 100644 --- a/composeApp/src/iosMain/kotlin/com.codandotv.streamplayerapp/di/KoinIosHelper.kt +++ b/composeApp/src/iosMain/kotlin/com.codandotv.streamplayerapp/di/KoinIosHelper.kt @@ -1,6 +1,7 @@ package com.codandotv.streamplayerapp.di import com.codandotv.streamplayerapp.presentation.components.LottieViewProvider +import io.kotzilla.generated.monitoring import org.koin.core.context.startKoin import org.koin.dsl.module @@ -12,6 +13,12 @@ class KoinIosHelper { lottieViewProvider } }) + + monitoring( + onConfig = { + onConfig { useIosCrashReport = false } + } + ) } } } \ No newline at end of file diff --git a/core-camera-gallery/build.gradle.kts b/core-camera-gallery/build.gradle.kts index cb1ebbca..959dd7a8 100644 --- a/core-camera-gallery/build.gradle.kts +++ b/core-camera-gallery/build.gradle.kts @@ -10,16 +10,13 @@ kotlin { sourceSets { sourceSets { androidMain.dependencies { - implementation(compose.preview) implementation(libs.activity.compose) implementation(libs.bundles.camera) } commonMain.dependencies { implementation(projects.coreShared) implementation(projects.coreSharedUi) - implementation(compose.material3) - implementation(compose.ui) - implementation(compose.components.resources) + implementation(libs.bundles.compose) } } } diff --git a/core-navigation/build.gradle.kts b/core-navigation/build.gradle.kts index 21fc6a77..35eaac58 100644 --- a/core-navigation/build.gradle.kts +++ b/core-navigation/build.gradle.kts @@ -8,10 +8,7 @@ plugins { kotlin { sourceSets { commonMain.dependencies { - implementation(libs.navigation.compose) - - implementation(compose.material3) - implementation(compose.components.resources) + implementation(libs.bundles.compose) } } } \ No newline at end of file diff --git a/core-networking/build.gradle.kts b/core-networking/build.gradle.kts index 367251c8..4f28c950 100644 --- a/core-networking/build.gradle.kts +++ b/core-networking/build.gradle.kts @@ -34,9 +34,7 @@ kotlin { implementation(libs.ktor.client.content.negotiation) implementation(libs.ktor.client.logger) implementation(libs.ktor.client.auth) - - implementation(compose.components.resources) - implementation(compose.runtime) + implementation(libs.bundles.compose) } androidMain.dependencies { diff --git a/core-permission/build.gradle.kts b/core-permission/build.gradle.kts index 1313720d..18ec5689 100644 --- a/core-permission/build.gradle.kts +++ b/core-permission/build.gradle.kts @@ -9,17 +9,12 @@ plugins { kotlin { sourceSets { sourceSets { - androidMain.dependencies { - implementation(compose.preview) - } commonMain.dependencies { - implementation(compose.material3) - implementation(compose.ui) + implementation(libs.bundles.compose) implementation(libs.moko.permissions.core) api(libs.moko.permissions.compose) implementation(libs.moko.permissions.camera) implementation(libs.moko.permissions.gallery) - implementation(compose.components.resources) implementation(libs.koin.core) } } diff --git a/core-shared-ui/build.gradle.kts b/core-shared-ui/build.gradle.kts index 5b80a393..7bbe5219 100644 --- a/core-shared-ui/build.gradle.kts +++ b/core-shared-ui/build.gradle.kts @@ -8,14 +8,10 @@ plugins { kotlin { sourceSets { androidMain.dependencies { - implementation(compose.preview) implementation(libs.ktor.client.okhttp) } commonMain.dependencies { - implementation(compose.material3) - implementation(compose.ui) - implementation(compose.components.resources) - implementation(libs.navigation.compose) + implementation(libs.bundles.compose) implementation(libs.coil) implementation(libs.coil.network.ktor3) implementation(libs.paging.compose) diff --git a/feature-detail/build.gradle.kts b/feature-detail/build.gradle.kts index 5339eb14..5d810c56 100644 --- a/feature-detail/build.gradle.kts +++ b/feature-detail/build.gradle.kts @@ -8,9 +8,6 @@ plugins { kotlin { sourceSets { - androidMain.dependencies { - implementation(compose.preview) - } commonMain.dependencies { implementation(libs.koin.core) implementation(libs.koin.compose) @@ -22,11 +19,7 @@ kotlin { implementation(projects.coreSharedUi) implementation(projects.coreLocalStorage) - implementation(compose.material3) - implementation(compose.ui) - implementation(compose.components.resources) - - implementation(libs.navigation.compose) + implementation(libs.bundles.compose) implementation(libs.ktor.client.content.serialization.json) implementation(libs.ktor.client.content.negotiation) diff --git a/feature-detail/src/commonMain/kotlin/com/codandotv/streamplayerapp/feature_detail/presentation/navigation/DetailStreamNavigation.kt b/feature-detail/src/commonMain/kotlin/com/codandotv/streamplayerapp/feature_detail/presentation/navigation/DetailStreamNavigation.kt index 2c7faa7f..f38c382c 100644 --- a/feature-detail/src/commonMain/kotlin/com/codandotv/streamplayerapp/feature_detail/presentation/navigation/DetailStreamNavigation.kt +++ b/feature-detail/src/commonMain/kotlin/com/codandotv/streamplayerapp/feature_detail/presentation/navigation/DetailStreamNavigation.kt @@ -24,7 +24,7 @@ fun NavGraphBuilder.detailStreamNavGraph(navController: NavHostController) { } DetailStreamScreen( viewModel = koinViewModel { - parametersOf(nav.arguments?.getString(ID) ?: DEFAULT_ID) + parametersOf(nav.savedStateHandle.get(ID)?: DEFAULT_ID) }, navController = navController, sharedHandlerPlatform = getKoin().get(), diff --git a/feature-list-streams/build.gradle.kts b/feature-list-streams/build.gradle.kts index 53b2eb8c..71c94bd1 100644 --- a/feature-list-streams/build.gradle.kts +++ b/feature-list-streams/build.gradle.kts @@ -8,10 +8,6 @@ plugins { kotlin { sourceSets { - androidMain.dependencies { - implementation(compose.preview) - } - commonMain.dependencies { implementation(projects.coreNetworking) implementation(projects.coreNavigation) @@ -19,14 +15,9 @@ kotlin { implementation(projects.coreSharedUi) implementation(projects.coreLocalStorage) - implementation(compose.components.resources) - implementation(compose.material3) - implementation(compose.ui) - + implementation(libs.bundles.compose) implementation(libs.paging.compose) - implementation(libs.navigation.compose) - implementation(libs.ktor.client.content.serialization.json) implementation(libs.ktor.client.content.negotiation) diff --git a/feature-list-streams/src/commonMain/kotlin/com/codandotv/streamplayerapp/feature_list_streams/list/presentation/navigation/ListStreamsNavigation.kt b/feature-list-streams/src/commonMain/kotlin/com/codandotv/streamplayerapp/feature_list_streams/list/presentation/navigation/ListStreamsNavigation.kt index caecebdc..f7055ea9 100644 --- a/feature-list-streams/src/commonMain/kotlin/com/codandotv/streamplayerapp/feature_list_streams/list/presentation/navigation/ListStreamsNavigation.kt +++ b/feature-list-streams/src/commonMain/kotlin/com/codandotv/streamplayerapp/feature_list_streams/list/presentation/navigation/ListStreamsNavigation.kt @@ -33,7 +33,7 @@ fun NavGraphBuilder.listStreamsNavGraph(navController: NavHostController) { onNavigateSearchScreen = { navController.navigate(Routes.SEARCH) }, - profilePicture = nav.arguments?.getString(PROFILE_ID) ?: DEFAULT_ID + profilePicture = nav.savedStateHandle.get(PROFILE_ID) ?: DEFAULT_ID ) } } diff --git a/feature-news/build.gradle.kts b/feature-news/build.gradle.kts index 060c93de..d0b31cc9 100644 --- a/feature-news/build.gradle.kts +++ b/feature-news/build.gradle.kts @@ -8,9 +8,6 @@ plugins { kotlin { sourceSets { - androidMain.dependencies { - implementation(compose.preview) - } commonMain.dependencies { implementation(libs.koin.core) implementation(libs.koin.compose) @@ -22,12 +19,9 @@ kotlin { implementation(projects.coreCameraGallery) implementation(projects.coreSharedUi) implementation(projects.corePermission) - implementation(compose.material3) - implementation(compose.ui) - implementation(compose.components.resources) + implementation(libs.bundles.compose) implementation(libs.kotlinx.coroutines.core) - implementation(libs.navigation.compose) } androidUnitTest.dependencies { implementation(libs.bundles.test) diff --git a/feature-profile/build.gradle.kts b/feature-profile/build.gradle.kts index c6695c53..42116ffe 100644 --- a/feature-profile/build.gradle.kts +++ b/feature-profile/build.gradle.kts @@ -14,11 +14,7 @@ kotlin { implementation(projects.coreShared) implementation(projects.coreSharedUi) - implementation(libs.navigation.compose) - - implementation(compose.material3) - implementation(compose.ui) - implementation(compose.components.resources) + implementation(libs.bundles.compose) implementation(libs.ktor.client.content.serialization.json) implementation(libs.ktor.client.content.negotiation) diff --git a/feature-search/build.gradle.kts b/feature-search/build.gradle.kts index c7562960..f6e6662f 100644 --- a/feature-search/build.gradle.kts +++ b/feature-search/build.gradle.kts @@ -8,10 +8,6 @@ plugins { kotlin { sourceSets { - androidMain.dependencies { - implementation(compose.preview) - } - commonMain.dependencies { implementation(libs.paging.compose) @@ -21,12 +17,7 @@ kotlin { implementation(projects.coreSharedUi) implementation(projects.coreLocalStorage) - implementation(compose.components.resources) - implementation(compose.material3) - implementation(compose.ui) - - - implementation(libs.navigation.compose) + implementation(libs.bundles.compose) implementation(libs.ktor.client.content.serialization.json) implementation(libs.ktor.client.content.negotiation) diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index b3a54a97..0896faa0 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -1,13 +1,22 @@ [versions] kotlin = "2.3.10" android_gradle_plugin = "8.7.3" -koin = "4.0.1" +koin = "4.1.1" ksp = "2.3.5" +kotzilla = "2.0.8" +lifecycle-viewmodel-compose-version = "2.9.6" dokka = "1.9.10" detekt = "1.23.6" -compose_plugin_multiplataform = "1.7.3" -navigation-compose-version = "2.7.0-alpha07" +compose_plugin_multiplataform = "1.10.0" +compose_material3 = "1.9.0" +compose_animation = "1.10.0" +compose_resources = "1.10.0" +compose_foundation = "1.10.0" +compose_material_icons_extended = "1.7.3" +compose_ui = "1.10.0" + +navigation-compose-version = "2.9.2" paging-compose = "3.3.0-alpha02-0.5.1" buildkonfig = "0.15.2" cameraCore = "1.4.2" @@ -47,6 +56,7 @@ firebase-bom = "33.14.0" firebase-crashlytics = "3.0.3" [libraries] +kotzilla-sdk-compose = { group = "io.kotzilla", name = "kotzilla-sdk-compose", version.ref = "kotzilla" } kotlin_gradle_plugin = { group = "org.jetbrains.kotlin", name = "kotlin-gradle-plugin", version.ref = "kotlin" } android_gradle_plugin = { group = "com.android.tools.build", name = "gradle", version.ref = "android_gradle_plugin" } detekt-gradle-plugin = { module = "io.gitlab.arturbosch.detekt:detekt-gradle-plugin", version.ref = "detekt" } @@ -129,6 +139,16 @@ popcorn_guineapig = { group = "io.github.codandotv", name = "popcornguineapig", work-runtime = { module = "androidx.work:work-runtime-ktx", version.ref = "work-runtime" } kmpnotifier = { module = "io.github.mirzemehdi:kmpnotifier", version.ref = "kmpnotifier" } +# Compose +compose_animation = { module = "org.jetbrains.compose.animation:animation", version.ref = "compose_animation" } +compose_resources = { module = "org.jetbrains.compose.components:components-resources", version.ref = "compose_resources" } +compose_foundation = { module = "org.jetbrains.compose.foundation:foundation", version.ref = "compose_foundation" } +lifecycle-viewmodel-compose = { module = "org.jetbrains.androidx.lifecycle:lifecycle-viewmodel-compose", version.ref = "lifecycle-viewmodel-compose-version" } +material-icons-extended = { module = "org.jetbrains.compose.material:material-icons-extended", version.ref = "compose_material_icons_extended" } +material3 = { module = "org.jetbrains.compose.material3:material3", version.ref = "compose_material3" } +compose_ui_tooling-preview = { module = "org.jetbrains.compose.ui:ui-tooling-preview", version.ref = "compose_ui" } +compose_ui = { module = "org.jetbrains.compose.ui:ui", version.ref = "compose_ui" } +compose_ui-util = { module = "org.jetbrains.compose.ui:ui-util", version.ref = "compose_ui" } [bundles] test = ["junit", "mockk", "mockk_android", "viewmodel_test", "koin_test", "coroutines_test"] @@ -139,8 +159,10 @@ camera = [ "androidx-camera-lifecycle", "androidx-camera-view" ] +compose = ["navigation-compose", "compose_animation", "compose_resources", "lifecycle-viewmodel-compose", "material-icons-extended", "compose_foundation", "material3", "compose_ui_tooling-preview", "compose_ui", "compose_ui-util"] [plugins] +kotzilla = { id = "io.kotzilla.kotzilla-plugin", version.ref = "kotzilla" } android_application = { id = "com.android.application", version.ref = "android_gradle_plugin" } android_library = { id = "com.android.library", version.ref = "android_gradle_plugin" } diff --git a/iosApp/iosApp.xcodeproj/project.pbxproj b/iosApp/iosApp.xcodeproj/project.pbxproj index b04da153..a23166b7 100644 --- a/iosApp/iosApp.xcodeproj/project.pbxproj +++ b/iosApp/iosApp.xcodeproj/project.pbxproj @@ -207,7 +207,8 @@ 7555FF77242A565900829871 /* Sources */, B92378962B6B1156000C7307 /* Frameworks */, 7555FF79242A565900829871 /* Resources */, - ); + + E5F2457C9C6047898FF08BDA /* Kotzilla Dsym */,); buildRules = ( ); dependencies = ( @@ -326,6 +327,24 @@ shellPath = /bin/sh; shellScript = "if [ \"YES\" = \"$OVERRIDE_KOTLIN_BUILD_IDE_SUPPORTED\" ]; then\n echo \"Skipping Gradle build task invocation due to OVERRIDE_KOTLIN_BUILD_IDE_SUPPORTED environment variable set to \\\"YES\\\"\"\n exit 0\nfi\ncd \"$SRCROOT/..\"\n./gradlew :composeApp:embedAndSignAppleFrameworkForXcode\n"; }; + E5F2457C9C6047898FF08BDA /* Kotzilla Dsym */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputFileListPaths = ( + ); + inputPaths = ( + ); + name = "Kotzilla Dsym"; + outputFileListPaths = ( + ); + outputPaths = ( + ); + runOnlyForDeploymentPostprocessing = 1; + shellPath = /bin/sh; + shellScript = "# KOTZILLA_SCRIPT_VERSION=9\nset -e\nM=$BUILT_PRODUCTS_DIR/$PRODUCT_NAME.app/kotzilla-debug\n[ \"$CONFIGURATION\" = Release ] && rm -f \"$M\" 2>/dev/null || touch \"$M\" 2>/dev/null\n[ -z \"$DWARF_DSYM_FOLDER_PATH\" ] && exit 0\ncd \"$SRCROOT/..\"\n./gradlew ':composeApp:uploadDsymFile' --dsymPath=\"$DWARF_DSYM_FOLDER_PATH\"\n"; + }; /* End PBXShellScriptBuildPhase section */ /* Begin PBXSourcesBuildPhase section */ From 5f9d3f6a052fd0e0ecd6b8f0881957ec52489a8f Mon Sep 17 00:00:00 2001 From: Gabriel Moro Date: Sat, 7 Mar 2026 22:44:11 -0300 Subject: [PATCH 2/4] Update CODANDOTV_DOMAIN URL --- .../core_shared_ui/widget/YoutubePlayerComponentPlatform.kt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/core-shared-ui/src/commonMain/kotlin/com/codandotv/streamplayerapp/core_shared_ui/widget/YoutubePlayerComponentPlatform.kt b/core-shared-ui/src/commonMain/kotlin/com/codandotv/streamplayerapp/core_shared_ui/widget/YoutubePlayerComponentPlatform.kt index 6eee12ed..a23a9702 100644 --- a/core-shared-ui/src/commonMain/kotlin/com/codandotv/streamplayerapp/core_shared_ui/widget/YoutubePlayerComponentPlatform.kt +++ b/core-shared-ui/src/commonMain/kotlin/com/codandotv/streamplayerapp/core_shared_ui/widget/YoutubePlayerComponentPlatform.kt @@ -17,4 +17,4 @@ internal fun String.videoIdToEmbedHTML(): String { """.trimIndent() } -internal const val CODANDOTV_DOMAIN = "https://www.youtube.com/@CodandoTV" +internal const val CODANDOTV_DOMAIN = "https://com.codandotv.com/codandotv" From 865220651524f48994422377b464cb3a36a2a6b9 Mon Sep 17 00:00:00 2001 From: Gabriel Moro Date: Sun, 8 Mar 2026 11:46:02 -0300 Subject: [PATCH 3/4] Fix slow resolution - background thread --- build-logic/src/main/java/Config.kt | 2 +- .../streamplayerapp/core_background_work/di/SyncModule.kt | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/build-logic/src/main/java/Config.kt b/build-logic/src/main/java/Config.kt index f8d38d8c..ad6d7cb2 100644 --- a/build-logic/src/main/java/Config.kt +++ b/build-logic/src/main/java/Config.kt @@ -9,7 +9,7 @@ object Config { const val compileSdkVersion = 35 const val minSdkVersion = 28 const val targetSdkVersion = 35 - const val versionName = "1.0" + const val versionName = "1.1" const val versionCode = 1 const val testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner" diff --git a/core-background-work/src/commonMain/kotlin/com/codandotv/streamplayerapp/core_background_work/di/SyncModule.kt b/core-background-work/src/commonMain/kotlin/com/codandotv/streamplayerapp/core_background_work/di/SyncModule.kt index 867efc05..09e6a66d 100644 --- a/core-background-work/src/commonMain/kotlin/com/codandotv/streamplayerapp/core_background_work/di/SyncModule.kt +++ b/core-background-work/src/commonMain/kotlin/com/codandotv/streamplayerapp/core_background_work/di/SyncModule.kt @@ -4,7 +4,7 @@ import com.codandotv.streamplayerapp.core_background_work.SyncManager import org.koin.dsl.module object SyncModule { - val module = module { + val module = module(createdAtStart = true) { single { SyncManager(get()) } } } \ No newline at end of file From 65b91e00b610fd1f240acf9234217771c551216e Mon Sep 17 00:00:00 2001 From: Gabriel Moro Date: Sun, 8 Mar 2026 20:12:41 -0300 Subject: [PATCH 4/4] Update versionName to 1.2 and add Kotzilla SDK dependency --- build-logic/src/main/java/Config.kt | 2 +- composeApp/build.gradle.kts | 2 ++ 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/build-logic/src/main/java/Config.kt b/build-logic/src/main/java/Config.kt index ad6d7cb2..0ca766ba 100644 --- a/build-logic/src/main/java/Config.kt +++ b/build-logic/src/main/java/Config.kt @@ -9,7 +9,7 @@ object Config { const val compileSdkVersion = 35 const val minSdkVersion = 28 const val targetSdkVersion = 35 - const val versionName = "1.1" + const val versionName = "1.2" const val versionCode = 1 const val testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner" diff --git a/composeApp/build.gradle.kts b/composeApp/build.gradle.kts index 2f57d8f3..b5d39042 100644 --- a/composeApp/build.gradle.kts +++ b/composeApp/build.gradle.kts @@ -40,6 +40,8 @@ kotlin { implementation(libs.koin.core) api(libs.kmpnotifier) + + implementation(libs.kotzilla.sdk.compose) } } } \ No newline at end of file