diff --git a/core/database/src/commonMain/kotlin/dev/androidbroadcast/news/database/NewsRoomDatabase.kt b/core/database/src/commonMain/kotlin/dev/androidbroadcast/news/database/NewsRoomDatabase.kt index 5a9137a..ddd0a26 100644 --- a/core/database/src/commonMain/kotlin/dev/androidbroadcast/news/database/NewsRoomDatabase.kt +++ b/core/database/src/commonMain/kotlin/dev/androidbroadcast/news/database/NewsRoomDatabase.kt @@ -1,7 +1,9 @@ package dev.androidbroadcast.news.database +import androidx.room.ConstructedBy import androidx.room.Database import androidx.room.RoomDatabase +import androidx.room.RoomDatabaseConstructor import androidx.room.TypeConverters import dev.androidbroadcast.news.database.dao.ArticleDao import dev.androidbroadcast.news.database.models.ArticleDBO @@ -17,10 +19,17 @@ class NewsDatabase internal constructor(private val database: NewsRoomDatabase) @Database(entities = [ArticleDBO::class], version = 2) @TypeConverters(Converters::class) +@ConstructedBy(NewsRoomDatabaseConstructor::class) abstract class NewsRoomDatabase : RoomDatabase() { abstract fun articlesDao(): ArticleDao } +// The Room compiler generates the `actual` implementations. +@Suppress("NO_ACTUAL_FOR_EXPECT") +expect object NewsRoomDatabaseConstructor : RoomDatabaseConstructor { + override fun initialize(): NewsRoomDatabase +} + fun NewsDatabase( databaseBuilder: RoomDatabase.Builder, dispatcher: CoroutineDispatcher = Dispatchers.IO, diff --git a/desktop/build.gradle.kts b/desktop/build.gradle.kts index c761431..ce17218 100644 --- a/desktop/build.gradle.kts +++ b/desktop/build.gradle.kts @@ -8,8 +8,8 @@ plugins { } java { - sourceCompatibility = JavaVersion.VERSION_17 - targetCompatibility = JavaVersion.VERSION_17 + sourceCompatibility = JavaVersion.VERSION_21 + targetCompatibility = JavaVersion.VERSION_21 } dependencies { diff --git a/features/news-main/ui/build.gradle.kts b/features/news-main/ui/build.gradle.kts index 06069a3..268089b 100644 --- a/features/news-main/ui/build.gradle.kts +++ b/features/news-main/ui/build.gradle.kts @@ -14,7 +14,7 @@ plugins { kotlin { androidTarget { compilerOptions { - jvmTarget.set(JvmTarget.JVM_1_8) + jvmTarget.set(JvmTarget.JVM_21) } } @@ -64,8 +64,8 @@ android { } compileOptions { - sourceCompatibility = JavaVersion.VERSION_1_8 - targetCompatibility = JavaVersion.VERSION_1_8 + sourceCompatibility = JavaVersion.VERSION_21 + targetCompatibility = JavaVersion.VERSION_21 } buildFeatures { @@ -78,7 +78,6 @@ android { } composeCompiler { - enableStrongSkippingMode = true reportsDestination = layout.buildDirectory.dir("compose_compiler") } @@ -86,11 +85,3 @@ dependencies { debugImplementation(libs.androidx.compose.ui.tooling) debugImplementation(libs.androidx.compose.ui.tooling.preview) } - -compose { - resources { - publicResClass = false - packageOfResClass = "dev.androidbroadcast.news.main.ui" - generateResClass = always - } -} diff --git a/features/news-main/ui/src/commonMain/composeResources/values/strings.xml b/features/news-main/ui/src/commonMain/composeResources/values/strings.xml deleted file mode 100644 index e579a58..0000000 --- a/features/news-main/ui/src/commonMain/composeResources/values/strings.xml +++ /dev/null @@ -1,4 +0,0 @@ - - - Article image - \ No newline at end of file diff --git a/features/news-main/ui/src/commonMain/kotlin/dev/androidbroadcast/news/main/ArticleListContent.kt b/features/news-main/ui/src/commonMain/kotlin/dev/androidbroadcast/news/main/ArticleListContent.kt index 476c7c9..a25d911 100644 --- a/features/news-main/ui/src/commonMain/kotlin/dev/androidbroadcast/news/main/ArticleListContent.kt +++ b/features/news-main/ui/src/commonMain/kotlin/dev/androidbroadcast/news/main/ArticleListContent.kt @@ -10,7 +10,6 @@ import androidx.compose.foundation.layout.size import androidx.compose.foundation.lazy.grid.GridCells import androidx.compose.foundation.lazy.grid.LazyVerticalGrid import androidx.compose.foundation.lazy.grid.items -import androidx.compose.foundation.lazy.items import androidx.compose.material3.Card import androidx.compose.material3.Text import androidx.compose.runtime.Composable @@ -25,9 +24,6 @@ import androidx.compose.ui.unit.dp import coil3.compose.AsyncImage import coil3.compose.AsyncImagePainter import dev.androidbroadcast.news.NewsTheme -import dev.androidbroadcast.news.main.ui.Res -import dev.androidbroadcast.news.main.ui.content_desc_item_article_image -import org.jetbrains.compose.resources.stringResource @Composable internal fun ArticleList( @@ -74,7 +70,7 @@ internal fun Article( isImageVisible = false } }, - contentDescription = stringResource(Res.string.content_desc_item_article_image), + contentDescription = "", contentScale = ContentScale.Crop, modifier = Modifier.size(150.dp) ) diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index 11e4676..b10e363 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -9,20 +9,20 @@ junitVersion = "1.2.1" espressoCore = "3.6.1" androidx-lifecycle = "2.8.6" activityCompose = "1.9.2" -composeBom = "2024.09.02" -androidx-compose-runtime = "1.7.2" +composeBom = "2024.09.03" +androidx-compose-runtime = "1.7.3" kotlinx-coroutines = "1.9.0" appcompat = "1.7.0" material = "1.12.0" -room = "2.7.0-alpha08" +room = "2.7.0-alpha09" ksp = "2.0.20-1.0.25" okhttp = "4.12.0" coil = "3.0.0-alpha06" detekt = "1.23.6" uiautomator = "2.3.0" -benchmarkMacroJunit4 = "1.3.1" -baselineprofile = "1.3.1" -profileinstaller = "1.4.0" +benchmarkMacroJunit4 = "1.3.2" +baselineprofile = "1.3.2" +profileinstaller = "1.4.1" androidSdk-target = "33" androidSdk-min = "24" androidSdk-compile = "34" @@ -33,7 +33,7 @@ compose-plugin = "1.6.11" ktor = "2.3.11" koin = "3.6.0-Beta4" koin-compose = "1.2.0-Beta4" -sqlite = "2.5.0-alpha08" +sqlite = "2.5.0-alpha09" [libraries] androidx-core-ktx = { group = "androidx.core", name = "core-ktx", version.ref = "coreKtx" }