Skip to content

Commit 29a5240

Browse files
authored
update dependencies and replace accompanist for Movie Detail (#109)
* update activityCompose and coil version * update truth version * update and streamline lottie version * update flinger version * replace accompanist with coil-compose in movie detail * update and streamline lifecycle dependencies * update playServiceMaps, loggingInterceptor, and gson version
1 parent 13397c4 commit 29a5240

File tree

6 files changed

+33
-28
lines changed

6 files changed

+33
-28
lines changed

buildSrc/src/main/kotlin/com/guru/composecookbook/build/dependencies/Dependencies.kt

Lines changed: 9 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ object Dependencies {
3131
const val composeViewModel =
3232
"androidx.lifecycle:lifecycle-viewmodel-compose:${Versions.lifecycleViewModelCompose}"
3333
const val composeActivity = "androidx.activity:activity-compose:${Versions.activityCompose}"
34-
const val composeLottie = "com.airbnb.android:lottie-compose:${Versions.lottieCompose}"
34+
const val composeLottie = "com.airbnb.android:lottie-compose:${Versions.lottie}"
3535
const val composeNavigation = "androidx.navigation:navigation-compose:${Versions.navCompose}"
3636

3737
const val composeUiTestJunit4 = "androidx.compose.ui:ui-test-junit4:${Versions.compose}"
@@ -53,23 +53,24 @@ object Dependencies {
5353
const val coilAccompanist =
5454
"com.google.accompanist:accompanist-coil:${Versions.accompanistCoil}"
5555
const val coilCompose = "io.coil-kt:coil-compose:${Versions.coilCompose}"
56-
const val lifecycleRuntimeKtx =
57-
"androidx.lifecycle:lifecycle-runtime-ktx:${Versions.lifecycleRuntimeKtx}"
5856
const val retrofit = "com.squareup.retrofit2:retrofit:${Versions.retrofit}"
5957
const val okHttpLoggingInterceptor =
6058
"com.squareup.okhttp3:logging-interceptor:${Versions.loggingInterceptor}"
6159
const val gson = "com.google.code.gson:gson:${Versions.gson}"
6260
const val okHttpGsonConverter =
6361
"com.squareup.retrofit2:converter-gson:${Versions.retrofitConverterGson}"
64-
const val coroutinesCore = "org.jetbrains.kotlinx:kotlinx-coroutines-core:${Versions.coroutines}"
62+
const val coroutinesCore =
63+
"org.jetbrains.kotlinx:kotlinx-coroutines-core:${Versions.coroutines}"
6564
const val coroutinesAndroid =
6665
"org.jetbrains.kotlinx:kotlinx-coroutines-android:${Versions.coroutines}"
67-
const val lifecycleExtensions =
68-
"androidx.lifecycle:lifecycle-extensions:${Versions.androidLifecycleGrouped}"
69-
const val liveDataKtx =
70-
"androidx.lifecycle:lifecycle-livedata-ktx:${Versions.androidLifecycleGrouped}"
7166
const val viewModelKtx =
7267
"androidx.lifecycle:lifecycle-viewmodel-ktx:${Versions.androidLifecycleGrouped}"
68+
const val liveDataKtx =
69+
"androidx.lifecycle:lifecycle-livedata-ktx:${Versions.androidLifecycleGrouped}"
70+
const val lifecycleRuntimeKtx =
71+
"androidx.lifecycle:lifecycle-runtime-ktx:${Versions.androidLifecycleGrouped}"
72+
const val lifecycleSavedState =
73+
"androidx.lifecycle:lifecycle-viewmodel-savedstate:${Versions.androidLifecycleGrouped}"
7374
const val junitJupiterApi = "org.junit.jupiter:junit-jupiter-api:${Versions.junitJupiterApi}"
7475
const val junitJupiterEngine =
7576
"org.junit.jupiter:junit-jupiter-engine:${Versions.junitJupiterEngine}"

buildSrc/src/main/kotlin/com/guru/composecookbook/build/dependencies/GroupedDependencies.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,7 @@ internal val coreAndroidUiDependencies = listOf(
5353
Dependencies.androidPaletteKtx,
5454
Dependencies.androidPagingRuntime,
5555
Dependencies.lifecycleRuntimeKtx,
56-
Dependencies.lifecycleExtensions,
56+
Dependencies.lifecycleSavedState,
5757
Dependencies.liveDataKtx,
5858
Dependencies.viewModelKtx
5959
)

buildSrc/src/main/kotlin/com/guru/composecookbook/build/dependencies/Versions.kt

Lines changed: 10 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -3,37 +3,35 @@ package com.guru.composecookbook.build.dependencies
33
internal object Versions {
44
const val compose = "1.0.0"
55
const val lifecycleViewModelCompose = "1.0.0-alpha08"
6-
const val activityCompose = "1.3.0-rc01"
6+
const val activityCompose = "1.3.0"
77
const val pagingCompose = "1.0.0-alpha12"
88
const val navCompose = "2.4.0-alpha05"
99
const val constraintLayoutCompose = "1.0.0-beta01"
10-
const val lottieCompose = "1.0.0-rc02-1"
1110
const val fontAwesomeCompose = "1.0.0-beta02"
1211
const val accompanistCoil = "0.14.0"
13-
const val coilCompose = "1.3.0"
12+
const val coilCompose = "1.3.1"
1413
const val kotlin = "1.5.10"
1514
const val coroutines = "1.5.1"
16-
const val androidLifecycleGrouped = "2.2.0"
17-
const val flinger = "1.0.0"
15+
const val androidLifecycleGrouped = "2.3.1"
16+
const val flinger = "1.0.5"
1817
const val paging = "3.0.1"
19-
const val lottie = "3.6.1"
18+
const val lottie = "4.0.0"
2019
const val room = "2.4.0-alpha03"
2120
const val coreKtx = "1.6.0"
2221
const val appcompat = "1.3.1"
2322
const val paletteKtx = "1.0.0"
2423
const val material = "1.4.0"
2524
const val playServicesAds = "19.6.0"
2625
const val googleMaps = "3.1.0-beta"
27-
const val playServicesMaps = "17.0.0"
28-
const val exoplayer = "2.14.0"
29-
const val lifecycleRuntimeKtx = "2.3.1"
30-
const val loggingInterceptor = "4.8.1"
26+
const val playServicesMaps = "17.0.1"
27+
const val exoplayer = "2.14.2"
28+
const val loggingInterceptor = "4.9.1"
3129
const val retrofit = "2.9.0"
32-
const val gson = "2.8.6"
30+
const val gson = "2.8.7"
3331
const val retrofitConverterGson = "2.9.0"
3432
const val multidex = "2.0.1"
3533
const val junitJupiterApi = "5.7.0"
3634
const val junitJupiterEngine = "5.7.0"
37-
const val truth = "1.1"
35+
const val truth = "1.1.3"
3836
const val androidXJunit = "1.1.2"
3937
}

demos/moviesapp/app/src/main/java/com/guru/composecookbook/moviesapp/ui/details/MovieDetailActivity.kt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,11 +6,13 @@ import android.os.Bundle
66
import android.view.WindowManager
77
import androidx.activity.ComponentActivity
88
import androidx.activity.compose.setContent
9+
import coil.annotation.ExperimentalCoilApi
910
import com.guru.composecookbook.moviesapp.data.db.models.Movie
1011
import com.guru.composecookbook.moviesapp.ui.details.components.MovieDetailContent
1112
import com.guru.composecookbook.theme.ComposeCookBookTheme
1213

1314

15+
@ExperimentalCoilApi
1416
class MovieDetailActivity : ComponentActivity() {
1517
val movie by lazy {
1618
intent.getSerializableExtra(MOVIE) as Movie?

demos/moviesapp/app/src/main/java/com/guru/composecookbook/moviesapp/ui/details/components/MovieDetailContent.kt

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -24,8 +24,9 @@ import androidx.compose.ui.text.font.FontWeight
2424
import androidx.compose.ui.unit.dp
2525
import androidx.compose.ui.unit.sp
2626
import androidx.lifecycle.viewmodel.compose.viewModel
27-
import com.google.accompanist.coil.rememberCoilPainter
28-
import com.google.accompanist.imageloading.ImageLoadState
27+
import coil.annotation.ExperimentalCoilApi
28+
import coil.compose.ImagePainter
29+
import coil.compose.rememberImagePainter
2930
import com.guru.composecookbook.moviesapp.data.db.models.Movie
3031
import com.guru.composecookbook.moviesapp.ui.details.MovieDetailViewModel
3132
import com.guru.composecookbook.moviesapp.ui.details.MovieDetailViewModelFactory
@@ -34,6 +35,7 @@ import com.guru.composecookbook.theme.graySurface
3435
import com.guru.composecookbook.theme.modifiers.verticalGradientBackground
3536
import com.guru.composecookbook.theme.typography
3637

38+
@ExperimentalCoilApi
3739
@Composable
3840
fun MovieDetailContent(movie: Movie, imageId: Int) {
3941
val expand = remember { mutableStateOf(false) }
@@ -61,8 +63,8 @@ fun MovieDetailContent(movie: Movie, imageId: Int) {
6163
)
6264
) {
6365
item {
64-
val painter = rememberCoilPainter(
65-
request = "https://image.tmdb.org/t/p/w500/${movie.poster_path}"
66+
val painter = rememberImagePainter(
67+
data = "https://image.tmdb.org/t/p/w500/${movie.poster_path}"
6668
)
6769
Image(
6870
painter = painter,
@@ -74,8 +76,8 @@ fun MovieDetailContent(movie: Movie, imageId: Int) {
7476
)
7577
.fillMaxWidth(),
7678
)
77-
when (painter.loadState) {
78-
is ImageLoadState.Success -> expand.value = true
79+
when (painter.state) {
80+
is ImagePainter.State.Success -> expand.value = true
7981
else -> expand.value = false
8082
}
8183
}

demos/moviesapp/app/src/main/java/com/guru/composecookbook/moviesapp/ui/home/MoviesHomeActivity.kt

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@ import androidx.compose.runtime.saveable.rememberSaveable
2121
import androidx.compose.ui.Modifier
2222
import androidx.compose.ui.platform.LocalContext
2323
import androidx.lifecycle.viewmodel.compose.viewModel
24+
import coil.annotation.ExperimentalCoilApi
2425
import com.guru.composecookbook.moviesapp.data.db.models.Movie
2526
import com.guru.composecookbook.moviesapp.ui.details.MovieDetailActivity
2627
import com.guru.composecookbook.moviesapp.ui.home.components.MovieHomeScreen
@@ -37,6 +38,7 @@ sealed class MoviesHomeInteractionEvents {
3738
data class RemoveFromMyWatchlist(val movie: Movie) : MoviesHomeInteractionEvents()
3839
}
3940

41+
@ExperimentalCoilApi
4042
class MoviesHomeActivity : ComponentActivity() {
4143
override fun onCreate(savedInstanceState: Bundle?) {
4244
super.onCreate(savedInstanceState)
@@ -100,7 +102,7 @@ class MoviesHomeActivity : ComponentActivity() {
100102
}
101103

102104
companion object {
103-
const val DARK_THEME = "darkTheme"
105+
private const val DARK_THEME = "darkTheme"
104106
fun newIntent(context: Context, isDarkTheme: Boolean) =
105107
Intent(context, MoviesHomeActivity::class.java).apply {
106108
putExtra(DARK_THEME, isDarkTheme)

0 commit comments

Comments
 (0)