Skip to content

Commit a8e1744

Browse files
Update dependency org.matrix.rustcomponents:sdk-android to v25.9.25 (#5412)
* Update dependency org.matrix.rustcomponents:sdk-android to v25.9.25 * Adapt to SDK changes: `MessageLikeEventType` is now a sealed interface and has a new `data class Other(val v1: String)` case. --------- Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: Jorge Martín <[email protected]>
1 parent 7334a97 commit a8e1744

File tree

8 files changed

+133
-125
lines changed

8 files changed

+133
-125
lines changed

features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/MessagesPresenter.kt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -282,8 +282,8 @@ class MessagesPresenter(
282282
}
283283
return produceState(UserEventPermissions.DEFAULT, key1 = key) {
284284
value = UserEventPermissions(
285-
canSendMessage = room.canSendMessage(type = MessageEventType.ROOM_MESSAGE).getOrElse { true },
286-
canSendReaction = room.canSendMessage(type = MessageEventType.REACTION).getOrElse { true },
285+
canSendMessage = room.canSendMessage(type = MessageEventType.RoomMessage).getOrElse { true },
286+
canSendReaction = room.canSendMessage(type = MessageEventType.Reaction).getOrElse { true },
287287
canRedactOwn = room.canRedactOwn().getOrElse { false },
288288
canRedactOther = room.canRedactOther().getOrElse { false },
289289
canPinUnpin = room.canPinUnpin().getOrElse { false },

features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/TimelinePresenter.kt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -117,8 +117,8 @@ class TimelinePresenter(
117117

118118
val syncUpdateFlow = room.syncUpdateFlow.collectAsState()
119119

120-
val userHasPermissionToSendMessage by room.canSendMessageAsState(type = MessageEventType.ROOM_MESSAGE, updateKey = syncUpdateFlow.value)
121-
val userHasPermissionToSendReaction by room.canSendMessageAsState(type = MessageEventType.REACTION, updateKey = syncUpdateFlow.value)
120+
val userHasPermissionToSendMessage by room.canSendMessageAsState(type = MessageEventType.RoomMessage, updateKey = syncUpdateFlow.value)
121+
val userHasPermissionToSendReaction by room.canSendMessageAsState(type = MessageEventType.Reaction, updateKey = syncUpdateFlow.value)
122122

123123
val prevMostRecentItemId = rememberSaveable { mutableStateOf<UniqueId?>(null) }
124124

features/messages/impl/src/test/kotlin/io/element/android/features/messages/impl/MessagesPresenterTest.kt

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -794,8 +794,8 @@ class MessagesPresenterTest {
794794
canUserPinUnpinResult = { Result.success(true) },
795795
canUserSendMessageResult = { _, messageEventType ->
796796
when (messageEventType) {
797-
MessageEventType.ROOM_MESSAGE -> Result.success(true)
798-
MessageEventType.REACTION -> Result.success(true)
797+
MessageEventType.RoomMessage -> Result.success(true)
798+
MessageEventType.Reaction -> Result.success(true)
799799
else -> lambdaError()
800800
}
801801
},
@@ -820,8 +820,8 @@ class MessagesPresenterTest {
820820
canUserPinUnpinResult = { Result.success(true) },
821821
canUserSendMessageResult = { _, messageEventType ->
822822
when (messageEventType) {
823-
MessageEventType.ROOM_MESSAGE -> Result.success(false)
824-
MessageEventType.REACTION -> Result.success(false)
823+
MessageEventType.RoomMessage -> Result.success(false)
824+
MessageEventType.Reaction -> Result.success(false)
825825
else -> lambdaError()
826826
}
827827
},

gradle/libs.versions.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -166,7 +166,7 @@ test_detekt_test = { module = "io.gitlab.arturbosch.detekt:detekt-test", version
166166
# https://github.com/matrix-org/matrix-rust-components-kotlin/commits/main/sdk/sdk-android/src/main/kotlin/org/matrix/rustcomponents/sdk/matrix_sdk_ffi.kt
167167
# All new features should not be implemented in the pull request that upgrades the version, developers should
168168
# only fix API breaks and may add some TODOs.
169-
matrix_sdk = "org.matrix.rustcomponents:sdk-android:25.9.23"
169+
matrix_sdk = "org.matrix.rustcomponents:sdk-android:25.9.25"
170170

171171
# Others
172172
coil = { module = "io.coil-kt.coil3:coil", version.ref = "coil" }

libraries/matrix/api/src/main/kotlin/io/element/android/libraries/matrix/api/room/MessageEventType.kt

Lines changed: 28 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -7,28 +7,32 @@
77

88
package io.element.android.libraries.matrix.api.room
99

10-
enum class MessageEventType {
11-
CALL_ANSWER,
12-
CALL_INVITE,
13-
CALL_HANGUP,
14-
CALL_CANDIDATES,
15-
RTC_NOTIFICATION,
16-
KEY_VERIFICATION_READY,
17-
KEY_VERIFICATION_START,
18-
KEY_VERIFICATION_CANCEL,
19-
KEY_VERIFICATION_ACCEPT,
20-
KEY_VERIFICATION_KEY,
21-
KEY_VERIFICATION_MAC,
22-
KEY_VERIFICATION_DONE,
23-
REACTION,
24-
ROOM_ENCRYPTED,
25-
ROOM_MESSAGE,
26-
ROOM_REDACTION,
27-
STICKER,
28-
POLL_END,
29-
POLL_RESPONSE,
30-
POLL_START,
31-
UNSTABLE_POLL_END,
32-
UNSTABLE_POLL_RESPONSE,
33-
UNSTABLE_POLL_START,
10+
import androidx.compose.runtime.Immutable
11+
12+
@Immutable
13+
sealed interface MessageEventType {
14+
data object CallAnswer : MessageEventType
15+
data object CallInvite : MessageEventType
16+
data object CallHangup : MessageEventType
17+
data object CallCandidates : MessageEventType
18+
data object RtcNotification : MessageEventType
19+
data object KeyVerificationReady : MessageEventType
20+
data object KeyVerificationStart : MessageEventType
21+
data object KeyVerificationCancel : MessageEventType
22+
data object KeyVerificationAccept : MessageEventType
23+
data object KeyVerificationKey : MessageEventType
24+
data object KeyVerificationMac : MessageEventType
25+
data object KeyVerificationDone : MessageEventType
26+
data object Reaction : MessageEventType
27+
data object RoomEncrypted : MessageEventType
28+
data object RoomMessage : MessageEventType
29+
data object RoomRedaction : MessageEventType
30+
data object Sticker : MessageEventType
31+
data object PollEnd : MessageEventType
32+
data object PollResponse : MessageEventType
33+
data object PollStart : MessageEventType
34+
data object UnstablePollEnd : MessageEventType
35+
data object UnstablePollResponse : MessageEventType
36+
data object UnstablePollStart : MessageEventType
37+
data class Other(val type: String) : MessageEventType
3438
}

libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/room/MessageEventType.kt

Lines changed: 48 additions & 46 deletions
Original file line numberDiff line numberDiff line change
@@ -11,53 +11,55 @@ import io.element.android.libraries.matrix.api.room.MessageEventType
1111
import org.matrix.rustcomponents.sdk.MessageLikeEventType
1212

1313
fun MessageEventType.map(): MessageLikeEventType = when (this) {
14-
MessageEventType.CALL_ANSWER -> MessageLikeEventType.CALL_ANSWER
15-
MessageEventType.CALL_INVITE -> MessageLikeEventType.CALL_INVITE
16-
MessageEventType.CALL_HANGUP -> MessageLikeEventType.CALL_HANGUP
17-
MessageEventType.CALL_CANDIDATES -> MessageLikeEventType.CALL_CANDIDATES
18-
MessageEventType.RTC_NOTIFICATION -> MessageLikeEventType.RTC_NOTIFICATION
19-
MessageEventType.KEY_VERIFICATION_READY -> MessageLikeEventType.KEY_VERIFICATION_READY
20-
MessageEventType.KEY_VERIFICATION_START -> MessageLikeEventType.KEY_VERIFICATION_START
21-
MessageEventType.KEY_VERIFICATION_CANCEL -> MessageLikeEventType.KEY_VERIFICATION_CANCEL
22-
MessageEventType.KEY_VERIFICATION_ACCEPT -> MessageLikeEventType.KEY_VERIFICATION_ACCEPT
23-
MessageEventType.KEY_VERIFICATION_KEY -> MessageLikeEventType.KEY_VERIFICATION_KEY
24-
MessageEventType.KEY_VERIFICATION_MAC -> MessageLikeEventType.KEY_VERIFICATION_MAC
25-
MessageEventType.KEY_VERIFICATION_DONE -> MessageLikeEventType.KEY_VERIFICATION_DONE
26-
MessageEventType.REACTION -> MessageLikeEventType.REACTION
27-
MessageEventType.ROOM_ENCRYPTED -> MessageLikeEventType.ROOM_ENCRYPTED
28-
MessageEventType.ROOM_MESSAGE -> MessageLikeEventType.ROOM_MESSAGE
29-
MessageEventType.ROOM_REDACTION -> MessageLikeEventType.ROOM_REDACTION
30-
MessageEventType.STICKER -> MessageLikeEventType.STICKER
31-
MessageEventType.POLL_END -> MessageLikeEventType.POLL_END
32-
MessageEventType.POLL_RESPONSE -> MessageLikeEventType.POLL_RESPONSE
33-
MessageEventType.POLL_START -> MessageLikeEventType.POLL_START
34-
MessageEventType.UNSTABLE_POLL_END -> MessageLikeEventType.UNSTABLE_POLL_END
35-
MessageEventType.UNSTABLE_POLL_RESPONSE -> MessageLikeEventType.UNSTABLE_POLL_RESPONSE
36-
MessageEventType.UNSTABLE_POLL_START -> MessageLikeEventType.UNSTABLE_POLL_START
14+
MessageEventType.CallAnswer -> MessageLikeEventType.CallAnswer
15+
MessageEventType.CallInvite -> MessageLikeEventType.CallInvite
16+
MessageEventType.CallHangup -> MessageLikeEventType.CallHangup
17+
MessageEventType.CallCandidates -> MessageLikeEventType.CallCandidates
18+
MessageEventType.RtcNotification -> MessageLikeEventType.RtcNotification
19+
MessageEventType.KeyVerificationReady -> MessageLikeEventType.KeyVerificationReady
20+
MessageEventType.KeyVerificationStart -> MessageLikeEventType.KeyVerificationStart
21+
MessageEventType.KeyVerificationCancel -> MessageLikeEventType.KeyVerificationCancel
22+
MessageEventType.KeyVerificationAccept -> MessageLikeEventType.KeyVerificationAccept
23+
MessageEventType.KeyVerificationKey -> MessageLikeEventType.KeyVerificationKey
24+
MessageEventType.KeyVerificationMac -> MessageLikeEventType.KeyVerificationMac
25+
MessageEventType.KeyVerificationDone -> MessageLikeEventType.KeyVerificationDone
26+
MessageEventType.Reaction -> MessageLikeEventType.Reaction
27+
MessageEventType.RoomEncrypted -> MessageLikeEventType.RoomEncrypted
28+
MessageEventType.RoomMessage -> MessageLikeEventType.RoomMessage
29+
MessageEventType.RoomRedaction -> MessageLikeEventType.RoomRedaction
30+
MessageEventType.Sticker -> MessageLikeEventType.Sticker
31+
MessageEventType.PollEnd -> MessageLikeEventType.PollEnd
32+
MessageEventType.PollResponse -> MessageLikeEventType.PollResponse
33+
MessageEventType.PollStart -> MessageLikeEventType.PollStart
34+
MessageEventType.UnstablePollEnd -> MessageLikeEventType.UnstablePollEnd
35+
MessageEventType.UnstablePollResponse -> MessageLikeEventType.UnstablePollResponse
36+
MessageEventType.UnstablePollStart -> MessageLikeEventType.UnstablePollStart
37+
is MessageEventType.Other -> MessageLikeEventType.Other(type)
3738
}
3839

3940
fun MessageLikeEventType.map(): MessageEventType = when (this) {
40-
MessageLikeEventType.CALL_ANSWER -> MessageEventType.CALL_ANSWER
41-
MessageLikeEventType.CALL_INVITE -> MessageEventType.CALL_INVITE
42-
MessageLikeEventType.CALL_HANGUP -> MessageEventType.CALL_HANGUP
43-
MessageLikeEventType.CALL_CANDIDATES -> MessageEventType.CALL_CANDIDATES
44-
MessageLikeEventType.RTC_NOTIFICATION -> MessageEventType.RTC_NOTIFICATION
45-
MessageLikeEventType.KEY_VERIFICATION_READY -> MessageEventType.KEY_VERIFICATION_READY
46-
MessageLikeEventType.KEY_VERIFICATION_START -> MessageEventType.KEY_VERIFICATION_START
47-
MessageLikeEventType.KEY_VERIFICATION_CANCEL -> MessageEventType.KEY_VERIFICATION_CANCEL
48-
MessageLikeEventType.KEY_VERIFICATION_ACCEPT -> MessageEventType.KEY_VERIFICATION_ACCEPT
49-
MessageLikeEventType.KEY_VERIFICATION_KEY -> MessageEventType.KEY_VERIFICATION_KEY
50-
MessageLikeEventType.KEY_VERIFICATION_MAC -> MessageEventType.KEY_VERIFICATION_MAC
51-
MessageLikeEventType.KEY_VERIFICATION_DONE -> MessageEventType.KEY_VERIFICATION_DONE
52-
MessageLikeEventType.REACTION -> MessageEventType.REACTION
53-
MessageLikeEventType.ROOM_ENCRYPTED -> MessageEventType.ROOM_ENCRYPTED
54-
MessageLikeEventType.ROOM_MESSAGE -> MessageEventType.ROOM_MESSAGE
55-
MessageLikeEventType.ROOM_REDACTION -> MessageEventType.ROOM_REDACTION
56-
MessageLikeEventType.STICKER -> MessageEventType.STICKER
57-
MessageLikeEventType.POLL_END -> MessageEventType.POLL_END
58-
MessageLikeEventType.POLL_RESPONSE -> MessageEventType.POLL_RESPONSE
59-
MessageLikeEventType.POLL_START -> MessageEventType.POLL_START
60-
MessageLikeEventType.UNSTABLE_POLL_END -> MessageEventType.UNSTABLE_POLL_END
61-
MessageLikeEventType.UNSTABLE_POLL_RESPONSE -> MessageEventType.UNSTABLE_POLL_RESPONSE
62-
MessageLikeEventType.UNSTABLE_POLL_START -> MessageEventType.UNSTABLE_POLL_START
41+
MessageLikeEventType.CallAnswer -> MessageEventType.CallAnswer
42+
MessageLikeEventType.CallInvite -> MessageEventType.CallInvite
43+
MessageLikeEventType.CallHangup -> MessageEventType.CallHangup
44+
MessageLikeEventType.CallCandidates -> MessageEventType.CallCandidates
45+
MessageLikeEventType.RtcNotification -> MessageEventType.RtcNotification
46+
MessageLikeEventType.KeyVerificationReady -> MessageEventType.KeyVerificationReady
47+
MessageLikeEventType.KeyVerificationStart -> MessageEventType.KeyVerificationStart
48+
MessageLikeEventType.KeyVerificationCancel -> MessageEventType.KeyVerificationCancel
49+
MessageLikeEventType.KeyVerificationAccept -> MessageEventType.KeyVerificationAccept
50+
MessageLikeEventType.KeyVerificationKey -> MessageEventType.KeyVerificationKey
51+
MessageLikeEventType.KeyVerificationMac -> MessageEventType.KeyVerificationMac
52+
MessageLikeEventType.KeyVerificationDone -> MessageEventType.KeyVerificationDone
53+
MessageLikeEventType.Reaction -> MessageEventType.Reaction
54+
MessageLikeEventType.RoomEncrypted -> MessageEventType.RoomEncrypted
55+
MessageLikeEventType.RoomMessage -> MessageEventType.RoomMessage
56+
MessageLikeEventType.RoomRedaction -> MessageEventType.RoomRedaction
57+
MessageLikeEventType.Sticker -> MessageEventType.Sticker
58+
MessageLikeEventType.PollEnd -> MessageEventType.PollEnd
59+
MessageLikeEventType.PollResponse -> MessageEventType.PollResponse
60+
MessageLikeEventType.PollStart -> MessageEventType.PollStart
61+
MessageLikeEventType.UnstablePollEnd -> MessageEventType.UnstablePollEnd
62+
MessageLikeEventType.UnstablePollResponse -> MessageEventType.UnstablePollResponse
63+
MessageLikeEventType.UnstablePollStart -> MessageEventType.UnstablePollStart
64+
is MessageLikeEventType.Other -> MessageEventType.Other(v1)
6365
}

libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/timeline/item/event/TimelineEventContentMapper.kt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@ import io.element.android.libraries.matrix.api.timeline.item.event.RoomMembershi
2727
import io.element.android.libraries.matrix.api.timeline.item.event.StateContent
2828
import io.element.android.libraries.matrix.api.timeline.item.event.StickerContent
2929
import io.element.android.libraries.matrix.api.timeline.item.event.UnableToDecryptContent
30+
import io.element.android.libraries.matrix.api.timeline.item.event.UnknownContent
3031
import io.element.android.libraries.matrix.api.timeline.item.event.UtdCause
3132
import io.element.android.libraries.matrix.impl.media.map
3233
import io.element.android.libraries.matrix.impl.poll.map
@@ -126,6 +127,7 @@ class TimelineEventContentMapper(
126127
source = kind.source.map(),
127128
)
128129
}
130+
is MsgLikeKind.Other -> UnknownContent
129131
}
130132
}
131133
is TimelineItemContent.ProfileChange -> {

0 commit comments

Comments
 (0)