Fix other API change: EventShieldsProvider and EventTimelineItemDebugInfoProvider have been replaced by LazyTimelineItemProvider
This commit is contained in:
parent
fb809dd074
commit
28d9da6d62
15 changed files with 105 additions and 100 deletions
|
|
@ -12,10 +12,9 @@ import io.element.android.libraries.matrix.api.core.EventId
|
|||
import io.element.android.libraries.matrix.api.core.TransactionId
|
||||
import io.element.android.libraries.matrix.api.core.UserId
|
||||
import io.element.android.libraries.matrix.api.timeline.item.TimelineItemDebugInfo
|
||||
import io.element.android.libraries.matrix.api.timeline.item.event.EventDebugInfoProvider
|
||||
import io.element.android.libraries.matrix.api.timeline.item.event.EventReaction
|
||||
import io.element.android.libraries.matrix.api.timeline.item.event.EventShieldsProvider
|
||||
import io.element.android.libraries.matrix.api.timeline.item.event.EventTimelineItem
|
||||
import io.element.android.libraries.matrix.api.timeline.item.event.LazyTimelineItemProvider
|
||||
import io.element.android.libraries.matrix.api.timeline.item.event.LocalEventSendState
|
||||
import io.element.android.libraries.matrix.api.timeline.item.event.MessageShield
|
||||
import io.element.android.libraries.matrix.api.timeline.item.event.ProfileTimelineDetails
|
||||
|
|
@ -27,14 +26,13 @@ import kotlinx.collections.immutable.persistentListOf
|
|||
import kotlinx.collections.immutable.toImmutableList
|
||||
import org.matrix.rustcomponents.sdk.EventOrTransactionId
|
||||
import org.matrix.rustcomponents.sdk.EventSendState
|
||||
import org.matrix.rustcomponents.sdk.EventTimelineItemDebugInfoProvider
|
||||
import org.matrix.rustcomponents.sdk.Reaction
|
||||
import org.matrix.rustcomponents.sdk.ShieldState
|
||||
import uniffi.matrix_sdk_common.ShieldStateCode
|
||||
import org.matrix.rustcomponents.sdk.EventSendState as RustEventSendState
|
||||
import org.matrix.rustcomponents.sdk.EventShieldsProvider as RustEventShieldsProvider
|
||||
import org.matrix.rustcomponents.sdk.EventTimelineItem as RustEventTimelineItem
|
||||
import org.matrix.rustcomponents.sdk.EventTimelineItemDebugInfo as RustEventTimelineItemDebugInfo
|
||||
import org.matrix.rustcomponents.sdk.LazyTimelineItemProvider as RustLazyTimelineItemProvider
|
||||
import org.matrix.rustcomponents.sdk.ProfileDetails as RustProfileDetails
|
||||
import org.matrix.rustcomponents.sdk.Receipt as RustReceipt
|
||||
import uniffi.matrix_sdk_ui.EventItemOrigin as RustEventItemOrigin
|
||||
|
|
@ -48,7 +46,8 @@ class EventTimelineItemMapper(
|
|||
transactionId = eventOrTransactionId.transactionId(),
|
||||
isEditable = isEditable,
|
||||
canBeRepliedTo = canBeRepliedTo,
|
||||
isLocal = isLocal,
|
||||
// TODO Remove this field
|
||||
isLocal = !isRemote,
|
||||
isOwn = isOwn,
|
||||
isRemote = isRemote,
|
||||
localSendState = localSendState?.map(),
|
||||
|
|
@ -58,9 +57,8 @@ class EventTimelineItemMapper(
|
|||
senderProfile = senderProfile.map(),
|
||||
timestamp = timestamp.toLong(),
|
||||
content = contentMapper.map(content),
|
||||
debugInfoProvider = RustEventDebugInfoProvider(debugInfoProvider),
|
||||
origin = origin?.map(),
|
||||
messageShieldProvider = RustEventShieldsProvider(shieldsProvider)
|
||||
lazyTimelineItemProvider = LazyTimelineItemProviderWrapper(lazyProvider)
|
||||
)
|
||||
}
|
||||
}
|
||||
|
|
@ -168,15 +166,13 @@ private fun ShieldState?.map(): MessageShield? {
|
|||
}
|
||||
}
|
||||
|
||||
class RustEventDebugInfoProvider(private val debugInfoProvider: EventTimelineItemDebugInfoProvider) : EventDebugInfoProvider {
|
||||
override fun get(): TimelineItemDebugInfo {
|
||||
return debugInfoProvider.get().map()
|
||||
class LazyTimelineItemProviderWrapper(private val provider: RustLazyTimelineItemProvider) : LazyTimelineItemProvider {
|
||||
override fun getTimelineItemDebugInfo(): TimelineItemDebugInfo {
|
||||
return provider.debugInfo().map()
|
||||
}
|
||||
}
|
||||
|
||||
class RustEventShieldsProvider(private val shieldsProvider: RustEventShieldsProvider) : EventShieldsProvider {
|
||||
override fun getShield(strict: Boolean): MessageShield? {
|
||||
return shieldsProvider.getShields(strict)?.map()
|
||||
return provider.getShields(strict)?.map()
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -7,8 +7,7 @@
|
|||
|
||||
package io.element.android.libraries.matrix.impl.fixtures.factories
|
||||
|
||||
import io.element.android.libraries.matrix.impl.fixtures.fakes.FakeRustEventShieldsProvider
|
||||
import io.element.android.libraries.matrix.impl.fixtures.fakes.FakeRustEventTimelineItemDebugInfoProvider
|
||||
import io.element.android.libraries.matrix.impl.fixtures.fakes.FakeRustLazyTimelineItemProvider
|
||||
import io.element.android.libraries.matrix.test.AN_EVENT_ID
|
||||
import io.element.android.libraries.matrix.test.A_USER_ID
|
||||
import org.matrix.rustcomponents.sdk.EventOrTransactionId
|
||||
|
|
@ -23,7 +22,6 @@ import org.matrix.rustcomponents.sdk.TimelineItemContent
|
|||
import uniffi.matrix_sdk_ui.EventItemOrigin
|
||||
|
||||
fun aRustEventTimelineItem(
|
||||
isLocal: Boolean = false,
|
||||
isRemote: Boolean = true,
|
||||
eventOrTransactionId: EventOrTransactionId = EventOrTransactionId.EventId(AN_EVENT_ID.value),
|
||||
sender: String = A_USER_ID.value,
|
||||
|
|
@ -40,7 +38,6 @@ fun aRustEventTimelineItem(
|
|||
canBeRepliedTo: Boolean = true,
|
||||
shieldsState: ShieldState? = null,
|
||||
) = EventTimelineItem(
|
||||
isLocal = isLocal,
|
||||
isRemote = isRemote,
|
||||
eventOrTransactionId = eventOrTransactionId,
|
||||
sender = sender,
|
||||
|
|
@ -50,10 +47,12 @@ fun aRustEventTimelineItem(
|
|||
isEditable = isEditable,
|
||||
canBeRepliedTo = canBeRepliedTo,
|
||||
content = content,
|
||||
debugInfoProvider = FakeRustEventTimelineItemDebugInfoProvider(debugInfo),
|
||||
shieldsProvider = FakeRustEventShieldsProvider(shieldsState),
|
||||
localSendState = localSendState,
|
||||
reactions = reactions,
|
||||
readReceipts = readReceipts,
|
||||
origin = origin,
|
||||
lazyProvider = FakeRustLazyTimelineItemProvider(
|
||||
debugInfo = debugInfo,
|
||||
shieldsState = shieldsState,
|
||||
)
|
||||
)
|
||||
|
|
|
|||
|
|
@ -1,18 +0,0 @@
|
|||
/*
|
||||
* Copyright 2024 New Vector Ltd.
|
||||
*
|
||||
* SPDX-License-Identifier: AGPL-3.0-only
|
||||
* Please see LICENSE in the repository root for full details.
|
||||
*/
|
||||
|
||||
package io.element.android.libraries.matrix.impl.fixtures.fakes
|
||||
|
||||
import org.matrix.rustcomponents.sdk.EventShieldsProvider
|
||||
import org.matrix.rustcomponents.sdk.NoPointer
|
||||
import org.matrix.rustcomponents.sdk.ShieldState
|
||||
|
||||
class FakeRustEventShieldsProvider(
|
||||
private val shieldsState: ShieldState? = null,
|
||||
) : EventShieldsProvider(NoPointer) {
|
||||
override fun getShields(strict: Boolean): ShieldState? = shieldsState
|
||||
}
|
||||
|
|
@ -9,11 +9,14 @@ package io.element.android.libraries.matrix.impl.fixtures.fakes
|
|||
|
||||
import io.element.android.libraries.matrix.impl.fixtures.factories.anEventTimelineItemDebugInfo
|
||||
import org.matrix.rustcomponents.sdk.EventTimelineItemDebugInfo
|
||||
import org.matrix.rustcomponents.sdk.EventTimelineItemDebugInfoProvider
|
||||
import org.matrix.rustcomponents.sdk.LazyTimelineItemProvider
|
||||
import org.matrix.rustcomponents.sdk.NoPointer
|
||||
import org.matrix.rustcomponents.sdk.ShieldState
|
||||
|
||||
class FakeRustEventTimelineItemDebugInfoProvider(
|
||||
class FakeRustLazyTimelineItemProvider(
|
||||
private val debugInfo: EventTimelineItemDebugInfo = anEventTimelineItemDebugInfo(),
|
||||
) : EventTimelineItemDebugInfoProvider(NoPointer) {
|
||||
override fun get(): EventTimelineItemDebugInfo = debugInfo
|
||||
private val shieldsState: ShieldState? = null,
|
||||
) : LazyTimelineItemProvider(NoPointer) {
|
||||
override fun getShields(strict: Boolean) = shieldsState
|
||||
override fun debugInfo() = debugInfo
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue