File tree Expand file tree Collapse file tree
app/src/main/java/de/lukasneugebauer/nextcloudcookbook Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -13,6 +13,7 @@ import androidx.datastore.preferences.preferencesDataStore
1313import dagger.hilt.android.qualifiers.ApplicationContext
1414import de.lukasneugebauer.nextcloudcookbook.core.domain.model.NcAccount
1515import de.lukasneugebauer.nextcloudcookbook.core.domain.model.RecipeOfTheDay
16+ import de.lukasneugebauer.nextcloudcookbook.core.util.Constants.DEFAULT_RECIPE_OF_THE_DAY_ID
1617import de.lukasneugebauer.nextcloudcookbook.settings.util.SettingsConstants.STAY_AWAKE_DEFAULT
1718import de.lukasneugebauer.nextcloudcookbook.settings.util.SettingsConstants.STAY_AWAKE_KEY
1819import kotlinx.coroutines.flow.catch
@@ -56,7 +57,7 @@ class PreferencesManager @Inject constructor(
5657 val ncUsername = preferences[PreferencesKeys .NC_USERNAME ] ? : " "
5758 val ncToken = preferences[PreferencesKeys .NC_TOKEN ] ? : " "
5859 val ncUrl = preferences[PreferencesKeys .NC_URL ] ? : " "
59- val recipeOfTheDayId = preferences[PreferencesKeys .RECIPE_OF_THE_DAY_ID ] ? : 0
60+ val recipeOfTheDayId = preferences[PreferencesKeys .RECIPE_OF_THE_DAY_ID ] ? : DEFAULT_RECIPE_OF_THE_DAY_ID
6061 val recipeOfTheDayUpdatedAt =
6162 preferences[PreferencesKeys .RECIPE_OF_THE_DAY_UPDATED_AT ] ? : 0
6263
Original file line number Diff line number Diff line change @@ -5,6 +5,7 @@ import de.lukasneugebauer.nextcloudcookbook.BuildConfig
55object Constants {
66 private const val API_ENDPOINT : String = " index.php/apps/cookbook/api"
77 private const val API_VERSION : String = " /v1"
8+ const val DEFAULT_RECIPE_OF_THE_DAY_ID : Int = 0
89 const val FULL_PATH : String = API_ENDPOINT + API_VERSION
910 const val SHARED_PREFERENCES_KEY : String = BuildConfig .APPLICATION_ID + " .SHARED_PREFERENCES"
1011}
Original file line number Diff line number Diff line change @@ -4,6 +4,7 @@ import com.dropbox.android.external.store4.get
44import de.lukasneugebauer.nextcloudcookbook.R
55import de.lukasneugebauer.nextcloudcookbook.core.data.PreferencesManager
66import de.lukasneugebauer.nextcloudcookbook.core.domain.model.RecipeOfTheDay
7+ import de.lukasneugebauer.nextcloudcookbook.core.util.Constants.DEFAULT_RECIPE_OF_THE_DAY_ID
78import de.lukasneugebauer.nextcloudcookbook.core.util.IoDispatcher
89import de.lukasneugebauer.nextcloudcookbook.di.CategoriesStore
910import de.lukasneugebauer.nextcloudcookbook.di.RecipePreviewsByCategoryStore
@@ -39,10 +40,12 @@ class GetHomeScreenDataUseCase @Inject constructor(
3940 val homeScreenData = mutableListOf<HomeScreenDataResult >()
4041 var recipeOfTheDay = preferencesManager.preferencesFlow.map { it.recipeOfTheDay }.first()
4142
42- if (recipeOfTheDay.id == 0 || recipeOfTheDay.updatedAt.isBefore(currentDate)) {
43+ if (recipeOfTheDay.id == DEFAULT_RECIPE_OF_THE_DAY_ID || recipeOfTheDay.updatedAt.isBefore(currentDate)) {
4344 try {
4445 val newRecipeOfTheDayId =
45- recipePreviewsStore.get(Unit ).random().toRecipePreview().id
46+ recipePreviewsStore.get(Unit ).randomOrNull()?.toRecipePreview()?.id
47+ ? : DEFAULT_RECIPE_OF_THE_DAY_ID
48+
4649 recipeOfTheDay = RecipeOfTheDay (
4750 id = newRecipeOfTheDayId,
4851 updatedAt = LocalDateTime .now(),
You can’t perform that action at this time.
0 commit comments