diff --git a/app-nia-catalog/dependencies/releaseRuntimeClasspath.txt b/app-nia-catalog/dependencies/releaseRuntimeClasspath.txt index 0e249c4987..f1b71ef328 100644 --- a/app-nia-catalog/dependencies/releaseRuntimeClasspath.txt +++ b/app-nia-catalog/dependencies/releaseRuntimeClasspath.txt @@ -94,6 +94,7 @@ androidx.window.extensions.core:core:1.0.0 androidx.window:window-core-android:1.3.0-beta01 androidx.window:window-core:1.3.0-beta01 androidx.window:window:1.3.0-beta01 +com.emergetools.snapshots:snapshots-annotations:1.0.0 com.google.accompanist:accompanist-drawablepainter:0.32.0 com.google.code.findbugs:jsr305:3.0.2 com.google.dagger:dagger-lint-aar:2.51 @@ -119,4 +120,9 @@ org.jetbrains.kotlinx:kotlinx-coroutines-core-jvm:1.7.3 org.jetbrains.kotlinx:kotlinx-coroutines-core:1.7.3 org.jetbrains.kotlinx:kotlinx-datetime-jvm:0.5.0 org.jetbrains.kotlinx:kotlinx-datetime:0.5.0 +org.jetbrains.kotlinx:kotlinx-serialization-bom:1.5.1 +org.jetbrains.kotlinx:kotlinx-serialization-core-jvm:1.5.1 +org.jetbrains.kotlinx:kotlinx-serialization-core:1.5.1 +org.jetbrains.kotlinx:kotlinx-serialization-json-jvm:1.5.1 +org.jetbrains.kotlinx:kotlinx-serialization-json:1.5.1 org.jetbrains:annotations:23.0.0 diff --git a/app/dependencies/prodReleaseRuntimeClasspath.txt b/app/dependencies/prodReleaseRuntimeClasspath.txt index 019967d60e..d11a3f226e 100644 --- a/app/dependencies/prodReleaseRuntimeClasspath.txt +++ b/app/dependencies/prodReleaseRuntimeClasspath.txt @@ -138,6 +138,7 @@ androidx.window:window:1.3.0-beta01 androidx.work:work-runtime-ktx:2.9.0 androidx.work:work-runtime:2.9.0 com.caverock:androidsvg-aar:1.4 +com.emergetools.snapshots:snapshots-annotations:1.0.0 com.google.accompanist:accompanist-drawablepainter:0.32.0 com.google.accompanist:accompanist-permissions:0.34.0 com.google.android.datatransport:transport-api:3.0.0 diff --git a/app/prodRelease-badging.txt b/app/prodRelease-badging.txt index 769e0a6e4a..a9a5c7c88e 100644 --- a/app/prodRelease-badging.txt +++ b/app/prodRelease-badging.txt @@ -1,5 +1,5 @@ package: name='com.google.samples.apps.nowinandroid' versionCode='8' versionName='0.1.2' platformBuildVersionName='14' platformBuildVersionCode='34' compileSdkVersion='34' compileSdkVersionCodename='14' -sdkVersion:'21' +sdkVersion:'23' targetSdkVersion:'34' uses-permission: name='android.permission.INTERNET' uses-permission: name='android.permission.ACCESS_NETWORK_STATE' diff --git a/build-logic/convention/src/main/kotlin/com/google/samples/apps/nowinandroid/KotlinAndroid.kt b/build-logic/convention/src/main/kotlin/com/google/samples/apps/nowinandroid/KotlinAndroid.kt index f9a6717c30..f634561a58 100644 --- a/build-logic/convention/src/main/kotlin/com/google/samples/apps/nowinandroid/KotlinAndroid.kt +++ b/build-logic/convention/src/main/kotlin/com/google/samples/apps/nowinandroid/KotlinAndroid.kt @@ -36,7 +36,7 @@ internal fun Project.configureKotlinAndroid( compileSdk = 34 defaultConfig { - minSdk = 21 + minSdk = 23 } compileOptions { diff --git a/core/ui/build.gradle.kts b/core/ui/build.gradle.kts index 5d8a65d449..27501d996d 100644 --- a/core/ui/build.gradle.kts +++ b/core/ui/build.gradle.kts @@ -36,5 +36,7 @@ dependencies { implementation(libs.coil.kt) implementation(libs.coil.kt.compose) + implementation(libs.emerge.snapshots.annotations) + androidTestImplementation(projects.core.testing) } diff --git a/core/ui/src/main/kotlin/com/google/samples/apps/nowinandroid/core/ui/NewsFeed.kt b/core/ui/src/main/kotlin/com/google/samples/apps/nowinandroid/core/ui/NewsFeed.kt index afdb584a28..c565e837ac 100644 --- a/core/ui/src/main/kotlin/com/google/samples/apps/nowinandroid/core/ui/NewsFeed.kt +++ b/core/ui/src/main/kotlin/com/google/samples/apps/nowinandroid/core/ui/NewsFeed.kt @@ -37,6 +37,7 @@ import androidx.compose.ui.tooling.preview.Devices import androidx.compose.ui.tooling.preview.Preview import androidx.compose.ui.tooling.preview.PreviewParameter import androidx.compose.ui.unit.dp +import com.emergetools.snapshots.annotations.IgnoreEmergeSnapshot import com.google.samples.apps.nowinandroid.core.analytics.LocalAnalyticsHelper import com.google.samples.apps.nowinandroid.core.designsystem.theme.NiaTheme import com.google.samples.apps.nowinandroid.core.model.data.UserNewsResource @@ -124,6 +125,7 @@ sealed interface NewsFeedUiState { ) : NewsFeedUiState } +@IgnoreEmergeSnapshot @Preview @Composable private fun NewsFeedLoadingPreview() { diff --git a/feature/settings/build.gradle.kts b/feature/settings/build.gradle.kts index 4b9a72bdd0..b0a4365672 100644 --- a/feature/settings/build.gradle.kts +++ b/feature/settings/build.gradle.kts @@ -29,6 +29,8 @@ dependencies { implementation(libs.google.oss.licenses) implementation(projects.core.data) + implementation(libs.emerge.snapshots.annotations) + testImplementation(projects.core.testing) androidTestImplementation(projects.core.testing) diff --git a/feature/settings/src/main/kotlin/com/google/samples/apps/nowinandroid/feature/settings/SettingsDialog.kt b/feature/settings/src/main/kotlin/com/google/samples/apps/nowinandroid/feature/settings/SettingsDialog.kt index db60a64478..24952ca14b 100644 --- a/feature/settings/src/main/kotlin/com/google/samples/apps/nowinandroid/feature/settings/SettingsDialog.kt +++ b/feature/settings/src/main/kotlin/com/google/samples/apps/nowinandroid/feature/settings/SettingsDialog.kt @@ -55,6 +55,7 @@ import androidx.compose.ui.unit.dp import androidx.compose.ui.window.DialogProperties import androidx.hilt.navigation.compose.hiltViewModel import androidx.lifecycle.compose.collectAsStateWithLifecycle +import com.emergetools.snapshots.annotations.IgnoreEmergeSnapshot import com.google.android.gms.oss.licenses.OssLicensesMenuActivity import com.google.samples.apps.nowinandroid.core.designsystem.component.NiaTextButton import com.google.samples.apps.nowinandroid.core.designsystem.theme.NiaTheme @@ -284,6 +285,7 @@ private fun LinksPanel() { } } +@IgnoreEmergeSnapshot @Preview @Composable private fun PreviewSettingsDialog() { @@ -304,6 +306,7 @@ private fun PreviewSettingsDialog() { } } +@IgnoreEmergeSnapshot @Preview @Composable private fun PreviewSettingsDialogLoading() { diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index 9392208dfb..a138cb7f48 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -33,6 +33,7 @@ androidxWindowManager = "1.3.0-alpha03" androidxWork = "2.9.0" coil = "2.6.0" dependencyGuard = "0.5.0" +emergeSnapshots = "1.0.0" firebaseBom = "32.4.0" firebaseCrashlyticsPlugin = "2.9.9" firebasePerfPlugin = "1.4.2" @@ -109,6 +110,7 @@ androidx-work-testing = { group = "androidx.work", name = "work-testing", versio coil-kt = { group = "io.coil-kt", name = "coil", version.ref = "coil" } coil-kt-compose = { group = "io.coil-kt", name = "coil-compose", version.ref = "coil" } coil-kt-svg = { group = "io.coil-kt", name = "coil-svg", version.ref = "coil" } +emerge-snapshots-annotations = { module = "com.emergetools.snapshots:snapshots-annotations", version.ref = "emergeSnapshots" } firebase-analytics = { group = "com.google.firebase", name = "firebase-analytics-ktx" } firebase-bom = { group = "com.google.firebase", name = "firebase-bom", version.ref = "firebaseBom" } firebase-cloud-messaging = { group = "com.google.firebase", name = "firebase-messaging-ktx" }