Improve InMemoryAnnouncementStore

This commit is contained in:
Benoit Marty 2025-10-08 10:29:15 +02:00
parent 7d922bbd03
commit 6b59c82a5c

View file

@ -20,20 +20,20 @@ class InMemoryAnnouncementStore(
private val newNotificationSoundAnnouncement = MutableStateFlow(initialNewNotificationSoundAnnouncementStatus) private val newNotificationSoundAnnouncement = MutableStateFlow(initialNewNotificationSoundAnnouncementStatus)
override suspend fun setAnnouncementStatus(announcement: Announcement, status: AnnouncementStore.AnnouncementStatus) { override suspend fun setAnnouncementStatus(announcement: Announcement, status: AnnouncementStore.AnnouncementStatus) {
when (announcement) { announcement.toMutableStateFlow().value = status
Announcement.Space -> spaceAnnouncement.value = status
Announcement.NewNotificationSound -> newNotificationSoundAnnouncement.value = status
}
} }
override fun announcementStatusFlow(announcement: Announcement): Flow<AnnouncementStore.AnnouncementStatus> { override fun announcementStatusFlow(announcement: Announcement): Flow<AnnouncementStore.AnnouncementStatus> {
return when (announcement) { return announcement.toMutableStateFlow().asStateFlow()
Announcement.Space -> spaceAnnouncement.asStateFlow()
Announcement.NewNotificationSound -> newNotificationSoundAnnouncement.asStateFlow()
}
} }
override suspend fun reset() { override suspend fun reset() {
spaceAnnouncement.value = AnnouncementStore.AnnouncementStatus.NeverShown spaceAnnouncement.value = AnnouncementStore.AnnouncementStatus.NeverShown
newNotificationSoundAnnouncement.value = AnnouncementStore.AnnouncementStatus.NeverShown
}
private fun Announcement.toMutableStateFlow() = when (this) {
Announcement.Space -> spaceAnnouncement
Announcement.NewNotificationSound -> newNotificationSoundAnnouncement
} }
} }