File tree Expand file tree Collapse file tree 2 files changed +11
-4
lines changed
api/src/main/kotlin/io/element/android/libraries/matrix/api/timeline/item/event
impl/src/main/kotlin/io/element/android/libraries/matrix/impl/timeline/item/event Expand file tree Collapse file tree 2 files changed +11
-4
lines changed Original file line number Diff line number Diff line change 88package io.element.android.libraries.matrix.api.timeline.item.event
99
1010import androidx.compose.runtime.Immutable
11+ import io.element.android.libraries.matrix.api.core.DeviceId
1112import io.element.android.libraries.matrix.api.core.EventId
1213import io.element.android.libraries.matrix.api.core.UserId
1314
@@ -18,21 +19,24 @@ sealed interface LocalEventSendState {
1819 data class Unknown (val error : String ) : Failed
1920 data object CrossSigningNotSetup : Failed
2021 data object SendingFromUnverifiedDevice : Failed
22+
23+ sealed interface VerifiedUser : Failed
2124 data class VerifiedUserHasUnsignedDevice (
2225 /* *
2326 * The unsigned devices belonging to verified users. A map from user ID
2427 * to a list of device IDs.
2528 */
26- val devices : Map <UserId , List <String >>
27- ) : Failed
29+ val devices : Map <UserId , List <DeviceId >>
30+ ) : VerifiedUser
2831
2932 data class VerifiedUserChangedIdentity (
3033 /* *
3134 * The users that were previously verified but are no longer.
3235 */
3336 val users : List <UserId >
34- ) : Failed
37+ ) : VerifiedUser
3538 }
39+
3640 data class Sent (
3741 val eventId : EventId
3842 ) : LocalEventSendState
Original file line number Diff line number Diff line change 77
88package io.element.android.libraries.matrix.impl.timeline.item.event
99
10+ import io.element.android.libraries.matrix.api.core.DeviceId
1011import io.element.android.libraries.matrix.api.core.EventId
1112import io.element.android.libraries.matrix.api.core.TransactionId
1213import io.element.android.libraries.matrix.api.core.UserId
@@ -87,7 +88,9 @@ fun RustEventSendState?.map(): LocalEventSendState? {
8788 }
8889 is RustEventSendState .VerifiedUserHasUnsignedDevice -> {
8990 LocalEventSendState .Failed .VerifiedUserHasUnsignedDevice (
90- devices = devices.mapKeys { UserId (it.key) }
91+ devices = devices.entries.associate { entry ->
92+ UserId (entry.key) to entry.value.map { DeviceId (it) }
93+ }
9194 )
9295 }
9396 EventSendState .CrossSigningNotSetup -> LocalEventSendState .Failed .CrossSigningNotSetup
You can’t perform that action at this time.
0 commit comments