Add logging to datastore
This commit is contained in:
@@ -15,6 +15,8 @@ android {
|
|||||||
}
|
}
|
||||||
|
|
||||||
dependencies {
|
dependencies {
|
||||||
|
implementation(project(":logging"))
|
||||||
|
|
||||||
implementation(libs.androidx.datastore.preferences)
|
implementation(libs.androidx.datastore.preferences)
|
||||||
implementation(libs.androidx.datastore.datastore)
|
implementation(libs.androidx.datastore.datastore)
|
||||||
|
|
||||||
|
|||||||
@@ -6,7 +6,7 @@ interface AddRecipeStorage {
|
|||||||
|
|
||||||
val updates: Flow<AddRecipeDraft>
|
val updates: Flow<AddRecipeDraft>
|
||||||
|
|
||||||
suspend fun save(addRecipeRequest: AddRecipeDraft)
|
suspend fun save(addRecipeDraft: AddRecipeDraft)
|
||||||
|
|
||||||
suspend fun clear()
|
suspend fun clear()
|
||||||
}
|
}
|
||||||
@@ -1,6 +1,7 @@
|
|||||||
package gq.kirmanak.mealient.datastore.recipe
|
package gq.kirmanak.mealient.datastore.recipe
|
||||||
|
|
||||||
import androidx.datastore.core.DataStore
|
import androidx.datastore.core.DataStore
|
||||||
|
import gq.kirmanak.mealient.logging.Logger
|
||||||
import kotlinx.coroutines.flow.Flow
|
import kotlinx.coroutines.flow.Flow
|
||||||
import kotlinx.coroutines.flow.map
|
import kotlinx.coroutines.flow.map
|
||||||
import javax.inject.Inject
|
import javax.inject.Inject
|
||||||
@@ -9,6 +10,7 @@ import javax.inject.Singleton
|
|||||||
@Singleton
|
@Singleton
|
||||||
class AddRecipeStorageImpl @Inject constructor(
|
class AddRecipeStorageImpl @Inject constructor(
|
||||||
private val dataStore: DataStore<AddRecipeInput>,
|
private val dataStore: DataStore<AddRecipeInput>,
|
||||||
|
private val logger: Logger,
|
||||||
) : AddRecipeStorage {
|
) : AddRecipeStorage {
|
||||||
|
|
||||||
override val updates: Flow<AddRecipeDraft>
|
override val updates: Flow<AddRecipeDraft>
|
||||||
@@ -24,20 +26,22 @@ class AddRecipeStorageImpl @Inject constructor(
|
|||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
override suspend fun save(addRecipeRequest: AddRecipeDraft) {
|
override suspend fun save(addRecipeDraft: AddRecipeDraft) {
|
||||||
|
logger.v { "save() called with: addRecipeDraft = $addRecipeDraft" }
|
||||||
val input = AddRecipeInput.newBuilder()
|
val input = AddRecipeInput.newBuilder()
|
||||||
.setRecipeName(addRecipeRequest.recipeName)
|
.setRecipeName(addRecipeDraft.recipeName)
|
||||||
.setRecipeDescription(addRecipeRequest.recipeDescription)
|
.setRecipeDescription(addRecipeDraft.recipeDescription)
|
||||||
.setRecipeYield(addRecipeRequest.recipeYield)
|
.setRecipeYield(addRecipeDraft.recipeYield)
|
||||||
.setIsRecipePublic(addRecipeRequest.isRecipePublic)
|
.setIsRecipePublic(addRecipeDraft.isRecipePublic)
|
||||||
.setAreCommentsDisabled(addRecipeRequest.areCommentsDisabled)
|
.setAreCommentsDisabled(addRecipeDraft.areCommentsDisabled)
|
||||||
.addAllRecipeIngredients(addRecipeRequest.recipeIngredients)
|
.addAllRecipeIngredients(addRecipeDraft.recipeIngredients)
|
||||||
.addAllRecipeInstructions(addRecipeRequest.recipeInstructions)
|
.addAllRecipeInstructions(addRecipeDraft.recipeInstructions)
|
||||||
.build()
|
.build()
|
||||||
dataStore.updateData { input }
|
dataStore.updateData { input }
|
||||||
}
|
}
|
||||||
|
|
||||||
override suspend fun clear() {
|
override suspend fun clear() {
|
||||||
|
logger.v { "clear() called" }
|
||||||
dataStore.updateData { AddRecipeInput.getDefaultInstance() }
|
dataStore.updateData { AddRecipeInput.getDefaultInstance() }
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
Reference in New Issue
Block a user