Skip to content

Commit c40a897

Browse files
committed
migrate to ksp, update libs
1 parent 884c726 commit c40a897

File tree

7 files changed

+35
-34
lines changed

7 files changed

+35
-34
lines changed

app/build.gradle.kts

Lines changed: 22 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ plugins {
77
id("com.android.application")
88
id("kotlin-android")
99
id("kotlin-parcelize")
10+
id("com.google.devtools.ksp")
1011
id("kotlin-kapt")
1112
id("androidx.navigation.safeargs.kotlin")
1213
id("com.google.gms.google-services")
@@ -127,7 +128,6 @@ android {
127128
}
128129
kotlinOptions {
129130
jvmTarget = JavaVersion.VERSION_17.toString()
130-
// freeCompilerArgs = listOf("-Xallow-result-return-type")
131131
}
132132
// https://developer.android.com/topic/libraries/data-binding
133133
buildFeatures {
@@ -156,14 +156,14 @@ dependencies {
156156

157157
// List of KTX extensions
158158
// https://developer.android.com/kotlin/ktx/extensions-list
159-
implementation("androidx.core:core-ktx:1.10.0")
160-
implementation("androidx.activity:activity-ktx:1.7.1")
159+
implementation("androidx.core:core-ktx:1.10.1")
160+
implementation("androidx.activity:activity-ktx:1.7.2")
161161
implementation("androidx.fragment:fragment-ktx:1.5.7")
162162

163163
// Lifecycle
164164
// https://developer.android.com/jetpack/androidx/releases/lifecycle
165165
implementation("androidx.lifecycle:lifecycle-viewmodel-ktx:2.6.1")
166-
implementation("androidx.lifecycle:lifecycle-livedata-ktx:2.6.1")
166+
// implementation("androidx.lifecycle:lifecycle-livedata-ktx:2.6.1")
167167
implementation("androidx.lifecycle:lifecycle-runtime-ktx:2.6.1")
168168
implementation("androidx.lifecycle:lifecycle-common-java8:2.6.1")
169169

@@ -174,7 +174,7 @@ dependencies {
174174
// room
175175
// https://developer.android.com/topic/libraries/architecture/room
176176
implementation("androidx.room:room-runtime:2.5.1")
177-
kapt("androidx.room:room-compiler:2.5.1")
177+
ksp("androidx.room:room-compiler:2.5.1")
178178
implementation("androidx.room:room-ktx:2.5.1")
179179

180180
// paging
@@ -189,13 +189,13 @@ dependencies {
189189

190190
// coroutines
191191
// https://github.com/Kotlin/kotlinx.coroutines
192-
implementation("org.jetbrains.kotlinx:kotlinx-coroutines-core:1.7.0")
193-
implementation("org.jetbrains.kotlinx:kotlinx-coroutines-android:1.7.0")
194-
testImplementation("org.jetbrains.kotlinx:kotlinx-coroutines-test:1.7.0")
192+
implementation("org.jetbrains.kotlinx:kotlinx-coroutines-core:1.7.1")
193+
implementation("org.jetbrains.kotlinx:kotlinx-coroutines-android:1.7.1")
194+
testImplementation("org.jetbrains.kotlinx:kotlinx-coroutines-test:1.7.1")
195195

196196
// moshi
197-
implementation("com.squareup.moshi:moshi-kotlin:1.14.0")
198-
kapt("com.squareup.moshi:moshi-kotlin-codegen:1.14.0")
197+
implementation("com.squareup.moshi:moshi-kotlin:1.15.0")
198+
ksp("com.squareup.moshi:moshi-kotlin-codegen:1.15.0")
199199

200200
// retrofit
201201
// https://github.com/square/retrofit
@@ -215,13 +215,12 @@ dependencies {
215215
// glide
216216
// https://github.com/bumptech/glide
217217
implementation("com.github.bumptech.glide:glide:4.15.1")
218-
kapt("com.github.bumptech.glide:compiler:4.15.1")
218+
ksp("com.github.bumptech.glide:ksp:4.15.1")
219219

220220
// dagger hilt
221-
implementation("com.google.dagger:hilt-android:2.45")
222-
kapt("com.google.dagger:hilt-android-compiler:2.45")
221+
implementation("com.google.dagger:hilt-android:2.46.1")
222+
kapt("com.google.dagger:hilt-android-compiler:2.46.1")
223223
implementation("androidx.hilt:hilt-navigation-fragment:1.0.0")
224-
// implementation("androidx.hilt:hilt-lifecycle-viewmodel:1.0.0-alpha03")
225224
kapt("androidx.hilt:hilt-compiler:1.0.0")
226225

227226
// runtime permission
@@ -381,12 +380,12 @@ dependencies {
381380
// or Material Design 2
382381
implementation("androidx.compose.material:material:1.4.3")
383382
// Material Design 3
384-
implementation("androidx.compose.material3:material3:1.1.0-rc01")
383+
implementation("androidx.compose.material3:material3:1.1.0")
385384
// Android Studio Preview support
386385
implementation("androidx.compose.ui:ui-tooling-preview:1.4.3")
387386
debugImplementation("androidx.compose.ui:ui-tooling:1.4.3")
388387
// UI Tests
389-
androidTestImplementation("androidx.compose.ui:ui-test-junit4:1.5.0-alpha03")
388+
androidTestImplementation("androidx.compose.ui:ui-test-junit4:1.4.3")
390389
debugImplementation("androidx.compose.ui:ui-test-manifest:1.4.3")
391390
// Animations
392391
implementation("androidx.compose.animation:animation:1.4.3")
@@ -399,20 +398,22 @@ dependencies {
399398
// Optional - Add full set of material icons
400399
implementation("androidx.compose.material:material-icons-extended:1.4.3")
401400
// Optional - Add window size utils
402-
implementation("androidx.compose.material3:material3-window-size-class:1.0.1")
401+
implementation("androidx.compose.material3:material3-window-size-class:1.1.0")
403402
// Optional - Integration with activities
404-
implementation("androidx.activity:activity-compose:1.7.1")
403+
implementation("androidx.activity:activity-compose:1.7.2")
405404
// Optional - Integration with ViewModels
406405
implementation("androidx.lifecycle:lifecycle-viewmodel-compose:2.6.1")
407406
// Optional - Integration with LiveData
408-
implementation("androidx.compose.runtime:runtime-livedata:1.4.3")
407+
// implementation("androidx.compose.runtime:runtime-livedata:1.4.3")
408+
// Lifecycle utilities for Compose
409+
implementation("androidx.lifecycle:lifecycle-runtime-compose:2.6.1")
409410
// navigation
410411
implementation("androidx.navigation:navigation-compose:2.5.3")
411412
implementation("androidx.hilt:hilt-navigation-compose:1.0.0")
412413
// https://github.com/skydoves/landscapist
413414
// implementation("com.github.skydoves:landscape-bom:2.1.7")
414-
implementation("com.github.skydoves:landscapist-glide:2.1.13")
415-
implementation("com.github.skydoves:landscapist-placeholder:2.1.13")
415+
implementation("com.github.skydoves:landscapist-glide:2.2.0")
416+
implementation("com.github.skydoves:landscapist-placeholder:2.2.0")
416417
// https://google.github.io/accompanist/
417418
// https://github.com/google/accompanist
418419
val accompanistVersion = "0.28.0"

app/src/main/java/com/example/moviedb/compose/ui/home/HomeScreen.kt

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,6 @@ import androidx.compose.material.pullrefresh.pullRefresh
1616
import androidx.compose.material.pullrefresh.rememberPullRefreshState
1717
import androidx.compose.material3.Text
1818
import androidx.compose.runtime.*
19-
import androidx.compose.runtime.livedata.observeAsState
2019
import androidx.compose.ui.Alignment
2120
import androidx.compose.ui.Modifier
2221
import androidx.compose.ui.graphics.Color

app/src/main/java/com/example/moviedb/di/AppModule.kt

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
package com.example.moviedb.di
22

33
import android.content.Context
4-
import android.content.SharedPreferences
54
import android.content.res.AssetManager
65
import android.content.res.Resources
76
import androidx.datastore.core.DataStore
@@ -38,10 +37,10 @@ class AppModule {
3837
@Provides
3938
fun provideAssetManager(context: Context): AssetManager = context.assets
4039

41-
@Singleton
40+
/*@Singleton
4241
@Provides
4342
fun provideSharedPrefs(context: Context): SharedPreferences =
44-
context.getSharedPreferences(context.packageName, Context.MODE_PRIVATE)
43+
context.getSharedPreferences(context.packageName, Context.MODE_PRIVATE)*/
4544

4645
@Singleton
4746
@Provides

app/src/main/java/com/example/moviedb/ui/widgets/NavigationExtension.kt

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -8,11 +8,10 @@ import android.content.Intent
88
import android.util.SparseArray
99
import androidx.core.util.forEach
1010
import androidx.fragment.app.FragmentManager
11-
import androidx.lifecycle.LiveData
12-
import androidx.lifecycle.MutableLiveData
1311
import androidx.navigation.NavController
1412
import androidx.navigation.fragment.NavHostFragment
1513
import com.google.android.material.bottomnavigation.BottomNavigationView
14+
import kotlinx.coroutines.flow.MutableStateFlow
1615

1716
/**
1817
* Manages the various graphs needed for a [BottomNavigationView].
@@ -24,12 +23,12 @@ fun BottomNavigationView.setupWithNavController(
2423
fragmentManager: FragmentManager,
2524
containerId: Int,
2625
intent: Intent
27-
): LiveData<NavController> {
26+
): MutableStateFlow<NavController> {
2827

2928
// Map of tags
3029
val graphIdToTagMap = SparseArray<String>()
3130
// Result. Mutable live data with the selected controlled
32-
val selectedNavController = MutableLiveData<NavController>()
31+
val selectedNavController = MutableStateFlow(NavController(context))
3332

3433
var firstFragmentGraphId = 0
3534

app/src/main/java/com/example/moviedb/utils/BindingUtils.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -118,7 +118,7 @@ fun ImageView.loadImage(
118118
}
119119
}
120120

121-
GlideApp.with(context).load(imageUrl).apply {
121+
Glide.with(context).load(imageUrl).apply {
122122
transition(DrawableTransitionOptions.withCrossFade())
123123
addListener(requestListener)
124124
// breaks sharedElementEnterTransition

build.gradle.kts

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,13 +2,12 @@ buildscript {
22
repositories {
33
google()
44
mavenCentral()
5-
// maven("https://maven.google.com")
65
}
76
dependencies {
8-
classpath("com.android.tools.build:gradle:8.0.1")
7+
classpath("com.android.tools.build:gradle:8.0.2")
98
classpath("org.jetbrains.kotlin:kotlin-gradle-plugin:1.8.21")
109
classpath("androidx.navigation:navigation-safe-args-gradle-plugin:2.5.3")
11-
classpath("com.google.dagger:hilt-android-gradle-plugin:2.44.2")
10+
classpath("com.google.dagger:hilt-android-gradle-plugin:2.46.1")
1211
// classpath("org.jetbrains.kotlin:kotlin-gradle-plugin:${Libs.kotlinVersion}")
1312
// classpath("androidx.navigation:navigation-safe-args-gradle-plugin:${Libs.navigationVersion}")
1413
// classpath("com.google.dagger:hilt-android-gradle-plugin:${Libs.daggerHiltVersion}")
@@ -21,10 +20,13 @@ allprojects {
2120
repositories {
2221
google()
2322
mavenCentral()
24-
// maven("https://maven.google.com")
2523
}
2624
}
2725

2826
tasks.register("clean", Delete::class.java) {
2927
delete(rootProject.buildDir)
3028
}
29+
30+
plugins {
31+
id("com.google.devtools.ksp") version "1.8.21-1.0.11" apply false
32+
}

gradle.properties

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@ android.databinding.incremental=true
2222
# Kotlin code style for this project: "official" or "obsolete":
2323
kotlin.code.style=official
2424
kapt.incremental.apt=true
25+
ksp.incremental.apt=true
2526
android.defaults.buildfeatures.buildconfig=true
2627
android.nonTransitiveRClass=true
2728
android.nonFinalResIds=false

0 commit comments

Comments
 (0)