Skip to content

Commit 45c216c

Browse files
authored
Merge pull request #3343 from element-hq/renovate/org.matrix.rustcomponents-sdk-android-0.x
Update dependency org.matrix.rustcomponents:sdk-android to v0.2.40
2 parents 90ac43a + 7310adc commit 45c216c

File tree

22 files changed

+87
-52
lines changed

22 files changed

+87
-52
lines changed

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

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -84,7 +84,7 @@ internal fun aTimelineItemList(content: TimelineItemEventContent): ImmutableList
8484
isMine = false,
8585
content = content,
8686
groupPosition = TimelineItemGroupPosition.Middle,
87-
sendState = LocalEventSendState.SendingFailed.Unrecoverable("Message failed to send"),
87+
sendState = LocalEventSendState.Failed.Unknown("Message failed to send"),
8888
),
8989
aTimelineItemEvent(
9090
isMine = false,
@@ -107,7 +107,7 @@ internal fun aTimelineItemList(content: TimelineItemEventContent): ImmutableList
107107
isMine = true,
108108
content = content,
109109
groupPosition = TimelineItemGroupPosition.Middle,
110-
sendState = LocalEventSendState.SendingFailed.Unrecoverable("Message failed to send"),
110+
sendState = LocalEventSendState.Failed.Unknown("Message failed to send"),
111111
),
112112
aTimelineItemEvent(
113113
isMine = true,

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

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -88,6 +88,7 @@ internal fun MessageShield.toText(): String {
8888
is MessageShield.UnsignedDevice -> CommonStrings.event_shield_reason_unsigned_device
8989
is MessageShield.UnverifiedIdentity -> CommonStrings.event_shield_reason_unverified_identity
9090
is MessageShield.SentInClear -> CommonStrings.event_shield_reason_sent_in_clear
91+
is MessageShield.PreviouslyVerified -> CommonStrings.event_shield_reason_previously_verified
9192
}
9293
)
9394
}
@@ -98,7 +99,8 @@ internal fun MessageShield.toIcon(): ImageVector {
9899
is MessageShield.AuthenticityNotGuaranteed -> CompoundIcons.Info()
99100
is MessageShield.UnknownDevice,
100101
is MessageShield.UnsignedDevice,
101-
is MessageShield.UnverifiedIdentity -> CompoundIcons.HelpSolid()
102+
is MessageShield.UnverifiedIdentity,
103+
is MessageShield.PreviouslyVerified -> CompoundIcons.HelpSolid()
102104
is MessageShield.SentInClear -> CompoundIcons.LockOff()
103105
}
104106
}
@@ -126,6 +128,9 @@ internal fun MessageShieldViewPreview() {
126128
MessageShieldView(
127129
shield = MessageShield.SentInClear(false)
128130
)
131+
MessageShieldView(
132+
shield = MessageShield.PreviouslyVerified(false)
133+
)
129134
}
130135
}
131136
}

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

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -51,10 +51,10 @@ fun TimelineEventTimestampView(
5151
modifier: Modifier = Modifier,
5252
) {
5353
val formattedTime = event.sentTime
54-
val hasUnrecoverableError = event.localSendState is LocalEventSendState.SendingFailed.Unrecoverable
54+
val hasError = event.localSendState is LocalEventSendState.Failed
5555
val hasEncryptionCritical = event.messageShield?.isCritical.orFalse()
5656
val isMessageEdited = event.content.isEdited()
57-
val tint = if (hasUnrecoverableError || hasEncryptionCritical) MaterialTheme.colorScheme.error else MaterialTheme.colorScheme.secondary
57+
val tint = if (hasError || hasEncryptionCritical) MaterialTheme.colorScheme.error else MaterialTheme.colorScheme.secondary
5858
Row(
5959
modifier = Modifier
6060
.padding(PaddingValues(start = TimelineEventTimestampViewDefaults.spacing))
@@ -74,7 +74,7 @@ fun TimelineEventTimestampView(
7474
style = ElementTheme.typography.fontBodyXsRegular,
7575
color = tint,
7676
)
77-
if (hasUnrecoverableError) {
77+
if (hasError) {
7878
Spacer(modifier = Modifier.width(2.dp))
7979
Icon(
8080
imageVector = CompoundIcons.Error(),

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

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -27,15 +27,13 @@ class TimelineItemEventForTimestampViewProvider : PreviewParameterProvider<Timel
2727
override val values: Sequence<TimelineItem.Event>
2828
get() = sequenceOf(
2929
aTimelineItemEvent(),
30-
// Sending failed recoverable
31-
aTimelineItemEvent().copy(localSendState = LocalEventSendState.SendingFailed.Recoverable("AN_ERROR")),
32-
// Sending failed unrecoverable
33-
aTimelineItemEvent().copy(localSendState = LocalEventSendState.SendingFailed.Unrecoverable("AN_ERROR")),
30+
aTimelineItemEvent().copy(localSendState = LocalEventSendState.Sending),
31+
aTimelineItemEvent().copy(localSendState = LocalEventSendState.Failed.Unknown("AN_ERROR")),
3432
// Edited
3533
aTimelineItemEvent().copy(content = aTimelineItemTextContent().copy(isEdited = true)),
3634
// Sending failed + Edited (not sure this is possible IRL, but should be covered by test)
3735
aTimelineItemEvent().copy(
38-
localSendState = LocalEventSendState.SendingFailed.Unrecoverable("AN_ERROR"),
36+
localSendState = LocalEventSendState.Failed.Unknown("AN_ERROR"),
3937
content = aTimelineItemTextContent().copy(isEdited = true),
4038
),
4139
aTimelineItemEvent().copy(

features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/components/receipt/ReadReceiptViewStateForTimelineItemEventRowProvider.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ class ReadReceiptViewStateForTimelineItemEventRowProvider :
2626
override val values: Sequence<ReadReceiptViewState>
2727
get() = sequenceOf(
2828
aReadReceiptViewState(
29-
sendState = LocalEventSendState.NotSentYet
29+
sendState = LocalEventSendState.Sending,
3030
),
3131
aReadReceiptViewState(
3232
sendState = LocalEventSendState.Sent(EventId("\$eventId")),

features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/components/receipt/ReadReceiptViewStateProvider.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ class ReadReceiptViewStateProvider : PreviewParameterProvider<ReadReceiptViewSta
2929
override val values: Sequence<ReadReceiptViewState>
3030
get() = sequenceOf(
3131
aReadReceiptViewState(),
32-
aReadReceiptViewState(sendState = LocalEventSendState.NotSentYet),
32+
aReadReceiptViewState(sendState = LocalEventSendState.Sending),
3333
aReadReceiptViewState(sendState = LocalEventSendState.Sent(EventId("\$eventId"))),
3434
aReadReceiptViewState(
3535
sendState = LocalEventSendState.Sent(EventId("\$eventId")),

features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/components/receipt/TimelineItemReadReceiptView.kt

Lines changed: 16 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -70,19 +70,18 @@ fun TimelineItemReadReceiptView(
7070
ReadReceiptsAvatars(
7171
receipts = state.receipts,
7272
modifier = Modifier
73-
.testTag(TestTags.messageReadReceipts)
74-
.clip(RoundedCornerShape(4.dp))
75-
.clickable {
76-
onReadReceiptsClick()
77-
}
78-
.padding(2.dp)
73+
.testTag(TestTags.messageReadReceipts)
74+
.clip(RoundedCornerShape(4.dp))
75+
.clickable {
76+
onReadReceiptsClick()
77+
}
78+
.padding(2.dp)
7979
)
8080
}
8181
}
8282
} else {
8383
when (state.sendState) {
84-
LocalEventSendState.NotSentYet,
85-
is LocalEventSendState.SendingFailed.Recoverable -> {
84+
LocalEventSendState.Sending -> {
8685
ReadReceiptsRow(modifier) {
8786
Icon(
8887
modifier = Modifier.padding(2.dp),
@@ -92,7 +91,7 @@ fun TimelineItemReadReceiptView(
9291
)
9392
}
9493
}
95-
is LocalEventSendState.SendingFailed.Unrecoverable -> {
94+
is LocalEventSendState.Failed -> {
9695
// Error? The timestamp is already displayed in red
9796
}
9897
null,
@@ -119,9 +118,9 @@ private fun ReadReceiptsRow(
119118
) {
120119
Row(
121120
modifier = modifier
122-
.fillMaxWidth()
123-
.height(AvatarSize.TimelineReadReceipt.dp + 8.dp)
124-
.padding(horizontal = 18.dp),
121+
.fillMaxWidth()
122+
.height(AvatarSize.TimelineReadReceipt.dp + 8.dp)
123+
.padding(horizontal = 18.dp),
125124
horizontalArrangement = Arrangement.End,
126125
verticalAlignment = Alignment.CenterVertically,
127126
) {
@@ -160,11 +159,11 @@ private fun ReadReceiptsAvatars(
160159
.forEachIndexed { index, readReceiptData ->
161160
Box(
162161
modifier = Modifier
163-
.padding(end = (12.dp + avatarStrokeSize * 2) * index)
164-
.size(size = avatarSize + avatarStrokeSize * 2)
165-
.clip(CircleShape)
166-
.background(avatarStrokeColor)
167-
.zIndex(index.toFloat()),
162+
.padding(end = (12.dp + avatarStrokeSize * 2) * index)
163+
.size(size = avatarSize + avatarStrokeSize * 2)
164+
.clip(CircleShape)
165+
.background(avatarStrokeColor)
166+
.zIndex(index.toFloat()),
168167
contentAlignment = Alignment.Center,
169168
) {
170169
Avatar(

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -90,7 +90,7 @@ sealed interface TimelineItem {
9090

9191
val safeSenderName: String = senderProfile.getDisambiguatedDisplayName(senderId)
9292

93-
val failedToSend: Boolean = localSendState is LocalEventSendState.SendingFailed
93+
val failedToSend: Boolean = localSendState is LocalEventSendState.Failed
9494

9595
val isTextMessage: Boolean = content is TimelineItemTextBasedContent
9696

gradle/libs.versions.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -163,7 +163,7 @@ jsoup = "org.jsoup:jsoup:1.18.1"
163163
appyx_core = { module = "com.bumble.appyx:core", version.ref = "appyx" }
164164
molecule-runtime = "app.cash.molecule:molecule-runtime:2.0.0"
165165
timber = "com.jakewharton.timber:timber:5.0.1"
166-
matrix_sdk = "org.matrix.rustcomponents:sdk-android:0.2.39"
166+
matrix_sdk = "org.matrix.rustcomponents:sdk-android:0.2.40"
167167
matrix_richtexteditor = { module = "io.element.android:wysiwyg", version.ref = "wysiwyg" }
168168
matrix_richtexteditor_compose = { module = "io.element.android:wysiwyg-compose", version.ref = "wysiwyg" }
169169
sqldelight-driver-android = { module = "app.cash.sqldelight:android-driver", version.ref = "sqldelight" }

libraries/matrix/api/src/main/kotlin/io/element/android/libraries/matrix/api/notification/NotificationData.kt

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -53,6 +53,7 @@ sealed interface NotificationContent {
5353
data class CallInvite(
5454
val senderId: UserId,
5555
) : MessageLike
56+
5657
data class CallNotify(
5758
val senderId: UserId,
5859
val type: CallNotifyType,
@@ -77,7 +78,11 @@ sealed interface NotificationContent {
7778
val messageType: MessageType
7879
) : MessageLike
7980

80-
data object RoomRedaction : MessageLike
81+
data class RoomRedaction(
82+
val redactedEventId: String?,
83+
val reason: String?
84+
) : MessageLike
85+
8186
data object Sticker : MessageLike
8287
data class Poll(
8388
val senderId: UserId,

0 commit comments

Comments
 (0)