Skip to content

Commit a56bed7

Browse files
Merge pull request #287 from myofficework000/upgrade
upgraded dependencies
2 parents 1730b4a + 38aa029 commit a56bed7

File tree

22 files changed

+187
-164
lines changed

22 files changed

+187
-164
lines changed

app/build.gradle

Lines changed: 68 additions & 68 deletions
Original file line numberDiff line numberDiff line change
@@ -7,11 +7,12 @@ plugins {
77
id 'com.google.android.libraries.mapsplatform.secrets-gradle-plugin'
88
id 'com.apollographql.apollo3'
99
id 'com.google.firebase.crashlytics'
10+
id("org.jetbrains.kotlin.plugin.compose") version "2.2.0"
1011
}
1112

1213
android {
1314
namespace 'com.example.jetpack_compose_all_in_one'
14-
compileSdk 34
15+
compileSdk 35
1516

1617
Properties properties = new Properties()
1718
properties.load(project.rootProject.file('local.properties').newDataInputStream())
@@ -21,7 +22,7 @@ android {
2122
defaultConfig {
2223
applicationId "com.example.jetpack_compose_all_in_one"
2324
minSdk 29
24-
targetSdk 34
25+
targetSdk 35
2526
versionCode 1
2627
versionName "1.0"
2728

@@ -55,9 +56,7 @@ android {
5556
buildFeatures {
5657
compose true
5758
}
58-
composeOptions {
59-
kotlinCompilerExtensionVersion '1.4.3'
60-
}
59+
6160
packagingOptions {
6261
resources {
6362
excludes += '/META-INF/{AL2.0,LGPL2.1}'
@@ -81,126 +80,127 @@ android {
8180

8281
dependencies {
8382

84-
implementation 'androidx.core:core-ktx:1.9.0'
85-
implementation 'androidx.lifecycle:lifecycle-runtime-ktx:2.6.1'
86-
implementation 'androidx.activity:activity-compose:1.7.0'
83+
implementation 'androidx.core:core-ktx:1.16.0'
84+
implementation 'androidx.lifecycle:lifecycle-runtime-ktx:2.9.2'
85+
implementation 'androidx.activity:activity-compose:1.10.1'
8786
implementation "androidx.compose.ui:ui:$compose_version"
8887
implementation "androidx.compose.ui:ui-tooling-preview:$compose_version"
8988
implementation "androidx.navigation:navigation-compose:$compose_version"
90-
implementation 'androidx.compose.material3:material3:1.2.0-alpha02'
91-
implementation 'androidx.compose.material:material:1.1.1'
92-
implementation 'androidx.work:work-runtime-ktx:2.8.1'
93-
implementation 'com.google.firebase:firebase-database-ktx:20.2.2'
94-
implementation 'com.google.firebase:firebase-messaging-ktx:23.1.2'
95-
implementation 'com.google.accompanist:accompanist-permissions:0.31.1-alpha'
96-
implementation 'com.google.firebase:firebase-auth-ktx:22.0.0'
97-
implementation 'com.google.android.libraries.places:places:3.1.0'
98-
implementation 'androidx.constraintlayout:constraintlayout:2.1.4'
99-
implementation 'androidx.test.ext:junit-ktx:1.1.5'
100-
implementation 'androidx.appcompat:appcompat:1.6.1'
101-
implementation 'com.google.android.material:material:1.9.0'
102-
implementation 'com.google.accompanist:accompanist-webview:0.31.3-beta'
103-
implementation platform('androidx.compose:compose-bom:2023.03.00')
89+
implementation platform('androidx.compose:compose-bom:2025.07.00')
90+
implementation "androidx.compose.material:material"
91+
implementation "androidx.compose.material3:material3"
92+
implementation 'androidx.work:work-runtime-ktx:2.10.3'
93+
implementation 'com.google.firebase:firebase-database-ktx:21.0.0'
94+
implementation 'com.google.firebase:firebase-messaging-ktx:24.1.2'
95+
implementation 'com.google.accompanist:accompanist-permissions:0.37.3'
96+
implementation 'com.google.firebase:firebase-auth-ktx:23.2.1'
97+
implementation 'com.google.android.libraries.places:places:4.4.1'
98+
implementation 'androidx.constraintlayout:constraintlayout:2.2.1'
99+
implementation 'androidx.test.ext:junit-ktx:1.3.0'
100+
implementation 'androidx.appcompat:appcompat:1.7.1'
101+
implementation 'com.google.android.material:material:1.12.0'
102+
implementation 'com.google.accompanist:accompanist-webview:0.36.0'
103+
implementation platform('androidx.compose:compose-bom:2025.07.00')
104104
implementation 'androidx.compose.ui:ui-graphics'
105-
implementation 'androidx.benchmark:benchmark-macro:1.2.0'
106-
implementation 'com.google.firebase:firebase-firestore:24.10.1'
105+
implementation 'androidx.benchmark:benchmark-macro:1.4.0'
106+
implementation 'com.google.firebase:firebase-firestore:26.0.0'
107107
implementation "androidx.biometric:biometric:1.2.0-alpha05"
108-
implementation platform('androidx.compose:compose-bom:2023.03.00')
109-
implementation 'androidx.media3:media3-exoplayer:1.2.1'
110-
implementation 'androidx.media3:media3-ui:1.2.1'
111-
implementation 'com.google.firebase:firebase-crashlytics:18.6.3'
108+
implementation platform('androidx.compose:compose-bom:2025.07.00')
109+
implementation 'androidx.media3:media3-exoplayer:1.8.0'
110+
implementation 'androidx.media3:media3-ui:1.8.0'
111+
implementation 'com.google.firebase:firebase-crashlytics:20.0.0'
112112
// implementation 'com.google.android.ads:mediation-test-suite:3.0.0'
113113

114114

115115
testImplementation 'junit:junit:4.13.2'
116-
testImplementation 'io.mockk:mockk:1.13.4'
117-
testImplementation 'org.jetbrains.kotlinx:kotlinx-coroutines-test:1.7.1'
116+
testImplementation 'io.mockk:mockk:1.14.5'
117+
testImplementation 'org.jetbrains.kotlinx:kotlinx-coroutines-test:1.10.2'
118118
testImplementation 'androidx.arch.core:core-testing:2.2.0'
119119

120-
androidTestImplementation 'androidx.test.ext:junit:1.1.5'
121-
androidTestImplementation 'androidx.test.espresso:espresso-core:3.5.1'
120+
androidTestImplementation 'androidx.test.ext:junit:1.3.0'
121+
androidTestImplementation 'androidx.test.espresso:espresso-core:3.7.0'
122122
androidTestImplementation "androidx.compose.ui:ui-test-junit4:$compose_version"
123-
androidTestImplementation platform('androidx.compose:compose-bom:2023.03.00')
124-
androidTestImplementation "io.mockk:mockk-android:1.13.4"
125-
androidTestImplementation "io.mockk:mockk-agent:1.13.4"
126-
androidTestImplementation platform('androidx.compose:compose-bom:2023.03.00')
123+
androidTestImplementation platform('androidx.compose:compose-bom:2025.07.00')
124+
androidTestImplementation "io.mockk:mockk-android:1.14.5"
125+
androidTestImplementation "io.mockk:mockk-agent:1.14.5"
126+
androidTestImplementation platform('androidx.compose:compose-bom:2025.07.00')
127127
debugImplementation "androidx.compose.ui:ui-tooling:$compose_version"
128128
debugImplementation "androidx.compose.ui:ui-test-manifest:$compose_version"
129129

130130
implementation "androidx.compose.material:material-icons-extended:$compose_version"
131131

132132
//Retrofit
133-
implementation 'com.squareup.retrofit2:retrofit:2.9.0'
134-
implementation 'com.squareup.okhttp3:logging-interceptor:5.0.0-alpha.11'
133+
implementation 'com.squareup.retrofit2:retrofit:3.0.0'
134+
implementation 'com.squareup.okhttp3:logging-interceptor:5.1.0'
135135
//Moshi
136-
implementation 'com.squareup.moshi:moshi-kotlin:1.15.0'
137-
implementation "com.squareup.retrofit2:converter-moshi:2.9.0"
136+
implementation 'com.squareup.moshi:moshi-kotlin:1.15.2'
137+
implementation "com.squareup.retrofit2:converter-moshi:3.0.0"
138138

139139
//Convertor factory by Gson
140-
implementation 'com.squareup.retrofit2:converter-gson:2.9.0'
140+
implementation 'com.squareup.retrofit2:converter-gson:3.0.0'
141141

142142
// RxJava 2
143-
implementation "io.reactivex.rxjava2:rxjava:2.2.7"
143+
implementation "io.reactivex.rxjava2:rxjava:2.2.21"
144144
implementation "io.reactivex.rxjava2:rxandroid:2.1.1"
145145

146146
//RxJava2 with Retrofit
147-
implementation "com.squareup.retrofit2:adapter-rxjava2:2.9.0"
147+
implementation "com.squareup.retrofit2:adapter-rxjava2:3.0.0"
148148

149149
// Glide with compose
150-
implementation "com.github.bumptech.glide:compose:1.0.0-alpha.1"
150+
implementation "com.github.bumptech.glide:compose:1.0.0-beta01"
151151

152152
//Hilt dependency
153-
implementation 'com.google.dagger:hilt-android:2.45'
154-
kapt 'com.google.dagger:hilt-android-compiler:2.45'
155-
kapt "androidx.hilt:hilt-compiler:1.0.0"
156-
implementation 'androidx.hilt:hilt-navigation-compose:1.1.0-rc01'
153+
implementation 'com.google.dagger:hilt-android:2.57'
154+
kapt 'com.google.dagger:hilt-android-compiler:2.57'
155+
kapt "androidx.hilt:hilt-compiler:1.2.0"
156+
implementation 'androidx.hilt:hilt-navigation-compose:1.2.0'
157157

158158
// ktx activity with view model injection
159-
implementation 'androidx.activity:activity-ktx:1.7.2'
159+
implementation 'androidx.activity:activity-ktx:1.10.1'
160160

161161
//compose with liveData
162162
implementation "androidx.compose.runtime:runtime-livedata:$compose_version"
163163

164164
// Room database
165-
kapt 'androidx.room:room-compiler:2.6.0'
166-
implementation 'androidx.room:room-runtime:2.6.0'
165+
kapt 'androidx.room:room-compiler:2.7.2'
166+
implementation 'androidx.room:room-runtime:2.7.2'
167167

168168
// Coil
169-
implementation("io.coil-kt:coil-compose:2.4.0")
169+
implementation("io.coil-kt:coil-compose:2.7.0")
170170

171171
//landscape - glide for compose
172-
implementation "com.github.skydoves:landscapist-glide:1.5.0"
172+
implementation "com.github.skydoves:landscapist-glide:2.5.1"
173173

174-
implementation 'com.google.maps.android:maps-compose:2.11.4'
175-
implementation 'com.google.android.gms:play-services-maps:18.2.0'
174+
implementation 'com.google.maps.android:maps-compose:6.7.0'
175+
implementation 'com.google.android.gms:play-services-maps:19.2.0'
176176

177177
// LiveData
178178
// implementation 'androidx.lifecycle:lifecycle-runtime-ktx:2.4.0'
179-
implementation 'androidx.lifecycle:lifecycle-viewmodel-compose:2.6.2'
180-
implementation 'com.google.android.gms:play-services-location:21.0.1'
179+
implementation 'androidx.lifecycle:lifecycle-viewmodel-compose:2.9.2'
180+
implementation 'com.google.android.gms:play-services-location:21.3.0'
181181

182182
// camera with ml-kit
183183
def camerax_version = "1.3.0-alpha07"
184184
implementation "androidx.camera:camera-camera2:${camerax_version}"
185185
implementation "androidx.camera:camera-lifecycle:${camerax_version}"
186186
implementation "androidx.camera:camera-view:${camerax_version}"
187-
implementation 'com.google.mlkit:barcode-scanning:17.2.0'
187+
implementation 'com.google.mlkit:barcode-scanning:17.3.0'
188188

189189
// Compose Constraint Layout
190-
implementation "androidx.constraintlayout:constraintlayout-compose:1.0.1"
190+
implementation "androidx.constraintlayout:constraintlayout-compose:1.1.1"
191191

192192
testImplementation 'androidx.arch.core:core-testing:2.2.0'
193193

194194
//Lottie
195-
implementation "com.airbnb.android:lottie-compose:6.0.1"
195+
implementation "com.airbnb.android:lottie-compose:6.6.7"
196196

197197
//Secured Shared Preference
198-
implementation "androidx.security:security-crypto:1.1.0-alpha06"
198+
implementation "androidx.security:security-crypto:1.1.0"
199199
implementation "androidx.security:security-identity-credential:1.0.0-alpha03"
200-
implementation "androidx.security:security-crypto-ktx:1.1.0-alpha06"
200+
implementation "androidx.security:security-crypto-ktx:1.1.0"
201201

202202
// Stripe
203-
implementation "com.stripe:stripe-android:20.34.1"
203+
implementation "com.stripe:stripe-android:21.22.1"
204204

205205
// paging
206206
def paging_version = "3.0.0"
@@ -211,16 +211,16 @@ dependencies {
211211
testImplementation "androidx.paging:paging-common:$paging_version"
212212

213213
// Jetpack Compose Integration
214-
implementation "androidx.paging:paging-compose:3.3.0-alpha02"
214+
implementation "androidx.paging:paging-compose:3.3.6"
215215

216216
//Graph QL
217-
implementation 'com.apollographql.apollo3:apollo-runtime:3.2.1'
217+
implementation 'com.apollographql.apollo3:apollo-runtime:3.8.6'
218218

219-
testImplementation("org.mockito:mockito-core:5.3.1")
220-
testImplementation ("app.cash.turbine:turbine:1.0.0")
219+
testImplementation("org.mockito:mockito-core:5.18.0")
220+
testImplementation ("app.cash.turbine:turbine:1.2.1")
221221

222222
// Data Store
223-
implementation ("androidx.datastore:datastore-preferences:1.0.0")
223+
implementation ("androidx.datastore:datastore-preferences:1.1.7")
224224
}
225225

226226
// Remember to add this to local.properties

app/src/main/java/com/example/jetpack_compose_all_in_one/android_architectures/clean_code/presentation/ui/DogApiMainPage.kt

Lines changed: 9 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -53,23 +53,24 @@ fun DogApiMainPage(
5353
contentDescription = "woof",
5454
modifier = Modifier.size(400.dp)
5555
) { it2 ->
56-
it2.addListener(object: RequestListener<Drawable> {
56+
it2.addListener(object : RequestListener<Drawable> {
57+
5758
override fun onLoadFailed(
5859
e: GlideException?,
5960
model: Any?,
60-
target: Target<Drawable>?,
61-
isFirstResource: Boolean
61+
target: Target<Drawable?>,
62+
isFirstResource: Boolean,
6263
): Boolean {
6364
imageLoading = false
6465
return true
6566
}
6667

6768
override fun onResourceReady(
68-
resource: Drawable?,
69-
model: Any?,
70-
target: Target<Drawable>?,
71-
dataSource: DataSource?,
72-
isFirstResource: Boolean
69+
resource: Drawable,
70+
model: Any,
71+
target: Target<Drawable?>?,
72+
dataSource: DataSource,
73+
isFirstResource: Boolean,
7374
): Boolean {
7475
imageLoading = false
7576
return false

app/src/main/java/com/example/jetpack_compose_all_in_one/demos/instagram/stories/StoryItem.kt

Lines changed: 11 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,12 +4,13 @@ import androidx.annotation.DrawableRes
44
import androidx.compose.foundation.BorderStroke
55
import androidx.compose.foundation.border
66
import androidx.compose.foundation.clickable
7+
import androidx.compose.foundation.indication
78
import androidx.compose.foundation.interaction.MutableInteractionSource
89
import androidx.compose.foundation.layout.Column
910
import androidx.compose.foundation.shape.CircleShape
1011
import androidx.compose.material.MaterialTheme
11-
import androidx.compose.material.ripple.rememberRipple
1212
import androidx.compose.material3.Text
13+
import androidx.compose.material3.ripple
1314
import androidx.compose.runtime.Composable
1415
import androidx.compose.runtime.remember
1516
import androidx.compose.ui.Alignment
@@ -61,11 +62,17 @@ fun StoryItem(
6162
)
6263
.clickable(
6364
interactionSource = interactionSource,
64-
indication = rememberRipple(bounded = false, radius = ProfileSizes.large / 2),
65-
enabled = true,
66-
onClickLabel = null,
65+
indication = null,
6766
onClick = onClick
6867
)
68+
.indication(
69+
interactionSource = interactionSource,
70+
indication = ripple(
71+
bounded = false,
72+
radius = ProfileSizes.large / 2
73+
)
74+
)
75+
6976
)
7077
Text(text = profileName, style = textStyle, textAlign = TextAlign.Center)
7178
}

app/src/main/java/com/example/jetpack_compose_all_in_one/di/NetworkModules.kt

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -32,8 +32,8 @@ import com.example.jetpack_compose_all_in_one.utils.Constants
3232
import com.example.jetpack_compose_all_in_one.utils.Constants.QUOTES_BASE_URL
3333
import com.example.jetpack_compose_all_in_one.utils.Constants.RANDOM_DOG_BASE_URL
3434
import com.example.jetpack_compose_all_in_one.utils.Constants.RANDOM_FOX_BASE_URL
35-
import com.google.firebase.database.ktx.database
36-
import com.google.firebase.ktx.Firebase
35+
36+
3737
import dagger.Module
3838
import dagger.Provides
3939
import dagger.hilt.InstallIn
@@ -50,6 +50,8 @@ import java.util.concurrent.TimeUnit
5050
import javax.inject.Singleton
5151
import com.example.jetpack_compose_all_in_one.third_party_lib.stripe.ApiStripe
5252
import com.example.jetpack_compose_all_in_one.third_party_lib.yelp_api.api.YelpAPI
53+
import com.google.firebase.Firebase
54+
import com.google.firebase.database.database
5355
import dagger.hilt.android.qualifiers.ApplicationContext
5456
import okhttp3.logging.HttpLoggingInterceptor
5557

app/src/main/java/com/example/jetpack_compose_all_in_one/features/download_manager/Download.kt

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -65,9 +65,9 @@ class Download(
6565
return false
6666
}
6767

68-
(applicationContext
69-
.getSystemService(ComponentActivity.DOWNLOAD_SERVICE) as DownloadManager
70-
).enqueue(downloadRequest).also {
68+
(applicationContext.getSystemService(Context.DOWNLOAD_SERVICE) as DownloadManager
69+
70+
).enqueue(downloadRequest).also {
7171
DownloadWorker.downloadState.apply {
7272
this.fileName = fileName
7373
this.downloadId = it

app/src/main/java/com/example/jetpack_compose_all_in_one/features/download_manager/DownloadNotification.kt

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,8 +16,9 @@ class DownloadNotification(
1616
init {
1717
// createNotificationChannel won't run at all if it already exists.
1818
(applicationContext
19-
.getSystemService(ComponentActivity.NOTIFICATION_SERVICE)
20-
as NotificationManager
19+
.getSystemService(Context.NOTIFICATION_SERVICE)
20+
21+
as NotificationManager
2122
).createNotificationChannel(
2223
NotificationChannel(channelId, channelName, NotificationManager.IMPORTANCE_DEFAULT).apply {
2324
description = channelDesc

app/src/main/java/com/example/jetpack_compose_all_in_one/features/download_manager/DownloadReceiver.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ class DownloadReceiver: BroadcastReceiver() {
3232

3333
WorkManager.getInstance(p0).cancelWorkById(UUID.fromString(downloadWorkerId))
3434
if (downloadManagerId >= 0) {
35-
(p0.getSystemService(ComponentActivity.DOWNLOAD_SERVICE) as DownloadManager)
35+
(p0.getSystemService(Context.DOWNLOAD_SERVICE) as DownloadManager)
3636
.remove(downloadManagerId)
3737
}
3838
}

0 commit comments

Comments
 (0)