diff --git a/app/build.gradle.kts b/app/build.gradle.kts
index 860d118f..712e2560 100644
--- a/app/build.gradle.kts
+++ b/app/build.gradle.kts
@@ -31,6 +31,7 @@ android {
buildFeatures {
buildConfig = true
+ resValues = true
}
androidResources {
@@ -100,6 +101,7 @@ dependencies {
implementation(projects.libraries.systemgraph)
implementation(libs.aboutlibraries.core)
implementation(libs.androidx.activity.compose)
+ implementation(libs.androidx.appcompat)
implementation(libs.androidx.browser)
implementation(libs.androidx.sharetarget)
implementation(libs.androidx.splashscreen)
diff --git a/app/src/main/res/raw/aboutlibraries.json b/app/src/main/res/raw/aboutlibraries.json
index 2ff3dbd7..8b03efd8 100644
--- a/app/src/main/res/raw/aboutlibraries.json
+++ b/app/src/main/res/raw/aboutlibraries.json
@@ -58,9 +58,9 @@
},
{
"uniqueId": "androidx.annotation:annotation-experimental",
- "artifactVersion": "1.5.1",
+ "artifactVersion": "1.4.1",
"name": "Experimental annotation",
- "website": "https://developer.android.com/jetpack/androidx/releases/annotation#1.5.1",
+ "website": "https://developer.android.com/jetpack/androidx/releases/annotation#1.4.1",
"developers": [
{
"name": "The Android Open Source Project"
@@ -478,9 +478,9 @@
},
{
"uniqueId": "androidx.core:core",
- "artifactVersion": "1.17.0",
+ "artifactVersion": "1.16.0",
"name": "Core",
- "website": "https://developer.android.com/jetpack/androidx/releases/core#1.17.0",
+ "website": "https://developer.android.com/jetpack/androidx/releases/core#1.16.0",
"developers": [
{
"name": "The Android Open Source Project"
@@ -492,9 +492,9 @@
},
{
"uniqueId": "androidx.core:core-ktx",
- "artifactVersion": "1.17.0",
+ "artifactVersion": "1.16.0",
"name": "Core Kotlin Extensions",
- "website": "https://developer.android.com/jetpack/androidx/releases/core#1.17.0",
+ "website": "https://developer.android.com/jetpack/androidx/releases/core#1.16.0",
"developers": [
{
"name": "The Android Open Source Project"
@@ -758,9 +758,9 @@
},
{
"uniqueId": "androidx.fragment:fragment",
- "artifactVersion": "1.6.2",
+ "artifactVersion": "1.5.4",
"name": "Support fragment",
- "website": "https://developer.android.com/jetpack/androidx/releases/fragment#1.6.2",
+ "website": "https://developer.android.com/jetpack/androidx/releases/fragment#1.5.4",
"developers": [
{
"name": "The Android Open Source Project"
@@ -772,9 +772,9 @@
},
{
"uniqueId": "androidx.fragment:fragment-ktx",
- "artifactVersion": "1.6.2",
+ "artifactVersion": "1.3.6",
"name": "Fragment Kotlin Extensions",
- "website": "https://developer.android.com/jetpack/androidx/releases/fragment#1.6.2",
+ "website": "https://developer.android.com/jetpack/androidx/releases/fragment#1.3.6",
"developers": [
{
"name": "The Android Open Source Project"
@@ -856,9 +856,9 @@
},
{
"uniqueId": "androidx.lifecycle:lifecycle-common",
- "artifactVersion": "2.10.0",
+ "artifactVersion": "2.9.4",
"name": "Lifecycle-Common",
- "website": "https://developer.android.com/jetpack/androidx/releases/lifecycle#2.10.0",
+ "website": "https://developer.android.com/jetpack/androidx/releases/lifecycle#2.9.4",
"developers": [
{
"name": "The Android Open Source Project"
@@ -884,9 +884,9 @@
},
{
"uniqueId": "androidx.lifecycle:lifecycle-livedata",
- "artifactVersion": "2.10.0",
+ "artifactVersion": "2.9.4",
"name": "Lifecycle LiveData",
- "website": "https://developer.android.com/jetpack/androidx/releases/lifecycle#2.10.0",
+ "website": "https://developer.android.com/jetpack/androidx/releases/lifecycle#2.9.4",
"developers": [
{
"name": "The Android Open Source Project"
@@ -898,9 +898,9 @@
},
{
"uniqueId": "androidx.lifecycle:lifecycle-livedata-core",
- "artifactVersion": "2.10.0",
+ "artifactVersion": "2.9.4",
"name": "Lifecycle LiveData Core",
- "website": "https://developer.android.com/jetpack/androidx/releases/lifecycle#2.10.0",
+ "website": "https://developer.android.com/jetpack/androidx/releases/lifecycle#2.9.4",
"developers": [
{
"name": "The Android Open Source Project"
@@ -912,9 +912,9 @@
},
{
"uniqueId": "androidx.lifecycle:lifecycle-livedata-core-ktx",
- "artifactVersion": "2.10.0",
+ "artifactVersion": "2.9.4",
"name": "LiveData Core Kotlin Extensions",
- "website": "https://developer.android.com/jetpack/androidx/releases/lifecycle#2.10.0",
+ "website": "https://developer.android.com/jetpack/androidx/releases/lifecycle#2.9.4",
"developers": [
{
"name": "The Android Open Source Project"
@@ -940,9 +940,9 @@
},
{
"uniqueId": "androidx.lifecycle:lifecycle-runtime",
- "artifactVersion": "2.10.0",
+ "artifactVersion": "2.9.4",
"name": "Lifecycle Runtime",
- "website": "https://developer.android.com/jetpack/androidx/releases/lifecycle#2.10.0",
+ "website": "https://developer.android.com/jetpack/androidx/releases/lifecycle#2.9.4",
"developers": [
{
"name": "The Android Open Source Project"
@@ -954,9 +954,9 @@
},
{
"uniqueId": "androidx.lifecycle:lifecycle-runtime-compose",
- "artifactVersion": "2.10.0",
+ "artifactVersion": "2.9.4",
"name": "Lifecycle Runtime Compose",
- "website": "https://developer.android.com/jetpack/androidx/releases/lifecycle#2.10.0",
+ "website": "https://developer.android.com/jetpack/androidx/releases/lifecycle#2.9.4",
"developers": [
{
"name": "The Android Open Source Project"
@@ -968,9 +968,9 @@
},
{
"uniqueId": "androidx.lifecycle:lifecycle-runtime-ktx",
- "artifactVersion": "2.10.0",
+ "artifactVersion": "2.9.4",
"name": "Lifecycle Kotlin Extensions",
- "website": "https://developer.android.com/jetpack/androidx/releases/lifecycle#2.10.0",
+ "website": "https://developer.android.com/jetpack/androidx/releases/lifecycle#2.9.4",
"developers": [
{
"name": "The Android Open Source Project"
@@ -982,9 +982,9 @@
},
{
"uniqueId": "androidx.lifecycle:lifecycle-viewmodel",
- "artifactVersion": "2.10.0",
+ "artifactVersion": "2.9.4",
"name": "Lifecycle ViewModel",
- "website": "https://developer.android.com/jetpack/androidx/releases/lifecycle#2.10.0",
+ "website": "https://developer.android.com/jetpack/androidx/releases/lifecycle#2.9.4",
"developers": [
{
"name": "The Android Open Source Project"
@@ -996,9 +996,9 @@
},
{
"uniqueId": "androidx.lifecycle:lifecycle-viewmodel-ktx",
- "artifactVersion": "2.10.0",
+ "artifactVersion": "2.9.4",
"name": "Lifecycle ViewModel Kotlin Extensions",
- "website": "https://developer.android.com/jetpack/androidx/releases/lifecycle#2.10.0",
+ "website": "https://developer.android.com/jetpack/androidx/releases/lifecycle#2.9.4",
"developers": [
{
"name": "The Android Open Source Project"
@@ -1010,9 +1010,9 @@
},
{
"uniqueId": "androidx.lifecycle:lifecycle-viewmodel-savedstate",
- "artifactVersion": "2.10.0",
+ "artifactVersion": "2.9.4",
"name": "Lifecycle ViewModel with SavedState",
- "website": "https://developer.android.com/jetpack/androidx/releases/lifecycle#2.10.0",
+ "website": "https://developer.android.com/jetpack/androidx/releases/lifecycle#2.9.4",
"developers": [
{
"name": "The Android Open Source Project"
@@ -1178,9 +1178,9 @@
},
{
"uniqueId": "androidx.savedstate:savedstate",
- "artifactVersion": "1.4.0",
+ "artifactVersion": "1.3.3",
"name": "Saved State",
- "website": "https://developer.android.com/jetpack/androidx/releases/savedstate#1.4.0",
+ "website": "https://developer.android.com/jetpack/androidx/releases/savedstate#1.3.3",
"developers": [
{
"name": "The Android Open Source Project"
@@ -1192,9 +1192,9 @@
},
{
"uniqueId": "androidx.savedstate:savedstate-compose",
- "artifactVersion": "1.4.0",
+ "artifactVersion": "1.3.3",
"name": "Saved State Compose",
- "website": "https://developer.android.com/jetpack/androidx/releases/savedstate#1.4.0",
+ "website": "https://developer.android.com/jetpack/androidx/releases/savedstate#1.3.3",
"developers": [
{
"name": "The Android Open Source Project"
@@ -1206,9 +1206,9 @@
},
{
"uniqueId": "androidx.savedstate:savedstate-ktx",
- "artifactVersion": "1.4.0",
+ "artifactVersion": "1.3.3",
"name": "SavedState Kotlin Extensions",
- "website": "https://developer.android.com/jetpack/androidx/releases/savedstate#1.4.0",
+ "website": "https://developer.android.com/jetpack/androidx/releases/savedstate#1.3.3",
"developers": [
{
"name": "The Android Open Source Project"
@@ -1332,9 +1332,9 @@
},
{
"uniqueId": "androidx.vectordrawable:vectordrawable",
- "artifactVersion": "1.2.0",
- "name": "VectorDrawable",
- "website": "https://developer.android.com/jetpack/androidx/releases/vectordrawable#1.2.0",
+ "artifactVersion": "1.1.0",
+ "name": "Support VectorDrawable",
+ "website": "https://developer.android.com/jetpack/androidx",
"developers": [
{
"name": "The Android Open Source Project"
@@ -1346,9 +1346,9 @@
},
{
"uniqueId": "androidx.vectordrawable:vectordrawable-animated",
- "artifactVersion": "1.2.0",
- "name": "AnimatedVectorDrawable",
- "website": "https://developer.android.com/jetpack/androidx/releases/vectordrawable#1.2.0",
+ "artifactVersion": "1.1.0",
+ "name": "Support AnimatedVectorDrawable",
+ "website": "https://developer.android.com/jetpack/androidx",
"developers": [
{
"name": "The Android Open Source Project"
diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml
index fc641304..4af1355b 100644
--- a/gradle/libs.versions.toml
+++ b/gradle/libs.versions.toml
@@ -2,7 +2,7 @@
aboutlibraries = "13.2.1"
accompanist = "0.37.3"
activity = "1.12.2"
-agp = "8.13.2"
+agp = "9.0.0"
androidx-annotation = "1.9.1"
androidx-sqlite = "2.6.2"
appcompat = "1.7.1"
diff --git a/gradle/verification-metadata.xml b/gradle/verification-metadata.xml
index a44ef9c2..9cdfbd95 100644
--- a/gradle/verification-metadata.xml
+++ b/gradle/verification-metadata.xml
@@ -933,6 +933,9 @@
+
+
+
@@ -1034,6 +1037,14 @@
+
+
+
+
+
+
+
+
@@ -1042,6 +1053,14 @@
+
+
+
+
+
+
+
+
@@ -1595,6 +1614,11 @@
+
+
+
+
+
@@ -2761,6 +2785,14 @@
+
+
+
+
+
+
+
+
@@ -2769,6 +2801,14 @@
+
+
+
+
+
+
+
+
@@ -2782,6 +2822,14 @@
+
+
+
+
+
+
+
+
@@ -2790,6 +2838,14 @@
+
+
+
+
+
+
+
+
@@ -2798,6 +2854,14 @@
+
+
+
+
+
+
+
+
@@ -2822,6 +2886,14 @@
+
+
+
+
+
+
+
+
@@ -2830,6 +2902,14 @@
+
+
+
+
+
+
+
+
@@ -2838,6 +2918,14 @@
+
+
+
+
+
+
+
+
@@ -2846,6 +2934,14 @@
+
+
+
+
+
+
+
+
@@ -2854,6 +2950,14 @@
+
+
+
+
+
+
+
+
@@ -2862,6 +2966,14 @@
+
+
+
+
+
+
+
+
@@ -2870,6 +2982,14 @@
+
+
+
+
+
+
+
+
@@ -2878,6 +2998,14 @@
+
+
+
+
+
+
+
+
@@ -2886,6 +3014,14 @@
+
+
+
+
+
+
+
+
@@ -2900,6 +3036,20 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -2908,6 +3058,14 @@
+
+
+
+
+
+
+
+
@@ -2916,6 +3074,14 @@
+
+
+
+
+
+
+
+
@@ -2924,6 +3090,14 @@
+
+
+
+
+
+
+
+
@@ -2932,6 +3106,14 @@
+
+
+
+
+
+
+
+
@@ -2940,6 +3122,14 @@
+
+
+
+
+
+
+
+
@@ -2948,6 +3138,14 @@
+
+
+
+
+
+
+
+
@@ -2956,6 +3154,14 @@
+
+
+
+
+
+
+
+
@@ -2964,6 +3170,14 @@
+
+
+
+
+
+
+
+
@@ -2972,6 +3186,14 @@
+
+
+
+
+
+
+
+
@@ -2980,6 +3202,14 @@
+
+
+
+
+
+
+
+
@@ -2988,6 +3218,14 @@
+
+
+
+
+
+
+
+
@@ -2996,6 +3234,14 @@
+
+
+
+
+
+
+
+
@@ -3004,6 +3250,14 @@
+
+
+
+
+
+
+
+
@@ -3036,6 +3290,14 @@
+
+
+
+
+
+
+
+
@@ -3044,6 +3306,14 @@
+
+
+
+
+
+
+
+
@@ -3052,6 +3322,14 @@
+
+
+
+
+
+
+
+
@@ -3060,6 +3338,14 @@
+
+
+
+
+
+
+
+
@@ -3068,6 +3354,14 @@
+
+
+
+
+
+
+
+
@@ -3076,6 +3370,14 @@
+
+
+
+
+
+
+
+
@@ -3084,6 +3386,14 @@
+
+
+
+
+
+
+
+
@@ -3092,6 +3402,14 @@
+
+
+
+
+
+
+
+
@@ -3100,6 +3418,14 @@
+
+
+
+
+
+
+
+
@@ -3108,6 +3434,14 @@
+
+
+
+
+
+
+
+
@@ -3116,6 +3450,14 @@
+
+
+
+
+
+
+
+
@@ -3124,6 +3466,14 @@
+
+
+
+
+
+
+
+
@@ -3132,6 +3482,14 @@
+
+
+
+
+
+
+
+
@@ -3140,6 +3498,14 @@
+
+
+
+
+
+
+
+
@@ -3164,6 +3530,14 @@
+
+
+
+
+
+
+
+
@@ -3172,6 +3546,14 @@
+
+
+
+
+
+
+
+
@@ -3180,6 +3562,14 @@
+
+
+
+
+
+
+
+
@@ -3188,6 +3578,14 @@
+
+
+
+
+
+
+
+
@@ -3196,6 +3594,14 @@
+
+
+
+
+
+
+
+
@@ -3204,6 +3610,14 @@
+
+
+
+
+
+
+
+
@@ -3212,6 +3626,14 @@
+
+
+
+
+
+
+
+
@@ -3220,6 +3642,14 @@
+
+
+
+
+
+
+
+
@@ -3228,6 +3658,14 @@
+
+
+
+
+
+
+
+
@@ -3236,6 +3674,14 @@
+
+
+
+
+
+
+
+
@@ -3244,6 +3690,14 @@
+
+
+
+
+
+
+
+
@@ -3252,6 +3706,14 @@
+
+
+
+
+
+
+
+
@@ -3260,6 +3722,14 @@
+
+
+
+
+
+
+
+
@@ -3268,6 +3738,30 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -3276,6 +3770,14 @@
+
+
+
+
+
+
+
+
@@ -4823,6 +5325,14 @@
+
+
+
+
+
+
+
+
@@ -6327,6 +6837,11 @@
+
+
+
+
+
@@ -6350,6 +6865,22 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -6375,6 +6906,16 @@
+
+
+
+
+
+
+
+
+
+
@@ -8710,6 +9251,14 @@
+
+
+
+
+
+
+
+
@@ -8976,6 +9525,11 @@
+
+
+
+
+
@@ -9023,6 +9577,14 @@
+
+
+
+
+
+
+
+
@@ -9079,6 +9641,14 @@
+
+
+
+
+
+
+
+
@@ -9860,6 +10430,14 @@
+
+
+
+
+
+
+
+
diff --git a/plugins/src/main/kotlin/io/github/shadowrz/projectkafka/gradle/plugins/ComposePlugin.kt b/plugins/src/main/kotlin/io/github/shadowrz/projectkafka/gradle/plugins/ComposePlugin.kt
index 059b6536..d7946c48 100644
--- a/plugins/src/main/kotlin/io/github/shadowrz/projectkafka/gradle/plugins/ComposePlugin.kt
+++ b/plugins/src/main/kotlin/io/github/shadowrz/projectkafka/gradle/plugins/ComposePlugin.kt
@@ -1,29 +1,20 @@
package io.github.shadowrz.projectkafka.gradle.plugins
-import com.android.build.api.dsl.ApplicationExtension
-import com.android.build.api.dsl.LibraryExtension
import io.github.shadowrz.projectkafka.gradle.plugins.configure.addComposeDependencies
import io.github.shadowrz.projectkafka.gradle.plugins.configure.configureCompose
import io.github.shadowrz.projectkafka.gradle.plugins.configure.configureComposeCompiler
+import io.github.shadowrz.projectkafka.gradle.plugins.dsl.android
import org.gradle.api.Plugin
import org.gradle.api.Project
import org.gradle.kotlin.dsl.apply
-import org.gradle.kotlin.dsl.configure
class ComposePlugin : Plugin {
override fun apply(target: Project) {
with(target) {
apply(plugin = "org.jetbrains.kotlin.plugin.compose")
- pluginManager.withPlugin("com.android.library") {
- extensions.configure {
- configureCompose()
- }
- }
- pluginManager.withPlugin("com.android.application") {
- extensions.configure {
- configureCompose()
- }
+ android {
+ configureCompose()
}
pluginManager.withPlugin("org.jetbrains.kotlin.multiplatform") {
diff --git a/plugins/src/main/kotlin/io/github/shadowrz/projectkafka/gradle/plugins/GlancePlugin.kt b/plugins/src/main/kotlin/io/github/shadowrz/projectkafka/gradle/plugins/GlancePlugin.kt
index 7a22f671..62126790 100644
--- a/plugins/src/main/kotlin/io/github/shadowrz/projectkafka/gradle/plugins/GlancePlugin.kt
+++ b/plugins/src/main/kotlin/io/github/shadowrz/projectkafka/gradle/plugins/GlancePlugin.kt
@@ -1,33 +1,26 @@
package io.github.shadowrz.projectkafka.gradle.plugins
-import com.android.build.api.dsl.ApplicationExtension
-import com.android.build.api.dsl.LibraryExtension
import io.github.shadowrz.projectkafka.gradle.plugins.configure.addGlanceDependencies
import io.github.shadowrz.projectkafka.gradle.plugins.configure.configureCompose
import io.github.shadowrz.projectkafka.gradle.plugins.configure.configureComposeCompiler
+import io.github.shadowrz.projectkafka.gradle.plugins.dsl.android
import org.gradle.api.Plugin
import org.gradle.api.Project
import org.gradle.kotlin.dsl.apply
-import org.gradle.kotlin.dsl.configure
class GlancePlugin : Plugin {
override fun apply(target: Project) {
with(target) {
apply(plugin = "org.jetbrains.kotlin.plugin.compose")
- pluginManager.withPlugin("com.android.library") {
- extensions.configure {
- configureCompose()
- }
- }
- pluginManager.withPlugin("com.android.application") {
- extensions.configure {
- configureCompose()
- }
+ android {
+ configureCompose()
}
+
pluginManager.withPlugin("org.jetbrains.kotlin.multiplatform") {
apply(plugin = "org.jetbrains.compose")
}
+
configureComposeCompiler()
addGlanceDependencies()
}
diff --git a/plugins/src/main/kotlin/io/github/shadowrz/projectkafka/gradle/plugins/configure/Compose.kt b/plugins/src/main/kotlin/io/github/shadowrz/projectkafka/gradle/plugins/configure/Compose.kt
index 7444eada..70a15e1e 100644
--- a/plugins/src/main/kotlin/io/github/shadowrz/projectkafka/gradle/plugins/configure/Compose.kt
+++ b/plugins/src/main/kotlin/io/github/shadowrz/projectkafka/gradle/plugins/configure/Compose.kt
@@ -16,18 +16,12 @@ import org.jetbrains.kotlin.compose.compiler.gradle.ComposeCompilerGradlePluginE
import org.jetbrains.kotlin.gradle.dsl.KotlinMultiplatformExtension
import org.jetbrains.kotlin.gradle.plugin.KotlinDependencyHandler
-internal fun CommonExtension<*, *, *, *, *, *>.configureCompose() {
- buildFeatures {
- compose = true
+internal fun CommonExtension.configureCompose() =
+ apply {
+ buildFeatures.compose = true
+ testOptions.unitTests.isIncludeAndroidResources = true
}
- testOptions {
- unitTests {
- isIncludeAndroidResources = true
- }
- }
-}
-
@Suppress("UnstableApiUsage")
internal fun Project.configureComposeCompiler() {
extensions.configure {
diff --git a/plugins/src/main/kotlin/io/github/shadowrz/projectkafka/gradle/plugins/dsl/Android.kt b/plugins/src/main/kotlin/io/github/shadowrz/projectkafka/gradle/plugins/dsl/Android.kt
index 43113fd9..bcbd4928 100644
--- a/plugins/src/main/kotlin/io/github/shadowrz/projectkafka/gradle/plugins/dsl/Android.kt
+++ b/plugins/src/main/kotlin/io/github/shadowrz/projectkafka/gradle/plugins/dsl/Android.kt
@@ -6,7 +6,7 @@ import com.android.build.api.dsl.LibraryExtension
import org.gradle.api.Project
import org.gradle.kotlin.dsl.configure
-internal fun Project.android(configure: CommonExtension<*, *, *, *, *, *>.() -> Unit) {
+internal fun Project.android(configure: CommonExtension.() -> Unit) {
pluginManager.withPlugin("com.android.library") {
extensions.configure(configure)
}
diff --git a/plugins/src/main/kotlin/io/github/shadowrz/projectkafka/gradle/plugins/internal/AndroidPlugin.kt b/plugins/src/main/kotlin/io/github/shadowrz/projectkafka/gradle/plugins/internal/AndroidPlugin.kt
index bb00dd76..f4deae7f 100644
--- a/plugins/src/main/kotlin/io/github/shadowrz/projectkafka/gradle/plugins/internal/AndroidPlugin.kt
+++ b/plugins/src/main/kotlin/io/github/shadowrz/projectkafka/gradle/plugins/internal/AndroidPlugin.kt
@@ -10,11 +10,12 @@ import org.gradle.kotlin.dsl.apply
internal class AndroidPlugin : Plugin {
override fun apply(target: Project) {
with(target) {
- apply(plugin = "org.jetbrains.kotlin.android")
+ // No need for AGP 9
+ // apply(plugin = "org.jetbrains.kotlin.android")
apply()
android {
- defaultConfig {
+ defaultConfig.apply {
compileSdk = Versions.COMPILE_SDK
minSdk = Versions.MIN_SDK
@@ -27,7 +28,7 @@ internal class AndroidPlugin : Plugin {
}
}
- compileOptions {
+ compileOptions.apply {
sourceCompatibility = JavaVersion.VERSION_21
targetCompatibility = JavaVersion.VERSION_21
isCoreLibraryDesugaringEnabled = true