From 0d51de2069bef59d27e4b87cac2dc4eb814d494e Mon Sep 17 00:00:00 2001 From: compose-devrel-github-bot Date: Fri, 30 Jan 2026 08:15:16 +0000 Subject: [PATCH 1/3] =?UTF-8?q?=F0=9F=A4=96=20Update=20Dependencies?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- JetLagged/gradle/libs.versions.toml | 24 ++++++++++++------------ JetNews/gradle/libs.versions.toml | 24 ++++++++++++------------ Jetchat/gradle/libs.versions.toml | 24 ++++++++++++------------ Jetsnack/gradle/libs.versions.toml | 24 ++++++++++++------------ Reply/gradle/libs.versions.toml | 24 ++++++++++++------------ 5 files changed, 60 insertions(+), 60 deletions(-) diff --git a/JetLagged/gradle/libs.versions.toml b/JetLagged/gradle/libs.versions.toml index 08ecfa53b..9df6cf01d 100644 --- a/JetLagged/gradle/libs.versions.toml +++ b/JetLagged/gradle/libs.versions.toml @@ -1,10 +1,10 @@ [versions] accompanist = "0.37.3" -android-material3 = "1.14.0-alpha08" -androidGradlePlugin = "8.13.2" -androidx-activity-compose = "1.12.2" +android-material3 = "1.14.0-alpha09" +androidGradlePlugin = "9.0.0" +androidx-activity-compose = "1.12.3" androidx-appcompat = "1.7.1" -androidx-compose-bom = "2026.01.00" +androidx-compose-bom = "2026.01.01" androidx-constraintlayout = "1.1.1" androidx-core-splashscreen = "1.2.0" androidx-corektx = "1.17.0" @@ -12,7 +12,7 @@ androidx-glance = "1.1.1" androidx-lifecycle = "2.8.2" androidx-lifecycle-compose = "2.10.0" androidx-lifecycle-runtime-compose = "2.10.0" -androidx-navigation = "2.9.6" +androidx-navigation = "2.9.7" androidx-palette = "1.0.0" androidx-test = "1.7.0" androidx-test-espresso = "3.7.0" @@ -30,26 +30,26 @@ compileSdk = "36" coroutines = "1.10.2" google-maps = "20.0.0" gradle-versions = "0.53.0" -hilt = "2.57.2" +hilt = "2.59" hiltExt = "1.3.0" horologist = "0.7.15" jdkDesugar = "2.1.5" junit = "4.13.2" kotlin = "2.3.0" -kotlinx-serialization-json = "1.9.0" +kotlinx-serialization-json = "1.10.0" kotlinx_immutable = "0.4.0" -ksp = "2.3.4" -maps-compose = "7.0.0" +ksp = "2.3.5" +maps-compose = "8.0.0" # @keep minSdk = "23" okhttp = "5.3.2" play-services-wearable = "19.0.0" -robolectric = "4.16" -roborazzi = "1.56.0" +robolectric = "4.16.1" +roborazzi = "1.57.0" rome = "2.1.0" room = "2.8.4" secrets = "2.0.1" -spotless = "8.1.0" +spotless = "8.2.1" # @keep targetSdk = "33" version-catalog-update = "1.0.1" diff --git a/JetNews/gradle/libs.versions.toml b/JetNews/gradle/libs.versions.toml index cf10a7f86..b9be095d9 100644 --- a/JetNews/gradle/libs.versions.toml +++ b/JetNews/gradle/libs.versions.toml @@ -4,11 +4,11 @@ ##### [versions] accompanist = "0.37.3" -android-material3 = "1.14.0-alpha08" -androidGradlePlugin = "8.13.2" -androidx-activity-compose = "1.12.2" +android-material3 = "1.14.0-alpha09" +androidGradlePlugin = "9.0.0" +androidx-activity-compose = "1.12.3" androidx-appcompat = "1.7.1" -androidx-compose-bom = "2026.01.00" +androidx-compose-bom = "2026.01.01" androidx-constraintlayout = "1.1.1" androidx-core-splashscreen = "1.2.0" androidx-corektx = "1.17.0" @@ -16,7 +16,7 @@ androidx-glance = "1.1.1" androidx-lifecycle = "2.8.2" androidx-lifecycle-compose = "2.10.0" androidx-lifecycle-runtime-compose = "2.10.0" -androidx-navigation = "2.9.6" +androidx-navigation = "2.9.7" androidx-palette = "1.0.0" androidx-test = "1.7.0" androidx-test-espresso = "3.7.0" @@ -34,26 +34,26 @@ compileSdk = "36" coroutines = "1.10.2" google-maps = "20.0.0" gradle-versions = "0.53.0" -hilt = "2.57.2" +hilt = "2.59" hiltExt = "1.3.0" horologist = "0.7.15" jdkDesugar = "2.1.5" junit = "4.13.2" kotlin = "2.3.0" -kotlinx-serialization-json = "1.9.0" +kotlinx-serialization-json = "1.10.0" kotlinx_immutable = "0.4.0" -ksp = "2.3.4" -maps-compose = "7.0.0" +ksp = "2.3.5" +maps-compose = "8.0.0" # @keep minSdk = "23" okhttp = "5.3.2" play-services-wearable = "19.0.0" -robolectric = "4.16" -roborazzi = "1.56.0" +robolectric = "4.16.1" +roborazzi = "1.57.0" rome = "2.1.0" room = "2.8.4" secrets = "2.0.1" -spotless = "8.1.0" +spotless = "8.2.1" # @keep targetSdk = "33" version-catalog-update = "1.0.1" diff --git a/Jetchat/gradle/libs.versions.toml b/Jetchat/gradle/libs.versions.toml index cf10a7f86..b9be095d9 100644 --- a/Jetchat/gradle/libs.versions.toml +++ b/Jetchat/gradle/libs.versions.toml @@ -4,11 +4,11 @@ ##### [versions] accompanist = "0.37.3" -android-material3 = "1.14.0-alpha08" -androidGradlePlugin = "8.13.2" -androidx-activity-compose = "1.12.2" +android-material3 = "1.14.0-alpha09" +androidGradlePlugin = "9.0.0" +androidx-activity-compose = "1.12.3" androidx-appcompat = "1.7.1" -androidx-compose-bom = "2026.01.00" +androidx-compose-bom = "2026.01.01" androidx-constraintlayout = "1.1.1" androidx-core-splashscreen = "1.2.0" androidx-corektx = "1.17.0" @@ -16,7 +16,7 @@ androidx-glance = "1.1.1" androidx-lifecycle = "2.8.2" androidx-lifecycle-compose = "2.10.0" androidx-lifecycle-runtime-compose = "2.10.0" -androidx-navigation = "2.9.6" +androidx-navigation = "2.9.7" androidx-palette = "1.0.0" androidx-test = "1.7.0" androidx-test-espresso = "3.7.0" @@ -34,26 +34,26 @@ compileSdk = "36" coroutines = "1.10.2" google-maps = "20.0.0" gradle-versions = "0.53.0" -hilt = "2.57.2" +hilt = "2.59" hiltExt = "1.3.0" horologist = "0.7.15" jdkDesugar = "2.1.5" junit = "4.13.2" kotlin = "2.3.0" -kotlinx-serialization-json = "1.9.0" +kotlinx-serialization-json = "1.10.0" kotlinx_immutable = "0.4.0" -ksp = "2.3.4" -maps-compose = "7.0.0" +ksp = "2.3.5" +maps-compose = "8.0.0" # @keep minSdk = "23" okhttp = "5.3.2" play-services-wearable = "19.0.0" -robolectric = "4.16" -roborazzi = "1.56.0" +robolectric = "4.16.1" +roborazzi = "1.57.0" rome = "2.1.0" room = "2.8.4" secrets = "2.0.1" -spotless = "8.1.0" +spotless = "8.2.1" # @keep targetSdk = "33" version-catalog-update = "1.0.1" diff --git a/Jetsnack/gradle/libs.versions.toml b/Jetsnack/gradle/libs.versions.toml index 44f1cca7a..9b01ac78d 100644 --- a/Jetsnack/gradle/libs.versions.toml +++ b/Jetsnack/gradle/libs.versions.toml @@ -1,10 +1,10 @@ [versions] accompanist = "0.37.3" -android-material3 = "1.14.0-alpha08" -androidGradlePlugin = "8.13.2" -androidx-activity-compose = "1.12.2" +android-material3 = "1.14.0-alpha09" +androidGradlePlugin = "9.0.0" +androidx-activity-compose = "1.12.3" androidx-appcompat = "1.7.1" -androidx-compose-bom = "2026.01.00" +androidx-compose-bom = "2026.01.01" androidx-constraintlayout = "1.1.1" androidx-core-splashscreen = "1.2.0" androidx-corektx = "1.17.0" @@ -12,7 +12,7 @@ androidx-glance = "1.2.0-rc01" androidx-lifecycle = "2.8.2" androidx-lifecycle-compose = "2.10.0" androidx-lifecycle-runtime-compose = "2.10.0" -androidx-navigation = "2.9.6" +androidx-navigation = "2.9.7" androidx-palette = "1.0.0" androidx-test = "1.7.0" androidx-test-espresso = "3.7.0" @@ -31,26 +31,26 @@ coroutines = "1.10.2" glancePreview = "1.1.1" google-maps = "20.0.0" gradle-versions = "0.53.0" -hilt = "2.57.2" +hilt = "2.59" hiltExt = "1.3.0" horologist = "0.7.15" jdkDesugar = "2.1.5" junit = "4.13.2" kotlin = "2.3.0" -kotlinx-serialization-json = "1.9.0" +kotlinx-serialization-json = "1.10.0" kotlinx_immutable = "0.4.0" -ksp = "2.3.4" -maps-compose = "7.0.0" +ksp = "2.3.5" +maps-compose = "8.0.0" # @keep minSdk = "23" okhttp = "5.3.2" play-services-wearable = "19.0.0" -robolectric = "4.16" -roborazzi = "1.56.0" +robolectric = "4.16.1" +roborazzi = "1.57.0" rome = "2.1.0" room = "2.8.4" secrets = "2.0.1" -spotless = "8.1.0" +spotless = "8.2.1" # @keep targetSdk = "36" version-catalog-update = "1.0.1" diff --git a/Reply/gradle/libs.versions.toml b/Reply/gradle/libs.versions.toml index cf10a7f86..b9be095d9 100644 --- a/Reply/gradle/libs.versions.toml +++ b/Reply/gradle/libs.versions.toml @@ -4,11 +4,11 @@ ##### [versions] accompanist = "0.37.3" -android-material3 = "1.14.0-alpha08" -androidGradlePlugin = "8.13.2" -androidx-activity-compose = "1.12.2" +android-material3 = "1.14.0-alpha09" +androidGradlePlugin = "9.0.0" +androidx-activity-compose = "1.12.3" androidx-appcompat = "1.7.1" -androidx-compose-bom = "2026.01.00" +androidx-compose-bom = "2026.01.01" androidx-constraintlayout = "1.1.1" androidx-core-splashscreen = "1.2.0" androidx-corektx = "1.17.0" @@ -16,7 +16,7 @@ androidx-glance = "1.1.1" androidx-lifecycle = "2.8.2" androidx-lifecycle-compose = "2.10.0" androidx-lifecycle-runtime-compose = "2.10.0" -androidx-navigation = "2.9.6" +androidx-navigation = "2.9.7" androidx-palette = "1.0.0" androidx-test = "1.7.0" androidx-test-espresso = "3.7.0" @@ -34,26 +34,26 @@ compileSdk = "36" coroutines = "1.10.2" google-maps = "20.0.0" gradle-versions = "0.53.0" -hilt = "2.57.2" +hilt = "2.59" hiltExt = "1.3.0" horologist = "0.7.15" jdkDesugar = "2.1.5" junit = "4.13.2" kotlin = "2.3.0" -kotlinx-serialization-json = "1.9.0" +kotlinx-serialization-json = "1.10.0" kotlinx_immutable = "0.4.0" -ksp = "2.3.4" -maps-compose = "7.0.0" +ksp = "2.3.5" +maps-compose = "8.0.0" # @keep minSdk = "23" okhttp = "5.3.2" play-services-wearable = "19.0.0" -robolectric = "4.16" -roborazzi = "1.56.0" +robolectric = "4.16.1" +roborazzi = "1.57.0" rome = "2.1.0" room = "2.8.4" secrets = "2.0.1" -spotless = "8.1.0" +spotless = "8.2.1" # @keep targetSdk = "33" version-catalog-update = "1.0.1" From 628199c547b2e0c0cfd564efa4f025fc147b11f5 Mon Sep 17 00:00:00 2001 From: Srikrishna Sakunia Date: Fri, 30 Jan 2026 14:28:20 +0530 Subject: [PATCH 2/3] * Updates the gradle-wrapper distributionUrl to 9.1.0. * Removes the manual application of the kotlin-android plugin, as Kotlin support is included by default in Android Gradle Plugin 9.0. --- JetLagged/app/build.gradle.kts | 1 - JetLagged/gradle/wrapper/gradle-wrapper.properties | 3 ++- JetNews/app/build.gradle.kts | 1 - JetNews/gradle/wrapper/gradle-wrapper.properties | 3 ++- Jetchat/app/build.gradle.kts | 1 - Jetchat/gradle/wrapper/gradle-wrapper.properties | 3 ++- Jetsnack/app/build.gradle.kts | 1 - Jetsnack/gradle/wrapper/gradle-wrapper.properties | 3 ++- Reply/app/build.gradle.kts | 1 - Reply/gradle/wrapper/gradle-wrapper.properties | 3 ++- 10 files changed, 10 insertions(+), 10 deletions(-) diff --git a/JetLagged/app/build.gradle.kts b/JetLagged/app/build.gradle.kts index 3b512329e..a3da6afde 100644 --- a/JetLagged/app/build.gradle.kts +++ b/JetLagged/app/build.gradle.kts @@ -19,7 +19,6 @@ import org.jetbrains.kotlin.gradle.dsl.JvmTarget plugins { alias(libs.plugins.android.application) - alias(libs.plugins.kotlin.android) alias(libs.plugins.kotlin.parcelize) alias(libs.plugins.compose) } diff --git a/JetLagged/gradle/wrapper/gradle-wrapper.properties b/JetLagged/gradle/wrapper/gradle-wrapper.properties index d6c8bc7bf..e2e4d002f 100644 --- a/JetLagged/gradle/wrapper/gradle-wrapper.properties +++ b/JetLagged/gradle/wrapper/gradle-wrapper.properties @@ -14,6 +14,7 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-8.13-bin.zip +distributionSha256Sum=a17ddd85a26b6a7f5ddb71ff8b05fc5104c0202c6e64782429790c933686c806 +distributionUrl=https\://services.gradle.org/distributions/gradle-9.1.0-bin.zip zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists diff --git a/JetNews/app/build.gradle.kts b/JetNews/app/build.gradle.kts index a962e86ca..6fee8c50b 100644 --- a/JetNews/app/build.gradle.kts +++ b/JetNews/app/build.gradle.kts @@ -19,7 +19,6 @@ import org.jetbrains.kotlin.gradle.dsl.JvmTarget plugins { alias(libs.plugins.android.application) - alias(libs.plugins.kotlin.android) alias(libs.plugins.compose) } diff --git a/JetNews/gradle/wrapper/gradle-wrapper.properties b/JetNews/gradle/wrapper/gradle-wrapper.properties index d6c8bc7bf..e2e4d002f 100644 --- a/JetNews/gradle/wrapper/gradle-wrapper.properties +++ b/JetNews/gradle/wrapper/gradle-wrapper.properties @@ -14,6 +14,7 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-8.13-bin.zip +distributionSha256Sum=a17ddd85a26b6a7f5ddb71ff8b05fc5104c0202c6e64782429790c933686c806 +distributionUrl=https\://services.gradle.org/distributions/gradle-9.1.0-bin.zip zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists diff --git a/Jetchat/app/build.gradle.kts b/Jetchat/app/build.gradle.kts index 1a37c1026..4cdae3e2d 100644 --- a/Jetchat/app/build.gradle.kts +++ b/Jetchat/app/build.gradle.kts @@ -19,7 +19,6 @@ import org.jetbrains.kotlin.gradle.dsl.JvmTarget plugins { alias(libs.plugins.android.application) - alias(libs.plugins.kotlin.android) alias(libs.plugins.compose) } diff --git a/Jetchat/gradle/wrapper/gradle-wrapper.properties b/Jetchat/gradle/wrapper/gradle-wrapper.properties index d6c8bc7bf..e2e4d002f 100644 --- a/Jetchat/gradle/wrapper/gradle-wrapper.properties +++ b/Jetchat/gradle/wrapper/gradle-wrapper.properties @@ -14,6 +14,7 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-8.13-bin.zip +distributionSha256Sum=a17ddd85a26b6a7f5ddb71ff8b05fc5104c0202c6e64782429790c933686c806 +distributionUrl=https\://services.gradle.org/distributions/gradle-9.1.0-bin.zip zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists diff --git a/Jetsnack/app/build.gradle.kts b/Jetsnack/app/build.gradle.kts index 02830b134..b66ac2188 100644 --- a/Jetsnack/app/build.gradle.kts +++ b/Jetsnack/app/build.gradle.kts @@ -19,7 +19,6 @@ import org.jetbrains.kotlin.gradle.dsl.JvmTarget plugins { alias(libs.plugins.android.application) - alias(libs.plugins.kotlin.android) alias(libs.plugins.kotlin.parcelize) alias(libs.plugins.compose) } diff --git a/Jetsnack/gradle/wrapper/gradle-wrapper.properties b/Jetsnack/gradle/wrapper/gradle-wrapper.properties index d6c8bc7bf..e2e4d002f 100644 --- a/Jetsnack/gradle/wrapper/gradle-wrapper.properties +++ b/Jetsnack/gradle/wrapper/gradle-wrapper.properties @@ -14,6 +14,7 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-8.13-bin.zip +distributionSha256Sum=a17ddd85a26b6a7f5ddb71ff8b05fc5104c0202c6e64782429790c933686c806 +distributionUrl=https\://services.gradle.org/distributions/gradle-9.1.0-bin.zip zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists diff --git a/Reply/app/build.gradle.kts b/Reply/app/build.gradle.kts index 87ba9cf01..5038a41d7 100644 --- a/Reply/app/build.gradle.kts +++ b/Reply/app/build.gradle.kts @@ -19,7 +19,6 @@ import org.jetbrains.kotlin.gradle.dsl.JvmTarget plugins { alias(libs.plugins.android.application) - alias(libs.plugins.kotlin.android) alias(libs.plugins.kotlin.serialization) alias(libs.plugins.compose) } diff --git a/Reply/gradle/wrapper/gradle-wrapper.properties b/Reply/gradle/wrapper/gradle-wrapper.properties index d6c8bc7bf..e2e4d002f 100644 --- a/Reply/gradle/wrapper/gradle-wrapper.properties +++ b/Reply/gradle/wrapper/gradle-wrapper.properties @@ -14,6 +14,7 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-8.13-bin.zip +distributionSha256Sum=a17ddd85a26b6a7f5ddb71ff8b05fc5104c0202c6e64782429790c933686c806 +distributionUrl=https\://services.gradle.org/distributions/gradle-9.1.0-bin.zip zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists From 0682504e8f3c070e471b1c5571945f3cce09c5a2 Mon Sep 17 00:00:00 2001 From: Srikrishna Sakunia Date: Fri, 30 Jan 2026 18:09:07 +0530 Subject: [PATCH 3/3] Applied spotless --- .../src/main/java/com/example/jetlagged/sleep/SleepBar.kt | 4 ++-- .../java/com/example/jetnews/ui/article/PostContent.kt | 3 +++ .../main/java/com/example/jetnews/ui/home/HomeRoute.kt | 4 ++++ .../java/com/example/jetnews/ui/home/HomeViewModel.kt | 1 + .../com/example/jetnews/ui/interests/InterestsScreen.kt | 1 + .../compose/jetchat/conversation/MessageFormatter.kt | 6 ++++++ .../com/example/compose/jetchat/conversation/UserInput.kt | 5 +++++ .../main/java/com/example/compose/jetchat/theme/Themes.kt | 3 +++ .../java/com/example/jetsnack/ui/home/DestinationBar.kt | 2 +- .../java/com/example/jetsnack/ui/home/search/Search.kt | 1 + .../com/example/jetsnack/ui/snackdetail/SnackDetail.kt | 2 +- .../jetsnack/widget/data/RecentOrdersDataRepository.kt | 2 +- Reply/app/src/main/java/com/example/reply/ui/ReplyApp.kt | 3 +++ .../main/java/com/example/reply/ui/ReplyHomeViewModel.kt | 4 +--- .../main/java/com/example/reply/ui/ReplyListContent.kt | 4 +--- .../reply/ui/navigation/ReplyNavigationComponents.kt | 8 ++++++++ 16 files changed, 42 insertions(+), 11 deletions(-) diff --git a/JetLagged/app/src/main/java/com/example/jetlagged/sleep/SleepBar.kt b/JetLagged/app/src/main/java/com/example/jetlagged/sleep/SleepBar.kt index 8a1a962a2..726a3112f 100644 --- a/JetLagged/app/src/main/java/com/example/jetlagged/sleep/SleepBar.kt +++ b/JetLagged/app/src/main/java/com/example/jetlagged/sleep/SleepBar.kt @@ -124,7 +124,7 @@ private fun SleepRoundedBar(sleepData: SleepDayData, transition: Transition if (targetExpanded) 100.dp else 24.dp @@ -133,7 +133,7 @@ private fun SleepRoundedBar(sleepData: SleepDayData, transition: Transition if (target) 1f else 0f diff --git a/JetNews/app/src/main/java/com/example/jetnews/ui/article/PostContent.kt b/JetNews/app/src/main/java/com/example/jetnews/ui/article/PostContent.kt index 4412aa155..8337ccbae 100644 --- a/JetNews/app/src/main/java/com/example/jetnews/ui/article/PostContent.kt +++ b/JetNews/app/src/main/java/com/example/jetnews/ui/article/PostContent.kt @@ -246,7 +246,9 @@ private fun ParagraphType.getTextAndParagraphStyle(): ParagraphStyling { when (this) { ParagraphType.Caption -> textStyle = typography.labelMedium + ParagraphType.Title -> textStyle = typography.headlineLarge + ParagraphType.Subhead -> { textStyle = typography.headlineSmall trailingPadding = 16.dp @@ -266,6 +268,7 @@ private fun ParagraphType.getTextAndParagraphStyle(): ParagraphStyling { ) ParagraphType.Quote -> textStyle = typography.bodyLarge + ParagraphType.Bullet -> { paragraphStyle = ParagraphStyle(textIndent = TextIndent(firstLine = 8.sp)) } diff --git a/JetNews/app/src/main/java/com/example/jetnews/ui/home/HomeRoute.kt b/JetNews/app/src/main/java/com/example/jetnews/ui/home/HomeRoute.kt index f991bac8b..47da7d402 100644 --- a/JetNews/app/src/main/java/com/example/jetnews/ui/home/HomeRoute.kt +++ b/JetNews/app/src/main/java/com/example/jetnews/ui/home/HomeRoute.kt @@ -128,6 +128,7 @@ fun HomeRoute( onSearchInputChanged = onSearchInputChanged, ) } + HomeScreenType.Feed -> { HomeFeedScreen( uiState = uiState, @@ -142,6 +143,7 @@ fun HomeRoute( onSearchInputChanged = onSearchInputChanged, ) } + HomeScreenType.ArticleDetails -> { // Guaranteed by above condition for home screen type check(uiState is HomeUiState.HasPosts) @@ -198,8 +200,10 @@ private fun getHomeScreenType(isExpandedScreen: Boolean, uiState: HomeUiState): HomeScreenType.Feed } } + is HomeUiState.NoPosts -> HomeScreenType.Feed } } + true -> HomeScreenType.FeedWithArticleDetails } diff --git a/JetNews/app/src/main/java/com/example/jetnews/ui/home/HomeViewModel.kt b/JetNews/app/src/main/java/com/example/jetnews/ui/home/HomeViewModel.kt index cfc8fccb6..04170bf8c 100644 --- a/JetNews/app/src/main/java/com/example/jetnews/ui/home/HomeViewModel.kt +++ b/JetNews/app/src/main/java/com/example/jetnews/ui/home/HomeViewModel.kt @@ -156,6 +156,7 @@ class HomeViewModel(private val postsRepository: PostsRepository, preSelectedPos viewModelState.update { when (result) { is Result.Success -> it.copy(postsFeed = result.data, isLoading = false) + is Result.Error -> { val errorMessages = it.errorMessages + ErrorMessage( id = UUID.randomUUID().mostSignificantBits, diff --git a/JetNews/app/src/main/java/com/example/jetnews/ui/interests/InterestsScreen.kt b/JetNews/app/src/main/java/com/example/jetnews/ui/interests/InterestsScreen.kt index db72afa37..0e3966f83 100644 --- a/JetNews/app/src/main/java/com/example/jetnews/ui/interests/InterestsScreen.kt +++ b/JetNews/app/src/main/java/com/example/jetnews/ui/interests/InterestsScreen.kt @@ -363,6 +363,7 @@ private fun InterestsTabRow( InterestsTabRowContent(selectedTabIndex, updateSection, tabContent) } } + true -> { ScrollableTabRow( selectedTabIndex = selectedTabIndex, diff --git a/Jetchat/app/src/main/java/com/example/compose/jetchat/conversation/MessageFormatter.kt b/Jetchat/app/src/main/java/com/example/compose/jetchat/conversation/MessageFormatter.kt index 6e55ed245..bcc656edd 100644 --- a/Jetchat/app/src/main/java/com/example/compose/jetchat/conversation/MessageFormatter.kt +++ b/Jetchat/app/src/main/java/com/example/compose/jetchat/conversation/MessageFormatter.kt @@ -126,6 +126,7 @@ private fun getSymbolAnnotation( tag = SymbolAnnotationType.PERSON.name, ), ) + '*' -> SymbolAnnotation( AnnotatedString( text = matchResult.value.trim('*'), @@ -133,6 +134,7 @@ private fun getSymbolAnnotation( ), null, ) + '_' -> SymbolAnnotation( AnnotatedString( text = matchResult.value.trim('_'), @@ -140,6 +142,7 @@ private fun getSymbolAnnotation( ), null, ) + '~' -> SymbolAnnotation( AnnotatedString( text = matchResult.value.trim('~'), @@ -147,6 +150,7 @@ private fun getSymbolAnnotation( ), null, ) + '`' -> SymbolAnnotation( AnnotatedString( text = matchResult.value.trim('`'), @@ -159,6 +163,7 @@ private fun getSymbolAnnotation( ), null, ) + 'h' -> SymbolAnnotation( AnnotatedString( text = matchResult.value, @@ -173,6 +178,7 @@ private fun getSymbolAnnotation( tag = SymbolAnnotationType.LINK.name, ), ) + else -> SymbolAnnotation(AnnotatedString(matchResult.value), null) } } diff --git a/Jetchat/app/src/main/java/com/example/compose/jetchat/conversation/UserInput.kt b/Jetchat/app/src/main/java/com/example/compose/jetchat/conversation/UserInput.kt index 89d696ecc..cc5df57bd 100644 --- a/Jetchat/app/src/main/java/com/example/compose/jetchat/conversation/UserInput.kt +++ b/Jetchat/app/src/main/java/com/example/compose/jetchat/conversation/UserInput.kt @@ -224,10 +224,15 @@ private fun SelectorExpanded(currentSelector: InputSelector, onCloseRequested: ( Surface(tonalElevation = 8.dp) { when (currentSelector) { InputSelector.EMOJI -> EmojiSelector(onTextAdded, focusRequester) + InputSelector.DM -> NotAvailablePopup(onCloseRequested) + InputSelector.PICTURE -> FunctionalityNotAvailablePanel() + InputSelector.MAP -> FunctionalityNotAvailablePanel() + InputSelector.PHONE -> FunctionalityNotAvailablePanel() + else -> { throw NotImplementedError() } diff --git a/Jetchat/app/src/main/java/com/example/compose/jetchat/theme/Themes.kt b/Jetchat/app/src/main/java/com/example/compose/jetchat/theme/Themes.kt index e1f347096..c323fcd1b 100644 --- a/Jetchat/app/src/main/java/com/example/compose/jetchat/theme/Themes.kt +++ b/Jetchat/app/src/main/java/com/example/compose/jetchat/theme/Themes.kt @@ -94,10 +94,13 @@ fun JetchatTheme(isDarkTheme: Boolean = isSystemInDarkTheme(), isDynamicColor: B dynamicColor && isDarkTheme -> { dynamicDarkColorScheme(LocalContext.current) } + dynamicColor && !isDarkTheme -> { dynamicLightColorScheme(LocalContext.current) } + isDarkTheme -> JetchatDarkColorScheme + else -> JetchatLightColorScheme } diff --git a/Jetsnack/app/src/main/java/com/example/jetsnack/ui/home/DestinationBar.kt b/Jetsnack/app/src/main/java/com/example/jetsnack/ui/home/DestinationBar.kt index b0189188b..b706ea8bb 100644 --- a/Jetsnack/app/src/main/java/com/example/jetsnack/ui/home/DestinationBar.kt +++ b/Jetsnack/app/src/main/java/com/example/jetsnack/ui/home/DestinationBar.kt @@ -89,7 +89,7 @@ fun DestinationBar(modifier: Modifier = Modifier) { painter = painterResource(id = R.drawable.ic_expand_more), tint = JetsnackTheme.colors.brand, contentDescription = - stringResource(R.string.label_select_delivery), + stringResource(R.string.label_select_delivery), ) } } diff --git a/Jetsnack/app/src/main/java/com/example/jetsnack/ui/home/search/Search.kt b/Jetsnack/app/src/main/java/com/example/jetsnack/ui/home/search/Search.kt index 4f7f4426b..33e84c51e 100644 --- a/Jetsnack/app/src/main/java/com/example/jetsnack/ui/home/search/Search.kt +++ b/Jetsnack/app/src/main/java/com/example/jetsnack/ui/home/search/Search.kt @@ -84,6 +84,7 @@ fun Search(onSnackClick: (Long, String) -> Unit, modifier: Modifier = Modifier, } when (state.searchDisplay) { SearchDisplay.Categories -> SearchCategories(state.categories) + SearchDisplay.Suggestions -> SearchSuggestions( suggestions = state.suggestions, onSuggestionSelect = { suggestion -> diff --git a/Jetsnack/app/src/main/java/com/example/jetsnack/ui/snackdetail/SnackDetail.kt b/Jetsnack/app/src/main/java/com/example/jetsnack/ui/snackdetail/SnackDetail.kt index 4fc99c3bc..32cf6dd0c 100644 --- a/Jetsnack/app/src/main/java/com/example/jetsnack/ui/snackdetail/SnackDetail.kt +++ b/Jetsnack/app/src/main/java/com/example/jetsnack/ui/snackdetail/SnackDetail.kt @@ -171,7 +171,7 @@ fun SnackDetail(snackId: Long, origin: String, upPress: () -> Unit) { ), animatedVisibilityScope, clipInOverlayDuringTransition = - OverlayClip(RoundedCornerShape(roundedCornerAnim)), + OverlayClip(RoundedCornerShape(roundedCornerAnim)), boundsTransform = snackDetailBoundsTransform, exit = fadeOut(nonSpatialExpressiveSpring()), enter = fadeIn(nonSpatialExpressiveSpring()), diff --git a/Jetsnack/app/src/main/java/com/example/jetsnack/widget/data/RecentOrdersDataRepository.kt b/Jetsnack/app/src/main/java/com/example/jetsnack/widget/data/RecentOrdersDataRepository.kt index f5eb2954d..3a1b6a711 100644 --- a/Jetsnack/app/src/main/java/com/example/jetsnack/widget/data/RecentOrdersDataRepository.kt +++ b/Jetsnack/app/src/main/java/com/example/jetsnack/widget/data/RecentOrdersDataRepository.kt @@ -62,7 +62,7 @@ class RecentOrdersDataRepository { supportingImage = item.supportingImage, trailingIconButton = R.drawable.add_shopping_cart, trailingIconButtonContentDescription = - getString(context, R.string.add_to_cart_content_description), + getString(context, R.string.add_to_cart_content_description), snackKeys = item.snackKeys, ) } diff --git a/Reply/app/src/main/java/com/example/reply/ui/ReplyApp.kt b/Reply/app/src/main/java/com/example/reply/ui/ReplyApp.kt index 6bb0d593a..921f8e314 100644 --- a/Reply/app/src/main/java/com/example/reply/ui/ReplyApp.kt +++ b/Reply/app/src/main/java/com/example/reply/ui/ReplyApp.kt @@ -75,12 +75,15 @@ fun ReplyApp( val contentType = when (windowSize.widthSizeClass) { WindowWidthSizeClass.Compact -> ReplyContentType.SINGLE_PANE + WindowWidthSizeClass.Medium -> if (foldingDevicePosture != DevicePosture.NormalPosture) { ReplyContentType.DUAL_PANE } else { ReplyContentType.SINGLE_PANE } + WindowWidthSizeClass.Expanded -> ReplyContentType.DUAL_PANE + else -> ReplyContentType.SINGLE_PANE } diff --git a/Reply/app/src/main/java/com/example/reply/ui/ReplyHomeViewModel.kt b/Reply/app/src/main/java/com/example/reply/ui/ReplyHomeViewModel.kt index 01628d0a2..4e84dd04b 100644 --- a/Reply/app/src/main/java/com/example/reply/ui/ReplyHomeViewModel.kt +++ b/Reply/app/src/main/java/com/example/reply/ui/ReplyHomeViewModel.kt @@ -44,9 +44,7 @@ class ReplyHomeViewModel(private val emailsRepository: EmailsRepository = Emails _uiState.value = ReplyHomeUIState(error = ex.message) } .collect { emails -> - /** - * We set first email selected by default for first App launch in large-screens - */ + // We set first email selected by default for first App launch in large-screens _uiState.value = ReplyHomeUIState( emails = emails, openedEmail = emails.first(), diff --git a/Reply/app/src/main/java/com/example/reply/ui/ReplyListContent.kt b/Reply/app/src/main/java/com/example/reply/ui/ReplyListContent.kt index b1838fb3f..da3fc1c89 100644 --- a/Reply/app/src/main/java/com/example/reply/ui/ReplyListContent.kt +++ b/Reply/app/src/main/java/com/example/reply/ui/ReplyListContent.kt @@ -66,9 +66,7 @@ fun ReplyInboxScreen( toggleSelectedEmail: (Long) -> Unit, modifier: Modifier = Modifier, ) { - /** - * When moving from LIST_AND_DETAIL page to LIST page clear the selection and user should see LIST screen. - */ + // When moving from LIST_AND_DETAIL page to LIST page clear the selection and user should see LIST screen. LaunchedEffect(key1 = contentType) { if (contentType == ReplyContentType.SINGLE_PANE && !replyHomeUIState.isDetailOnlyOpen) { closeDetailScreen() diff --git a/Reply/app/src/main/java/com/example/reply/ui/navigation/ReplyNavigationComponents.kt b/Reply/app/src/main/java/com/example/reply/ui/navigation/ReplyNavigationComponents.kt index 1826fd29e..856a6b738 100644 --- a/Reply/app/src/main/java/com/example/reply/ui/navigation/ReplyNavigationComponents.kt +++ b/Reply/app/src/main/java/com/example/reply/ui/navigation/ReplyNavigationComponents.kt @@ -94,16 +94,21 @@ fun ReplyNavigationWrapper( val navLayoutType = when { adaptiveInfo.windowPosture.isTabletop -> NavigationSuiteType.NavigationBar + adaptiveInfo.windowSizeClass.isCompact() -> NavigationSuiteType.NavigationBar + adaptiveInfo.windowSizeClass.windowWidthSizeClass == WindowWidthSizeClass.EXPANDED && windowSize.width >= 1200.dp -> NavigationSuiteType.NavigationDrawer + else -> NavigationSuiteType.NavigationRail } val navContentPosition = when (adaptiveInfo.windowSizeClass.windowHeightSizeClass) { WindowHeightSizeClass.COMPACT -> ReplyNavigationContentPosition.TOP + WindowHeightSizeClass.MEDIUM, WindowHeightSizeClass.EXPANDED, -> ReplyNavigationContentPosition.CENTER + else -> ReplyNavigationContentPosition.TOP } @@ -144,6 +149,7 @@ fun ReplyNavigationWrapper( currentDestination = currentDestination, navigateToTopLevelDestination = navigateToTopLevelDestination, ) + NavigationSuiteType.NavigationRail -> ReplyNavigationRail( currentDestination = currentDestination, navigationContentPosition = navContentPosition, @@ -154,6 +160,7 @@ fun ReplyNavigationWrapper( } }, ) + NavigationSuiteType.NavigationDrawer -> PermanentNavigationDrawerContent( currentDestination = currentDestination, navigationContentPosition = navContentPosition, @@ -458,6 +465,7 @@ fun navigationMeasurePolicy(navigationContentPosition: ReplyNavigationContentPos // Figure out the place we want to place the content, with respect to the // parent (ignoring the header for now) ReplyNavigationContentPosition.TOP -> 0 + ReplyNavigationContentPosition.CENTER -> nonContentVerticalSpace / 2 } // And finally, make sure we don't overlap with the header.