Skip to content

Commit 1b3fd9b

Browse files
committedSep 24, 2023
ksp
1 parent 6eb6099 commit 1b3fd9b

File tree

11 files changed

+20
-31
lines changed

11 files changed

+20
-31
lines changed
 

‎app/build.gradle.kts

+2-7
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
plugins {
22
id("com.android.application")
33
id("org.jetbrains.kotlin.android")
4-
kotlin("kapt")
54
id("com.google.dagger.hilt.android")
5+
id("com.google.devtools.ksp")
66
}
77

88
android {
@@ -69,17 +69,12 @@ dependencies {
6969
androidTestImplementation("androidx.test.espresso:espresso-core:3.5.1")
7070

7171
implementation("com.google.dagger:hilt-android:$hiltVersion")
72-
kapt("com.google.dagger:hilt-android-compiler:$hiltVersion")
72+
ksp("com.google.dagger:hilt-android-compiler:$hiltVersion")
7373
androidTestImplementation("com.google.dagger:hilt-android-testing:$hiltVersion")
7474

7575
testImplementation("io.mockk:mockk:${mockkVersion}")
7676
testImplementation("io.mockk:mockk-android:${mockkVersion}")
7777
testImplementation("io.mockk:mockk-agent:${mockkVersion}")
7878
androidTestImplementation("io.mockk:mockk-android:${mockkVersion}")
7979
androidTestImplementation("io.mockk:mockk-agent:${mockkVersion}")
80-
}
81-
82-
// Allow references to generated code
83-
kapt {
84-
correctErrorTypes = true
8580
}

‎build.gradle.kts

+1-1
Original file line numberDiff line numberDiff line change
@@ -8,5 +8,5 @@ plugins {
88
kotlin("plugin.serialization") version "1.9.10"
99
id("com.android.library") version "8.1.1" apply false
1010
id("jacoco")
11-
// id("com.google.devtools.ksp") version "1.8.10-1.0.9" apply false
11+
id("com.google.devtools.ksp") version "1.9.10-1.0.13" apply false
1212
}

‎data/build.gradle.kts

+3-3
Original file line numberDiff line numberDiff line change
@@ -3,11 +3,11 @@ apply(from = "../jacoco.gradle.kts")
33
plugins {
44
id("com.android.library")
55
id("org.jetbrains.kotlin.android")
6-
kotlin("kapt")
76
id("org.jetbrains.kotlin.plugin.serialization")
87
id("dagger.hilt.android.plugin")
98
id("com.google.dagger.hilt.android")
109
id("jacoco")
10+
id("com.google.devtools.ksp")
1111
}
1212

1313
android {
@@ -70,10 +70,10 @@ dependencies {
7070
implementation("androidx.room:room-runtime:2.5.2")
7171
implementation("androidx.room:room-ktx:2.5.2")
7272

73-
kapt("androidx.room:room-compiler:2.5.2")
73+
ksp("androidx.room:room-compiler:2.5.2")
7474

7575
implementation("com.google.dagger:hilt-android:$hiltVersion")
76-
kapt("com.google.dagger:hilt-android-compiler:$hiltVersion")
76+
ksp("com.google.dagger:hilt-android-compiler:$hiltVersion")
7777
androidTestImplementation("com.google.dagger:hilt-android-testing:$hiltVersion")
7878

7979
testImplementation("org.junit.jupiter:junit-jupiter-api:$junitVersion")

‎data/src/main/java/com/rubylichtenstein/data/favorites/FavoritesRepository.kt

+1-2
Original file line numberDiff line numberDiff line change
@@ -22,9 +22,8 @@ class FavoritesRepositoryImpl @Inject constructor(
2222
imagesDao.getFavoriteDogImages().map { it.map { it.toDogImageEntity() } }.asAsyncResult()
2323

2424
override suspend fun updateFavoriteStatus(url: String, isFavorite: Boolean) {
25-
//todo notify user in case of error
2625
withContext(Dispatchers.IO) {
27-
val ret = imagesDao.updateFavoriteStatus(
26+
imagesDao.updateFavoriteStatus(
2827
url = url,
2928
isFavorite = isFavorite
3029
)

‎domain/build.gradle.kts

+1-1
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ plugins {
44
id("java-library")
55
id("org.jetbrains.kotlin.jvm")
66
id("jacoco")
7+
id("com.google.devtools.ksp")
78
}
89

910
java {
@@ -59,7 +60,6 @@ val junitVersion: String by project
5960

6061
dependencies {
6162
implementation("javax.inject:javax.inject:1")
62-
// testImplementation("junit:junit:4.13.2")
6363

6464
implementation("org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.9.10")
6565
implementation("org.jetbrains.kotlinx:kotlinx-coroutines-core:$coroutinesVersion")

‎ui/build.gradle.kts

+2-2
Original file line numberDiff line numberDiff line change
@@ -3,9 +3,9 @@ apply(from = "../jacoco.gradle.kts")
33
plugins {
44
id("com.android.library")
55
id("org.jetbrains.kotlin.android")
6-
kotlin("kapt")
76
id("com.google.dagger.hilt.android")
87
id("jacoco")
8+
id("com.google.devtools.ksp")
99
}
1010

1111
android {
@@ -50,7 +50,7 @@ dependencies {
5050
implementation(project(":domain"))
5151

5252
implementation("com.google.dagger:hilt-android:$hiltVersion")
53-
kapt("com.google.dagger:hilt-android-compiler:$hiltVersion")
53+
ksp("com.google.dagger:hilt-android-compiler:$hiltVersion")
5454
androidTestImplementation("com.google.dagger:hilt-android-testing:$hiltVersion")
5555

5656
implementation("androidx.core:core-ktx:1.12.0")

‎ui/src/main/java/com/rubylichtenstein/ui/AppNavigator.kt

+3-4
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ import androidx.compose.foundation.layout.Box
44
import androidx.compose.foundation.layout.fillMaxSize
55
import androidx.compose.foundation.layout.padding
66
import androidx.compose.material.icons.Icons
7-
import androidx.compose.material.icons.filled.List
7+
import androidx.compose.material.icons.automirrored.filled.List
88
import androidx.compose.material3.BottomAppBar
99
import androidx.compose.material3.Icon
1010
import androidx.compose.material3.NavigationBar
@@ -15,7 +15,6 @@ import androidx.compose.material3.Text
1515
import androidx.compose.runtime.Composable
1616
import androidx.compose.runtime.getValue
1717
import androidx.compose.ui.Modifier
18-
1918
import androidx.navigation.NavHostController
2019
import androidx.navigation.NavType
2120
import androidx.navigation.compose.NavHost
@@ -33,7 +32,7 @@ import com.rubylichtenstein.ui.theme.DogBreedsTheme
3332
sealed class Screen(val route: String) {
3433
data object BreedsList : Screen("breedsList")
3534
data object Favorites : Screen("favorites")
36-
class DogImages(val breed: String) : Screen("dogImages/$breed")
35+
class DogImages(breed: String) : Screen("dogImages/$breed")
3736
}
3837

3938
@Composable
@@ -100,7 +99,7 @@ fun MainAppScreen(navController: NavHostController) {
10099
val currentRoute = navBackStackEntry?.destination?.route
101100

102101
NavigationBarItem(
103-
icon = { Icon(Icons.Default.List, contentDescription = null) },
102+
icon = { Icon(Icons.AutoMirrored.Filled.List, contentDescription = null) },
104103
label = { Text("Breeds") },
105104
selected = currentRoute == Screen.BreedsList.route,
106105
onClick = {

‎ui/src/main/java/com/rubylichtenstein/ui/breeds/BreedsScreen.kt

+2-1
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@ import androidx.navigation.NavController
2828
import com.rubylichtenstein.domain.breeds.BreedEntity
2929
import com.rubylichtenstein.domain.common.AsyncResult
3030
import com.rubylichtenstein.domain.common.capitalizeWords
31+
import com.rubylichtenstein.ui.Screen
3132
import com.rubylichtenstein.ui.common.AsyncStateHandler
3233

3334
@Composable
@@ -40,7 +41,7 @@ fun BreedsScreen(
4041
BreedsScreen(
4142
breedListState = breedListState,
4243
navigateToDogImages = { breedItem ->
43-
navController.navigate("dogImages/${breedItem.route}")
44+
navController.navigate(Screen.DogImages(breedItem.route).route)
4445
}
4546
)
4647
}

‎ui/src/main/java/com/rubylichtenstein/ui/favorites/FavoritesScreen.kt

+2-4
Original file line numberDiff line numberDiff line change
@@ -76,10 +76,8 @@ fun FavoritesScreen(
7676
}
7777

7878
DogImagesGrid(
79-
images = filteredImages,
80-
onToggleFavorite = { dogImage -> viewModel.toggleFavorite(dogImage) },
81-
showNames = true
82-
)
79+
images = filteredImages
80+
) { dogImage -> viewModel.toggleFavorite(dogImage) }
8381
}
8482
}
8583
}

‎ui/src/main/java/com/rubylichtenstein/ui/images/ImagesGrid.kt

+1-2
Original file line numberDiff line numberDiff line change
@@ -31,8 +31,7 @@ import com.rubylichtenstein.domain.images.DogImageEntity
3131
@Composable
3232
fun DogImagesGrid(
3333
images: List<DogImageEntity>,
34-
onToggleFavorite: (DogImageEntity) -> Unit,
35-
showNames: Boolean
34+
onToggleFavorite: (DogImageEntity) -> Unit
3635
) {
3736
LazyVerticalGrid(
3837
columns = GridCells.Fixed(2),

‎ui/src/main/java/com/rubylichtenstein/ui/images/ImagesScreen.kt

+2-4
Original file line numberDiff line numberDiff line change
@@ -72,10 +72,8 @@ fun ImagesScreen(
7272
Box(modifier = Modifier.padding(innerPadding)) {
7373
AsyncStateHandler(dogImages) { dogImageList ->
7474
DogImagesGrid(
75-
images = dogImageList,
76-
onToggleFavorite = { dogImage -> favoritesViewModel.toggleFavorite(dogImage) },
77-
showNames = false
78-
)
75+
images = dogImageList
76+
) { dogImage -> favoritesViewModel.toggleFavorite(dogImage) }
7977
}
8078
}
8179
}

0 commit comments

Comments
 (0)
Please sign in to comment.