diff --git a/app/src/main/java/com/denizk0461/weserplaner/fragment/CanteenFragment.kt b/app/src/main/java/com/denizk0461/weserplaner/fragment/CanteenFragment.kt index 583f195..30fa658 100644 --- a/app/src/main/java/com/denizk0461/weserplaner/fragment/CanteenFragment.kt +++ b/app/src/main/java/com/denizk0461/weserplaner/fragment/CanteenFragment.kt @@ -69,14 +69,6 @@ class CanteenFragment : AppFragment() { )) } - // Create badge -// val badge = BadgeDrawable.create(context) -//// badge.isVisible = true -// badge.number = 1 -// badge.badgeGravity = BadgeDrawable.TOP_END -// // Attach badge to button -// BadgeUtils.attachBadgeDrawable(badge, binding.buttonNotifications, binding.buttonNotificationsBadgeContainer) - // Assign a preference value to every button to filter for dietary preferences val chipMap = mapOf( binding.chipPrefFair to DietaryPreferences.WELFARE, @@ -195,6 +187,18 @@ class CanteenFragment : AppFragment() { binding.swipeRefreshLayout.setOnRefreshListener { refresh() } + + // Check if the user is opening the canteen fragment for the first time + if (!viewModel.preferenceHasOpenedCanteen) { + // Show that a refresh is in progress + binding.swipeRefreshLayout.isRefreshing = true + + // Refresh to fetch the first items and avoid showing an empty list + refresh() + + // Save that the canteen has been opened before + viewModel.preferenceHasOpenedCanteen = true + } } // Invalidate the view binding diff --git a/app/src/main/java/com/denizk0461/weserplaner/model/SettingsPreferences.kt b/app/src/main/java/com/denizk0461/weserplaner/model/SettingsPreferences.kt index 581430c..bead8d2 100644 --- a/app/src/main/java/com/denizk0461/weserplaner/model/SettingsPreferences.kt +++ b/app/src/main/java/com/denizk0461/weserplaner/model/SettingsPreferences.kt @@ -58,5 +58,10 @@ enum class SettingsPreferences(val key: String) { * The canteen the user has picked. */ CANTEEN("setting_canteen"), + + /** + * Whether the user has opened the canteen fragment before. + */ + HAS_OPENED_CANTEEN("has_opened_canteen"), ; } \ No newline at end of file diff --git a/app/src/main/java/com/denizk0461/weserplaner/viewmodel/CanteenViewModel.kt b/app/src/main/java/com/denizk0461/weserplaner/viewmodel/CanteenViewModel.kt index b317de3..d612e64 100644 --- a/app/src/main/java/com/denizk0461/weserplaner/viewmodel/CanteenViewModel.kt +++ b/app/src/main/java/com/denizk0461/weserplaner/viewmodel/CanteenViewModel.kt @@ -70,4 +70,11 @@ class CanteenViewModel(app: Application) : AppViewModel(app) { var preferenceCanteen: Int get() = repo.getIntPreference(SettingsPreferences.CANTEEN) set(newValue) { repo.setPreference(SettingsPreferences.CANTEEN, newValue) } + + /** + * This value determines whether the user has opened the canteen fragment before. + */ + var preferenceHasOpenedCanteen: Boolean + get() = repo.getBooleanPreference(SettingsPreferences.HAS_OPENED_CANTEEN) + set(newValue) { repo.setPreference(SettingsPreferences.HAS_OPENED_CANTEEN, newValue) } } \ No newline at end of file