summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKimberly Crevecoeur <kcrevecoeur@google.com>2024-01-18 17:34:37 -0800
committerGitHub <noreply@github.com>2024-01-18 17:34:37 -0800
commitaf8241c0573e78458b464a6cfba41ed49236da9c (patch)
treef04061ca3d8467acdacef3e22432a7e623918a37
parentcbe5f808c98465826f009f49760717965a877aff (diff)
downloadjetpack-camera-app-af8241c0573e78458b464a6cfba41ed49236da9c.tar.gz
Migrate build dependencies to version catalogs (#95)
-rw-r--r--app/build.gradle.kts48
-rw-r--r--benchmark/build.gradle.kts8
-rw-r--r--build.gradle.kts12
-rw-r--r--camera-viewfinder-compose/build.gradle.kts28
-rw-r--r--core/common/build.gradle.kts25
-rw-r--r--data/settings/build.gradle.kts32
-rw-r--r--domain/camera/build.gradle.kts39
-rw-r--r--feature/preview/build.gradle.kts59
-rw-r--r--feature/quicksettings/build.gradle.kts24
-rw-r--r--feature/settings/build.gradle.kts43
-rw-r--r--feature/settings/src/main/java/com/google/jetpackcamera/settings/ui/SettingsComponents.kt5
-rw-r--r--gradle/libs.versions.toml88
12 files changed, 248 insertions, 163 deletions
diff --git a/app/build.gradle.kts b/app/build.gradle.kts
index 3ab33d5..274e616 100644
--- a/app/build.gradle.kts
+++ b/app/build.gradle.kts
@@ -15,10 +15,10 @@
*/
plugins {
- id("com.android.application")
- id("org.jetbrains.kotlin.android")
- id("kotlin-kapt")
- id("com.google.dagger.hilt.android")
+ alias(libs.plugins.android.application)
+ alias(libs.plugins.kotlin.android)
+ alias(libs.plugins.kotlin.kapt)
+ alias(libs.plugins.dagger.hilt.android)
}
android {
@@ -75,46 +75,46 @@ android {
dependencies {
implementation("androidx.test.ext:junit-ktx:1.1.5")
// Compose
- val composeBom = platform("androidx.compose:compose-bom:2023.08.00")
+ val composeBom = platform(libs.compose.bom)
implementation(composeBom)
androidTestImplementation(composeBom)
// Compose - Material Design 3
- implementation("androidx.compose.material3:material3")
+ implementation(libs.compose.material3)
// Compose - Android Studio Preview support
- implementation("androidx.compose.ui:ui-tooling-preview")
- debugImplementation("androidx.compose.ui:ui-tooling")
+ implementation(libs.compose.ui.tooling.preview)
+ debugImplementation(libs.compose.ui.tooling)
// Compose - Integration with ViewModels
- implementation("androidx.lifecycle:lifecycle-viewmodel-compose:2.6.1")
+ implementation(libs.lifecycle.viewmodel.compose)
// Compose - Integration with Activities
- implementation("androidx.activity:activity-compose")
+ implementation(libs.androidx.activity.compose)
// Compose - Testing
- androidTestImplementation("androidx.compose.ui:ui-test-junit4")
+ androidTestImplementation(libs.compose.junit)
// Testing
- testImplementation("junit:junit:4.13.2")
- androidTestImplementation("androidx.test.ext:junit:1.1.3")
- androidTestImplementation("androidx.test.espresso:espresso-core:3.4.0")
- androidTestImplementation("androidx.test:rules:1.5.0")
- androidTestImplementation("androidx.test.uiautomator:uiautomator:2.2.0")
+ testImplementation(libs.junit)
+ androidTestImplementation(libs.androidx.junit)
+ androidTestImplementation(libs.androidx.espresso.core)
- implementation("androidx.core:core-ktx:1.8.0")
- implementation("androidx.lifecycle:lifecycle-runtime-ktx:2.3.1")
+ androidTestImplementation(libs.androidx.rules)
+ androidTestImplementation(libs.androidx.uiautomator)
+
+ implementation(libs.androidx.core.ktx)
+ implementation(libs.androidx.lifecycle.runtime.ktx)
// Hilt
- implementation("com.google.dagger:hilt-android:2.44")
- kapt("com.google.dagger:hilt-compiler:2.44")
+ implementation(libs.dagger.hilt.android)
+ kapt(libs.dagger.hilt.compiler)
// Accompanist - Permissions
- implementation("com.google.accompanist:accompanist-permissions:0.26.5-rc")
+ implementation(libs.accompanist.permissions)
// Jetpack Navigation
- val nav_version = "2.5.3"
- implementation("androidx.navigation:navigation-compose:$nav_version")
+ implementation(libs.androidx.navigation.compose)
// Access Settings data
implementation(project(":data:settings"))
@@ -126,7 +126,7 @@ dependencies {
implementation(project(":feature:settings"))
// benchmark
- implementation("androidx.profileinstaller:profileinstaller:1.3.1")
+ implementation(libs.androidx.profileinstaller)
}
diff --git a/benchmark/build.gradle.kts b/benchmark/build.gradle.kts
index 416dced..617294b 100644
--- a/benchmark/build.gradle.kts
+++ b/benchmark/build.gradle.kts
@@ -15,8 +15,8 @@
*/
plugins {
- id("com.android.test")
- id("org.jetbrains.kotlin.android")
+ alias(libs.plugins.android.test)
+ alias(libs.plugins.kotlin.android)
}
android {
@@ -64,8 +64,8 @@ android {
}
dependencies {
- implementation("androidx.test.ext:junit:1.1.5")
- implementation("androidx.benchmark:benchmark-macro-junit4:1.2.2")
+ implementation(libs.androidx.junit)
+ implementation(libs.androidx.benchmark.macro.junit4)
}
androidComponents {
diff --git a/build.gradle.kts b/build.gradle.kts
index 0b240f9..676fb11 100644
--- a/build.gradle.kts
+++ b/build.gradle.kts
@@ -16,11 +16,13 @@
// Top-level build file where you can add configuration options common to all sub-projects/modules.
plugins {
- id("com.android.application") version "8.1.1" apply false
- id("com.android.library") version "8.1.1" apply false
- id("org.jetbrains.kotlin.android") version "1.8.0" apply false
- id("com.google.dagger.hilt.android") version "2.44" apply false
- id("com.android.test") version "8.1.1" apply false
+ alias(libs.plugins.android.application) apply false
+ alias(libs.plugins.android.library) apply false
+ alias(libs.plugins.android.test) apply false
+ alias(libs.plugins.kotlin.android) apply false
+ alias(libs.plugins.dagger.hilt.android) apply false
+ alias(libs.plugins.kotlin.kapt) apply false
+
}
tasks.register<Copy>("installGitHooks") {
diff --git a/camera-viewfinder-compose/build.gradle.kts b/camera-viewfinder-compose/build.gradle.kts
index b40b70a..e1251c3 100644
--- a/camera-viewfinder-compose/build.gradle.kts
+++ b/camera-viewfinder-compose/build.gradle.kts
@@ -15,8 +15,8 @@
*/
plugins {
- id("com.android.library")
- id("org.jetbrains.kotlin.android")
+ alias(libs.plugins.android.library)
+ alias(libs.plugins.kotlin.android)
}
android {
@@ -57,31 +57,29 @@ android {
dependencies {
// Compose
- val composeBom = platform("androidx.compose:compose-bom:2023.08.00")
+ val composeBom = platform(libs.compose.bom)
implementation(composeBom)
androidTestImplementation(composeBom)
// Compose - Material Design 3
- implementation("androidx.compose.material3:material3")
+ implementation(libs.compose.material3)
// Compose - Testing
- androidTestImplementation("androidx.compose.ui:ui-test-junit4")
+ androidTestImplementation(libs.compose.junit)
// Compose - Android Studio Preview support
- implementation("androidx.compose.ui:ui-tooling-preview")
- implementation("androidx.compose.ui:ui-tooling")
+ implementation(libs.compose.ui.tooling.preview)
+ implementation(libs.compose.ui.tooling)
// Testing
- testImplementation("junit:junit:4.13.2")
- androidTestImplementation("androidx.test.ext:junit:1.1.3")
- androidTestImplementation("androidx.test.espresso:espresso-core:3.4.0")
+ testImplementation(libs.junit)
+ androidTestImplementation(libs.androidx.junit)
+ androidTestImplementation(libs.androidx.espresso.core)
// CameraX
- val camerax_version = "1.4.0-SNAPSHOT"
- implementation("androidx.camera:camera-core:${camerax_version}")
- implementation("androidx.camera:camera-view:${camerax_version}")
+ implementation(libs.camera.core)
+ implementation(libs.camera.view)
// AndroidX Core
- val core_version = "1.9.0"
- implementation("androidx.core:core:{$core_version}")
+ implementation(libs.androidx.core)
}
diff --git a/core/common/build.gradle.kts b/core/common/build.gradle.kts
index 9dd6046..f583060 100644
--- a/core/common/build.gradle.kts
+++ b/core/common/build.gradle.kts
@@ -15,10 +15,10 @@
*/
plugins {
- id("com.android.library")
- id("org.jetbrains.kotlin.android")
- id("kotlin-kapt")
- id("com.google.dagger.hilt.android")
+ alias(libs.plugins.android.library)
+ alias(libs.plugins.kotlin.android)
+ alias(libs.plugins.kotlin.kapt)
+ alias(libs.plugins.dagger.hilt.android)
}
android {
@@ -51,17 +51,16 @@ android {
}
dependencies {
-
- implementation("androidx.core:core-ktx:1.8.0")
- implementation("androidx.appcompat:appcompat:1.6.1")
- implementation("com.google.android.material:material:1.8.0")
- testImplementation("junit:junit:4.13.2")
- androidTestImplementation("androidx.test.ext:junit:1.1.5")
- androidTestImplementation("androidx.test.espresso:espresso-core:3.5.1")
+ implementation(libs.androidx.core.ktx)
+ implementation(libs.androidx.appcompat)
+ implementation(libs.android.material)
+ testImplementation(libs.junit)
+ androidTestImplementation(libs.androidx.junit)
+ androidTestImplementation(libs.androidx.espresso.core)
// Hilt
- implementation("com.google.dagger:hilt-android:2.44")
- kapt("com.google.dagger:hilt-compiler:2.44")
+ implementation(libs.dagger.hilt.android)
+ kapt(libs.dagger.hilt.compiler)
}
kapt {
diff --git a/data/settings/build.gradle.kts b/data/settings/build.gradle.kts
index 91a8e9c..1b2b9ba 100644
--- a/data/settings/build.gradle.kts
+++ b/data/settings/build.gradle.kts
@@ -15,11 +15,11 @@
*/
plugins {
- id("com.android.library")
- id("org.jetbrains.kotlin.android")
- id("kotlin-kapt")
- id("com.google.dagger.hilt.android")
- id("com.google.protobuf") version "0.9.1"
+ alias(libs.plugins.android.library)
+ alias(libs.plugins.kotlin.android)
+ alias(libs.plugins.kotlin.kapt)
+ alias(libs.plugins.dagger.hilt.android)
+ alias(libs.plugins.google.protobuf)
}
android {
@@ -54,23 +54,19 @@ android {
dependencies {
// Testing
- testImplementation("junit:junit:4.13.2")
-
- implementation("org.jetbrains.kotlinx:kotlinx-coroutines-core:1.6.4")
- androidTestImplementation("org.jetbrains.kotlinx:kotlinx-coroutines-test:1.6.4")
-
- androidTestImplementation("androidx.test.ext:junit:1.1.3")
- androidTestImplementation("androidx.test.espresso:espresso-core:3.4.0")
-
+ testImplementation(libs.junit)
+ implementation(libs.kotlinx.coroutines.core)
+ androidTestImplementation(libs.kotlinx.coroutines.core)
+ androidTestImplementation(libs.androidx.junit)
+ androidTestImplementation(libs.androidx.espresso.core)
// Hilt
- implementation("com.google.dagger:hilt-android:2.44")
- kapt("com.google.dagger:hilt-compiler:2.44")
+ implementation(libs.dagger.hilt.android)
+ kapt(libs.dagger.hilt.compiler)
// proto datastore
- implementation("androidx.datastore:datastore:1.0.0")
- implementation("com.google.protobuf:protobuf-kotlin-lite:3.21.12")
-
+ implementation(libs.androidx.datastore)
+ implementation(libs.protobuf.kotlin.lite)
}
protobuf {
diff --git a/domain/camera/build.gradle.kts b/domain/camera/build.gradle.kts
index 883612e..670fd8f 100644
--- a/domain/camera/build.gradle.kts
+++ b/domain/camera/build.gradle.kts
@@ -15,10 +15,10 @@
*/
plugins {
- id("com.android.library")
- id("org.jetbrains.kotlin.android")
- id("kotlin-kapt")
- id("com.google.dagger.hilt.android")
+ alias(libs.plugins.android.library)
+ alias(libs.plugins.kotlin.android)
+ alias(libs.plugins.kotlin.kapt)
+ alias(libs.plugins.dagger.hilt.android)
}
android {
@@ -52,30 +52,31 @@ android {
}
dependencies {
- implementation("androidx.tracing:tracing-ktx:1.2.0")
// Testing
- testImplementation("junit:junit:4.13.2")
- testImplementation("org.jetbrains.kotlinx:kotlinx-coroutines-test:1.6")
+ testImplementation(libs.junit)
+ androidTestImplementation(libs.androidx.junit)
+ androidTestImplementation(libs.androidx.espresso.core)
+ testImplementation("org.jetbrains.kotlinx:kotlinx-coroutines-test:1.7.3")
testImplementation("org.mockito:mockito-core:5.2.0")
- androidTestImplementation("androidx.test.ext:junit:1.1.3")
- androidTestImplementation("androidx.test.espresso:espresso-core:3.4.0")
// Futures
- implementation("androidx.concurrent:concurrent-futures-ktx:1.1.0")
+ implementation(libs.futures.ktx)
// CameraX
- val camerax_version = "1.4.0-SNAPSHOT"
- implementation("androidx.camera:camera-core:${camerax_version}")
- implementation("androidx.camera:camera-camera2:${camerax_version}")
- implementation("androidx.camera:camera-lifecycle:${camerax_version}")
- implementation("androidx.camera:camera-video:${camerax_version}")
+ implementation(libs.camera.core)
+ implementation(libs.camera.camera2)
+ implementation(libs.camera.lifecycle)
+ implementation(libs.camera.video)
- implementation("androidx.camera:camera-view:${camerax_version}")
- implementation("androidx.camera:camera-extensions:${camerax_version}")
+ implementation(libs.camera.view)
+ implementation(libs.camera.extensions)
// Hilt
- implementation("com.google.dagger:hilt-android:2.44")
- kapt("com.google.dagger:hilt-compiler:2.44")
+ implementation(libs.dagger.hilt.android)
+ kapt(libs.dagger.hilt.compiler)
+
+ // Tracing
+ implementation("androidx.tracing:tracing-ktx:1.2.0")
// Project dependencies
implementation(project(":data:settings"))
diff --git a/feature/preview/build.gradle.kts b/feature/preview/build.gradle.kts
index 26ec24e..126fe88 100644
--- a/feature/preview/build.gradle.kts
+++ b/feature/preview/build.gradle.kts
@@ -15,10 +15,10 @@
*/
plugins {
- id("com.android.library")
- id("org.jetbrains.kotlin.android")
- id("kotlin-kapt")
- id("com.google.dagger.hilt.android")
+ alias(libs.plugins.android.library)
+ alias(libs.plugins.kotlin.android)
+ alias(libs.plugins.kotlin.kapt)
+ alias(libs.plugins.dagger.hilt.android)
}
android {
@@ -64,50 +64,51 @@ android {
}
dependencies {
- implementation("androidx.test.ext:junit-ktx:1.1.5")
- implementation("androidx.tracing:tracing-ktx:1.2.0")
// Compose
- val composeBom = platform("androidx.compose:compose-bom:2023.08.00")
+ val composeBom = platform(libs.compose.bom)
implementation(composeBom)
androidTestImplementation(composeBom)
// Compose - Material Design 3
- implementation("androidx.compose.material3:material3")
+ implementation(libs.compose.material3)
// Compose - Android Studio Preview support
- implementation("androidx.compose.ui:ui-tooling-preview")
- debugImplementation("androidx.compose.ui:ui-tooling")
+ implementation(libs.compose.ui.tooling.preview)
+ debugImplementation(libs.compose.ui.tooling)
// Compose - Integration with ViewModels with Navigation and Hilt
- implementation("androidx.hilt:hilt-navigation-compose:1.0.0")
+ implementation(libs.hilt.navigation.compose)
// Compose - Testing
- debugImplementation("androidx.compose.ui:ui-test-manifest")
+ androidTestImplementation(libs.compose.junit)
+ debugImplementation(libs.compose.test.manifest)
// noinspection TestManifestGradleConfiguration: required for release build unit tests
- testImplementation("androidx.compose.ui:ui-test-manifest")
- testImplementation("androidx.compose.ui:ui-test-junit4")
- androidTestImplementation("androidx.compose.ui:ui-test-junit4")
+ testImplementation(libs.compose.test.manifest)
+ testImplementation(libs.compose.junit)
// Testing
- testImplementation("junit:junit:4.13.2")
- testImplementation("org.mockito:mockito-core:5.2.0")
- testImplementation("org.jetbrains.kotlinx:kotlinx-coroutines-test:1.6")
- testImplementation("org.robolectric:robolectric:4.11.1")
- androidTestImplementation("androidx.test.espresso:espresso-core:3.5.1")
- androidTestImplementation("androidx.test.ext:junit:1.1.5")
- debugImplementation("androidx.test:monitor:1.6.1")
+ testImplementation(libs.junit)
+ androidTestImplementation(libs.androidx.junit)
+ androidTestImplementation(libs.androidx.espresso.core)
+ testImplementation(libs.mockito.core)
+ testImplementation(libs.kotlinx.coroutines.test)
+ testImplementation(libs.robolectric)
+ debugImplementation(libs.androidx.test.monitor)
+ implementation(libs.androidx.junit)
// Guava
- implementation("org.jetbrains.kotlinx:kotlinx-coroutines-guava:1.4.1")
+ implementation(libs.kotlinx.coroutines.guava)
// CameraX
- val camerax_version = "1.4.0-SNAPSHOT"
- implementation("androidx.camera:camera-core:${camerax_version}")
- implementation("androidx.camera:camera-view:${camerax_version}")
+ implementation(libs.camera.core)
+ implementation(libs.camera.view)
// Hilt
- implementation("com.google.dagger:hilt-android:2.44")
- kapt("com.google.dagger:hilt-compiler:2.44")
+ implementation(libs.dagger.hilt.android)
+ kapt(libs.dagger.hilt.compiler)
+
+ //Tracing
+ implementation(libs.androidx.tracing)
// Project dependencies
implementation(project(":data:settings"))
@@ -119,4 +120,4 @@ dependencies {
// Allow references to generated code
kapt {
correctErrorTypes = true
-}
+} \ No newline at end of file
diff --git a/feature/quicksettings/build.gradle.kts b/feature/quicksettings/build.gradle.kts
index a8da369..58f8b5c 100644
--- a/feature/quicksettings/build.gradle.kts
+++ b/feature/quicksettings/build.gradle.kts
@@ -15,9 +15,9 @@
*/
plugins {
- id("com.android.library")
- id("org.jetbrains.kotlin.android")
- id("kotlin-kapt")
+ alias(libs.plugins.android.library)
+ alias(libs.plugins.kotlin.android)
+ alias(libs.plugins.kotlin.kapt)
}
android {
@@ -58,27 +58,27 @@ android {
dependencies {
// Compose
- val composeBom = platform("androidx.compose:compose-bom:2023.08.00")
+ val composeBom = platform(libs.compose.bom)
implementation(composeBom)
androidTestImplementation(composeBom)
// Compose - Material Design 3
- implementation("androidx.compose.material3:material3")
+ implementation(libs.compose.material3)
// Compose - Android Studio Preview support
- implementation("androidx.compose.ui:ui-tooling-preview")
- debugImplementation("androidx.compose.ui:ui-tooling")
+ implementation(libs.compose.ui.tooling.preview)
+ debugImplementation(libs.compose.ui.tooling)
// Compose - Testing
- androidTestImplementation("androidx.compose.ui:ui-test-junit4")
+ androidTestImplementation(libs.compose.junit)
// Testing
- testImplementation("junit:junit:4.13.2")
- androidTestImplementation("androidx.test.ext:junit:1.1.3")
- androidTestImplementation("androidx.test.espresso:espresso-core:3.4.0")
+ testImplementation(libs.junit)
+ androidTestImplementation(libs.androidx.junit)
+ androidTestImplementation(libs.androidx.espresso.core)
// Guava
- implementation("org.jetbrains.kotlinx:kotlinx-coroutines-guava:1.4.1")
+ implementation(libs.kotlinx.coroutines.guava)
implementation(project(":data:settings"))
}
diff --git a/feature/settings/build.gradle.kts b/feature/settings/build.gradle.kts
index d9a1dbb..78d8f60 100644
--- a/feature/settings/build.gradle.kts
+++ b/feature/settings/build.gradle.kts
@@ -15,10 +15,10 @@
*/
plugins {
- id("com.android.library")
- id("org.jetbrains.kotlin.android")
- id("kotlin-kapt")
- id("com.google.dagger.hilt.android")
+ alias(libs.plugins.android.library)
+ alias(libs.plugins.kotlin.android)
+ alias(libs.plugins.kotlin.kapt)
+ alias(libs.plugins.dagger.hilt.android)
}
android {
@@ -59,41 +59,42 @@ android {
dependencies {
// Compose
- val composeBom = platform("androidx.compose:compose-bom:2022.12.00")
+ val composeBom = platform(libs.compose.bom)
implementation(composeBom)
androidTestImplementation(composeBom)
// Compose - Material Design 3
- implementation("androidx.compose.material3:material3")
+ implementation(libs.compose.material3)
// Compose - Android Studio Preview support
- implementation("androidx.compose.ui:ui-tooling-preview")
- debugImplementation("androidx.compose.ui:ui-tooling")
+ implementation(libs.compose.ui.tooling.preview)
+ debugImplementation(libs.compose.ui.tooling)
// Compose - Integration with ViewModels with Navigation and Hilt
- implementation("androidx.hilt:hilt-navigation-compose:1.0.0")
+ implementation(libs.hilt.navigation.compose)
// Compose - Testing
- androidTestImplementation("androidx.compose.ui:ui-test-junit4")
+ androidTestImplementation(libs.compose.junit)
// Testing
- testImplementation("junit:junit:4.13.2")
- androidTestImplementation("androidx.test.ext:junit:1.1.3")
- androidTestImplementation("androidx.test.espresso:espresso-core:3.4.0")
- testImplementation("org.mockito:mockito-core:5.2.0")
- testImplementation("org.jetbrains.kotlinx:kotlinx-coroutines-test:1.6")
- implementation("androidx.test:core-ktx:1.5.0")
+ testImplementation(libs.junit)
+ androidTestImplementation(libs.androidx.junit)
+ androidTestImplementation(libs.androidx.espresso.core)
+ testImplementation(libs.mockito.core)
+ testImplementation(libs.kotlinx.coroutines.test)
+
+ implementation(libs.androidx.core.ktx)
// Guava
- implementation("org.jetbrains.kotlinx:kotlinx-coroutines-guava:1.4.1")
+ implementation(libs.kotlinx.coroutines.guava)
// Hilt
- implementation("com.google.dagger:hilt-android:2.44")
- kapt("com.google.dagger:hilt-compiler:2.44")
+ implementation(libs.dagger.hilt.android)
+ kapt(libs.dagger.hilt.compiler)
// Proto Datastore
- implementation("androidx.datastore:datastore:1.0.0")
- implementation("com.google.protobuf:protobuf-kotlin-lite:3.21.12")
+ implementation(libs.androidx.datastore)
+ implementation(libs.protobuf.kotlin.lite)
implementation(project(":data:settings"))
}
diff --git a/feature/settings/src/main/java/com/google/jetpackcamera/settings/ui/SettingsComponents.kt b/feature/settings/src/main/java/com/google/jetpackcamera/settings/ui/SettingsComponents.kt
index 31b2d08..c38dd58 100644
--- a/feature/settings/src/main/java/com/google/jetpackcamera/settings/ui/SettingsComponents.kt
+++ b/feature/settings/src/main/java/com/google/jetpackcamera/settings/ui/SettingsComponents.kt
@@ -321,7 +321,6 @@ fun SwitchSettingUI(
/**
* A composable used as a template used to construct other settings components
*/
-@OptIn(ExperimentalMaterial3Api::class)
@Composable
fun SettingUI(
modifier: Modifier = Modifier,
@@ -332,8 +331,8 @@ fun SettingUI(
) {
ListItem(
modifier = modifier,
- headlineText = { Text(title) },
- supportingText = when (description) {
+ headlineContent = { Text(title) },
+ supportingContent = when (description) {
null -> null
else -> {
{ Text(description) }
diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml
new file mode 100644
index 0000000..e867155
--- /dev/null
+++ b/gradle/libs.versions.toml
@@ -0,0 +1,88 @@
+[versions]
+accompanistPermissions = "0.26.5-rc"
+androidJunit = "1.1.5"
+androidLibrary = "8.1.4"
+androidxActivityCompose = "1.8.2"
+androidxAppCompat = "1.6.1"
+androidxCore = "1.12.0"
+androidxCoreKtx = "1.12.0"
+androidxTracing = "1.2.0"
+benchmarkMacroJunit4 = "1.2.2"
+camerax = "1.4.0-SNAPSHOT"
+compose = "1.5.4"
+composeBom = "2023.10.01"
+composeMaterial3 = "1.1.2"
+coreKtx = "1.5.0"
+coroutinesCore = "1.7.1"
+coroutinesTest = "1.7.3"
+datastore = "1.0.0"
+espressoCore = "3.5.1"
+futures = "1.1.0"
+guava = "1.7.3"
+hilt = "2.48"
+hiltNavigationCompose = "1.1.0"
+junit = "4.13.2"
+kotlinPlugin = "1.8.0"
+lifecycleRuntimeKtx = "2.7.0"
+material = "1.8.0"
+mockitoCore = "5.2.0"
+navigationCompose = "2.7.6"
+profileinstaller = "1.3.1"
+protobuf = "3.21.12"
+protobuf-plugin = "0.9.1"
+robolectric = "4.11.1"
+testMonitor = "1.6.1"
+uiautomator = "2.2.0"
+viewmodelCompose = "2.7.0"
+
+[libraries]
+accompanist-permissions = { module = "com.google.accompanist:accompanist-permissions", version.ref = "accompanistPermissions" }
+android-material = { module = "com.google.android.material:material", version.ref = "material" }
+androidx-activity-compose = { module = "androidx.activity:activity-compose", version.ref = "androidxActivityCompose" }
+androidx-appcompat = { module = "androidx.appcompat:appcompat", version.ref = "androidxAppCompat" }
+androidx-benchmark-macro-junit4 = { module = "androidx.benchmark:benchmark-macro-junit4", version.ref = "benchmarkMacroJunit4" }
+androidx-core = { module = "androidx.core:core", version.ref = "androidxCore" }
+androidx-core-ktx = { module = "androidx.core:core-ktx", version.ref = "androidxCoreKtx" }
+androidx-datastore = { module = "androidx.datastore:datastore", version.ref = "datastore" }
+androidx-espresso-core = { module = "androidx.test.espresso:espresso-core", version.ref = "espressoCore" }
+androidx-junit = { module = "androidx.test.ext:junit", version.ref = "androidJunit" }
+androidx-lifecycle-runtime-ktx = { module = "androidx.lifecycle:lifecycle-runtime-ktx", version.ref = "lifecycleRuntimeKtx" }
+androidx-navigation-compose = { module = "androidx.navigation:navigation-compose", version.ref = "navigationCompose" }
+androidx-profileinstaller = { module = "androidx.profileinstaller:profileinstaller", version.ref = "profileinstaller" }
+androidx-rules = { module = "androidx.test:rules", version.ref = "coreKtx" }
+androidx-test-monitor = { module = "androidx.test:monitor", version.ref = "testMonitor" }
+androidx-tracing = { module = "androidx.tracing:tracing-ktx", version.ref = "androidxTracing" }
+androidx-uiautomator = { module = "androidx.test.uiautomator:uiautomator", version.ref = "uiautomator" }
+camera-camera2 = { module = "androidx.camera:camera-camera2", version.ref = "camerax" }
+camera-core = { module = "androidx.camera:camera-core", version.ref = "camerax" }
+camera-extensions = { module = "androidx.camera:camera-extensions", version.ref = "camerax" }
+camera-lifecycle = { module = "androidx.camera:camera-lifecycle", version.ref = "camerax" }
+camera-video = { module = "androidx.camera:camera-video", version.ref = "camerax" }
+camera-view = { module = "androidx.camera:camera-view", version.ref = "camerax" }
+compose-bom = { module = "androidx.compose:compose-bom", version.ref = "composeBom" }
+compose-junit = { module = "androidx.compose.ui:ui-test-junit4", version.ref = "compose" }
+compose-material3 = { module = "androidx.compose.material3:material3", version.ref = "composeMaterial3" }
+compose-test-manifest = { module = "androidx.compose.ui:ui-test-manifest", version.ref = "compose" }
+compose-ui-tooling = { module = "androidx.compose.ui:ui-tooling", version.ref = "compose" }
+compose-ui-tooling-preview = { module = "androidx.compose.ui:ui-tooling-preview", version.ref = "compose" }
+dagger-hilt-android = { module = "com.google.dagger:hilt-android", version.ref = "hilt" }
+dagger-hilt-compiler = { module = "com.google.dagger:hilt-compiler", version.ref = "hilt" }
+futures-ktx = { module = "androidx.concurrent:concurrent-futures-ktx", version.ref = "futures" }
+hilt-navigation-compose = { module = "androidx.hilt:hilt-navigation-compose", version.ref = "hiltNavigationCompose" }
+junit = { module = "junit:junit", version.ref = "junit" }
+kotlinx-coroutines-core = { module = "org.jetbrains.kotlinx:kotlinx-coroutines-core", version.ref = "coroutinesCore" }
+kotlinx-coroutines-guava = { module = "org.jetbrains.kotlinx:kotlinx-coroutines-guava", version.ref = "guava" }
+kotlinx-coroutines-test = { module = "org.jetbrains.kotlinx:kotlinx-coroutines-test", version.ref = "coroutinesTest" }
+lifecycle-viewmodel-compose = { module = "androidx.lifecycle:lifecycle-viewmodel-compose", version.ref = "viewmodelCompose" }
+mockito-core = { module = "org.mockito:mockito-core", version.ref = "mockitoCore" }
+protobuf-kotlin-lite = { module = "com.google.protobuf:protobuf-kotlin-lite", version.ref = "protobuf" }
+robolectric = { module = "org.robolectric:robolectric", version.ref = "robolectric" }
+
+[plugins]
+android-application = { id = "com.android.application", version.ref = "androidLibrary" }
+android-library = { id = "com.android.library", version.ref = "androidLibrary" }
+android-test = { id = "com.android.test", version.ref = "androidLibrary" }
+dagger-hilt-android = { id = "com.google.dagger.hilt.android", version.ref = "hilt" }
+google-protobuf = { id = "com.google.protobuf", version.ref = "protobuf-plugin" }
+kotlin-android = { id = "org.jetbrains.kotlin.android", version.ref = "kotlinPlugin" }
+kotlin-kapt = { id = "org.jetbrains.kotlin.kapt", version.ref = "kotlinPlugin" } \ No newline at end of file