From fe0e82b5d60b6095b25d45953dd4c59f1d276b6c Mon Sep 17 00:00:00 2001 From: Benoit Marty Date: Thu, 25 Jan 2024 15:00:43 +0100 Subject: [PATCH] Map `roomInfo.numUnreadNotifications` to `RoomSummaryDetails.numUnreadNotifications` --- .../roomlist/impl/datasource/RoomListRoomSummaryFactory.kt | 2 ++ .../android/features/roomlist/impl/model/RoomListRoomSummary.kt | 1 + .../features/roomlist/impl/model/RoomListRoomSummaryProvider.kt | 2 ++ .../android/libraries/matrix/api/roomlist/RoomSummary.kt | 1 + .../libraries/matrix/impl/roomlist/RoomSummaryDetailsFactory.kt | 1 + .../android/libraries/matrix/test/room/RoomSummaryFixture.kt | 2 ++ .../android/libraries/matrix/ui/components/SelectedRoom.kt | 2 ++ 7 files changed, 11 insertions(+) diff --git a/features/roomlist/impl/src/main/kotlin/io/element/android/features/roomlist/impl/datasource/RoomListRoomSummaryFactory.kt b/features/roomlist/impl/src/main/kotlin/io/element/android/features/roomlist/impl/datasource/RoomListRoomSummaryFactory.kt index e12674658a..9f1416c701 100644 --- a/features/roomlist/impl/src/main/kotlin/io/element/android/features/roomlist/impl/datasource/RoomListRoomSummaryFactory.kt +++ b/features/roomlist/impl/src/main/kotlin/io/element/android/features/roomlist/impl/datasource/RoomListRoomSummaryFactory.kt @@ -43,6 +43,7 @@ class RoomListRoomSummaryFactory @Inject constructor( avatarData = AvatarData(id, "S", size = AvatarSize.RoomListItem), numberOfUnreadMessages = 0, numberOfUnreadMentions = 0, + numberOfUnreadNotifications = 0, userDefinedNotificationMode = null, hasRoomCall = false, isDm = false, @@ -69,6 +70,7 @@ class RoomListRoomSummaryFactory @Inject constructor( name = roomSummary.details.name, numberOfUnreadMessages = roomSummary.details.numUnreadMessages, numberOfUnreadMentions = roomSummary.details.numUnreadMentions, + numberOfUnreadNotifications = roomSummary.details.numUnreadNotifications, timestamp = lastMessageTimestampFormatter.format(roomSummary.details.lastMessageTimestamp), lastMessage = roomSummary.details.lastMessage?.let { message -> roomLastMessageFormatter.format(message.event, roomSummary.details.isDirect) diff --git a/features/roomlist/impl/src/main/kotlin/io/element/android/features/roomlist/impl/model/RoomListRoomSummary.kt b/features/roomlist/impl/src/main/kotlin/io/element/android/features/roomlist/impl/model/RoomListRoomSummary.kt index e35680abc9..f2f0e3932d 100644 --- a/features/roomlist/impl/src/main/kotlin/io/element/android/features/roomlist/impl/model/RoomListRoomSummary.kt +++ b/features/roomlist/impl/src/main/kotlin/io/element/android/features/roomlist/impl/model/RoomListRoomSummary.kt @@ -28,6 +28,7 @@ data class RoomListRoomSummary( val name: String, val numberOfUnreadMessages: Int, val numberOfUnreadMentions: Int, + val numberOfUnreadNotifications: Int, val timestamp: String?, val lastMessage: CharSequence?, val avatarData: AvatarData, diff --git a/features/roomlist/impl/src/main/kotlin/io/element/android/features/roomlist/impl/model/RoomListRoomSummaryProvider.kt b/features/roomlist/impl/src/main/kotlin/io/element/android/features/roomlist/impl/model/RoomListRoomSummaryProvider.kt index f1b0403f5b..e53e1f9072 100644 --- a/features/roomlist/impl/src/main/kotlin/io/element/android/features/roomlist/impl/model/RoomListRoomSummaryProvider.kt +++ b/features/roomlist/impl/src/main/kotlin/io/element/android/features/roomlist/impl/model/RoomListRoomSummaryProvider.kt @@ -88,6 +88,7 @@ internal fun aRoomListRoomSummary( name: String = "Room name", numberOfUnreadMessages: Int = 0, numberOfUnreadMentions: Int = 0, + numberOfUnreadNotifications: Int = 0, lastMessage: String? = "Last message", timestamp: String? = lastMessage?.let { "88:88" }, isPlaceholder: Boolean = false, @@ -101,6 +102,7 @@ internal fun aRoomListRoomSummary( name = name, numberOfUnreadMessages = numberOfUnreadMessages, numberOfUnreadMentions = numberOfUnreadMentions, + numberOfUnreadNotifications = numberOfUnreadNotifications, timestamp = timestamp, lastMessage = lastMessage, avatarData = avatarData, diff --git a/libraries/matrix/api/src/main/kotlin/io/element/android/libraries/matrix/api/roomlist/RoomSummary.kt b/libraries/matrix/api/src/main/kotlin/io/element/android/libraries/matrix/api/roomlist/RoomSummary.kt index 09862c7879..cc584f08bb 100644 --- a/libraries/matrix/api/src/main/kotlin/io/element/android/libraries/matrix/api/roomlist/RoomSummary.kt +++ b/libraries/matrix/api/src/main/kotlin/io/element/android/libraries/matrix/api/roomlist/RoomSummary.kt @@ -42,6 +42,7 @@ data class RoomSummaryDetails( val lastMessage: RoomMessage?, val numUnreadMessages: Int, val numUnreadMentions: Int, + val numUnreadNotifications: Int, val inviter: RoomMember?, val userDefinedNotificationMode: RoomNotificationMode?, val hasRoomCall: Boolean, diff --git a/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/roomlist/RoomSummaryDetailsFactory.kt b/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/roomlist/RoomSummaryDetailsFactory.kt index 59be0ba4ce..1b3e900f17 100644 --- a/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/roomlist/RoomSummaryDetailsFactory.kt +++ b/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/roomlist/RoomSummaryDetailsFactory.kt @@ -37,6 +37,7 @@ class RoomSummaryDetailsFactory(private val roomMessageFactory: RoomMessageFacto avatarUrl = roomInfo.avatarUrl, numUnreadMentions = roomInfo.numUnreadMentions.toInt(), numUnreadMessages = roomInfo.numUnreadMessages.toInt(), + numUnreadNotifications = roomInfo.numUnreadNotifications.toInt(), lastMessage = latestRoomMessage, inviter = roomInfo.inviter?.let(RoomMemberMapper::map), userDefinedNotificationMode = roomInfo.userDefinedNotificationMode?.let(RoomNotificationSettingsMapper::mapMode), diff --git a/libraries/matrix/test/src/main/kotlin/io/element/android/libraries/matrix/test/room/RoomSummaryFixture.kt b/libraries/matrix/test/src/main/kotlin/io/element/android/libraries/matrix/test/room/RoomSummaryFixture.kt index 9e8c438ee3..2bd04894c0 100644 --- a/libraries/matrix/test/src/main/kotlin/io/element/android/libraries/matrix/test/room/RoomSummaryFixture.kt +++ b/libraries/matrix/test/src/main/kotlin/io/element/android/libraries/matrix/test/room/RoomSummaryFixture.kt @@ -61,6 +61,7 @@ fun aRoomSummaryDetails( lastMessage: RoomMessage? = aRoomMessage(), numUnreadMentions: Int = 0, numUnreadMessages: Int = 0, + numUnreadNotifications: Int = 0, notificationMode: RoomNotificationMode? = null, inviter: RoomMember? = null, canonicalAlias: String? = null, @@ -74,6 +75,7 @@ fun aRoomSummaryDetails( lastMessage = lastMessage, numUnreadMentions = numUnreadMentions, numUnreadMessages = numUnreadMessages, + numUnreadNotifications = numUnreadNotifications, userDefinedNotificationMode = notificationMode, inviter = inviter, canonicalAlias = canonicalAlias, diff --git a/libraries/matrixui/src/main/kotlin/io/element/android/libraries/matrix/ui/components/SelectedRoom.kt b/libraries/matrixui/src/main/kotlin/io/element/android/libraries/matrix/ui/components/SelectedRoom.kt index 734f7eef1f..a4d9a479c2 100644 --- a/libraries/matrixui/src/main/kotlin/io/element/android/libraries/matrix/ui/components/SelectedRoom.kt +++ b/libraries/matrixui/src/main/kotlin/io/element/android/libraries/matrix/ui/components/SelectedRoom.kt @@ -115,6 +115,7 @@ fun aRoomSummaryDetails( isDm: Boolean = false, numUnreadMentions: Int = 0, numUnreadMessages: Int = 0, + numUnreadNotifications: Int = 0, ) = RoomSummaryDetails( roomId = roomId, name = name, @@ -128,4 +129,5 @@ fun aRoomSummaryDetails( isDm = isDm, numUnreadMentions = numUnreadMentions, numUnreadMessages = numUnreadMessages, + numUnreadNotifications = numUnreadNotifications, )