@@ -28,7 +28,6 @@ import io.element.android.libraries.designsystem.components.avatar.AvatarSize
28
28
import io.element.android.libraries.eventformatter.api.RoomLastMessageFormatter
29
29
import io.element.android.libraries.matrix.api.core.RoomId
30
30
import io.element.android.libraries.matrix.api.notificationsettings.NotificationSettingsService
31
- import io.element.android.libraries.matrix.api.room.RoomNotificationMode
32
31
import io.element.android.libraries.matrix.api.roomlist.RoomListService
33
32
import io.element.android.libraries.matrix.api.roomlist.RoomSummary
34
33
import kotlinx.collections.immutable.ImmutableList
@@ -57,7 +56,7 @@ class RoomListDataSource @Inject constructor(
57
56
private val appScope : CoroutineScope ,
58
57
) {
59
58
init {
60
- observerNotificationSettings ()
59
+ observeNotificationSettings ()
61
60
}
62
61
63
62
private val _filter = MutableStateFlow (" " )
@@ -103,7 +102,7 @@ class RoomListDataSource @Inject constructor(
103
102
val filteredRooms: StateFlow <ImmutableList <RoomListRoomSummary >> = _filteredRooms
104
103
105
104
@OptIn(FlowPreview ::class )
106
- private fun observerNotificationSettings () {
105
+ private fun observeNotificationSettings () {
107
106
notificationSettingsService.notificationSettingsChangeFlow
108
107
.debounce(0.5 .seconds)
109
108
.onEach {
@@ -140,16 +139,10 @@ class RoomListDataSource @Inject constructor(
140
139
}
141
140
}
142
141
143
- private fun buildAndCacheItem (roomSummaries : List <RoomSummary >, index : Int , ): RoomListRoomSummary ? {
142
+ private fun buildAndCacheItem (roomSummaries : List <RoomSummary >, index : Int ): RoomListRoomSummary ? {
144
143
val roomListRoomSummary = when (val roomSummary = roomSummaries.getOrNull(index)) {
145
144
is RoomSummary .Empty -> RoomListRoomSummaryPlaceholders .create(roomSummary.identifier)
146
145
is RoomSummary .Filled -> {
147
- // Only show a decoration if the mode is not ALL_MESSAGES
148
- val notificationMode = if (roomSummary.details.notificationMode == RoomNotificationMode .ALL_MESSAGES ) {
149
- null
150
- } else {
151
- roomSummary.details.notificationMode
152
- }
153
146
val avatarData = AvatarData (
154
147
id = roomSummary.identifier(),
155
148
name = roomSummary.details.name,
@@ -167,7 +160,7 @@ class RoomListDataSource @Inject constructor(
167
160
roomLastMessageFormatter.format(message.event, roomSummary.details.isDirect)
168
161
}.orEmpty(),
169
162
avatarData = avatarData,
170
- notificationMode = notificationMode
163
+ notificationMode = roomSummary.details. notificationMode,
171
164
)
172
165
}
173
166
null -> null
0 commit comments