mirror of
https://github.com/Novaloop-AG/element-x-android.git
synced 2026-11-02 12:07:28 +00:00
Improve InMemoryAnnouncementStore
This commit is contained in:
+8
-8
@@ -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
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user