Update dependency org.matrix.rustcomponents:sdk-android to v0.1.96 (#2323)
* Update dependency org.matrix.rustcomponents:sdk-android to v0.1.96 * Fixes for the SDK upgrade --------- Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: Jorge Martín <jorgem@element.io>
This commit is contained in:
parent
3bbaf7d377
commit
4854733b8d
7 changed files with 30 additions and 53 deletions
|
|
@ -76,11 +76,14 @@ import kotlinx.coroutines.withTimeout
|
|||
import org.matrix.rustcomponents.sdk.BackupState
|
||||
import org.matrix.rustcomponents.sdk.Client
|
||||
import org.matrix.rustcomponents.sdk.ClientDelegate
|
||||
import org.matrix.rustcomponents.sdk.FilterStateEventType
|
||||
import org.matrix.rustcomponents.sdk.FilterTimelineEventType
|
||||
import org.matrix.rustcomponents.sdk.NotificationProcessSetup
|
||||
import org.matrix.rustcomponents.sdk.PowerLevels
|
||||
import org.matrix.rustcomponents.sdk.Room
|
||||
import org.matrix.rustcomponents.sdk.RoomListItem
|
||||
import org.matrix.rustcomponents.sdk.TaskHandle
|
||||
import org.matrix.rustcomponents.sdk.TimelineEventTypeFilter
|
||||
import org.matrix.rustcomponents.sdk.use
|
||||
import timber.log.Timber
|
||||
import java.io.File
|
||||
|
|
@ -198,6 +201,25 @@ class RustMatrixClient(
|
|||
),
|
||||
)
|
||||
|
||||
private val eventFilters = TimelineEventTypeFilter.exclude(
|
||||
listOf(
|
||||
FilterStateEventType.ROOM_ALIASES,
|
||||
FilterStateEventType.ROOM_CANONICAL_ALIAS,
|
||||
FilterStateEventType.ROOM_GUEST_ACCESS,
|
||||
FilterStateEventType.ROOM_HISTORY_VISIBILITY,
|
||||
FilterStateEventType.ROOM_JOIN_RULES,
|
||||
FilterStateEventType.ROOM_PINNED_EVENTS,
|
||||
FilterStateEventType.ROOM_POWER_LEVELS,
|
||||
FilterStateEventType.ROOM_SERVER_ACL,
|
||||
FilterStateEventType.ROOM_TOMBSTONE,
|
||||
FilterStateEventType.SPACE_CHILD,
|
||||
FilterStateEventType.SPACE_PARENT,
|
||||
FilterStateEventType.POLICY_RULE_ROOM,
|
||||
FilterStateEventType.POLICY_RULE_SERVER,
|
||||
FilterStateEventType.POLICY_RULE_USER,
|
||||
).map(FilterTimelineEventType::State)
|
||||
)
|
||||
|
||||
override val roomListService: RoomListService
|
||||
get() = rustRoomListService
|
||||
|
||||
|
|
@ -248,7 +270,12 @@ class RustMatrixClient(
|
|||
|
||||
private suspend fun pairOfRoom(roomId: RoomId): Pair<RoomListItem, Room>? {
|
||||
val cachedRoomListItem = innerRoomListService.roomOrNull(roomId.value)
|
||||
val fullRoom = cachedRoomListItem?.fullRoom()
|
||||
val fullRoom = cachedRoomListItem?.let { roomListItem ->
|
||||
if (!roomListItem.isTimelineInitialized()) {
|
||||
roomListItem.initTimeline(eventFilters)
|
||||
}
|
||||
roomListItem.fullRoom()
|
||||
}
|
||||
return if (cachedRoomListItem == null || fullRoom == null) {
|
||||
Timber.d("No room cached for $roomId")
|
||||
null
|
||||
|
|
|
|||
|
|
@ -50,7 +50,6 @@ import io.element.android.libraries.matrix.impl.notificationsettings.RustNotific
|
|||
import io.element.android.libraries.matrix.impl.poll.toInner
|
||||
import io.element.android.libraries.matrix.impl.room.location.toInner
|
||||
import io.element.android.libraries.matrix.impl.room.member.RoomMemberListFetcher
|
||||
import io.element.android.libraries.matrix.impl.timeline.AsyncMatrixTimeline
|
||||
import io.element.android.libraries.matrix.impl.timeline.RustMatrixTimeline
|
||||
import io.element.android.libraries.matrix.impl.util.mxCallbackFlow
|
||||
import io.element.android.libraries.matrix.impl.widget.RustWidgetDriver
|
||||
|
|
@ -545,14 +544,6 @@ class RustMatrixRoom(
|
|||
)
|
||||
}
|
||||
|
||||
override fun pollHistory() = AsyncMatrixTimeline(
|
||||
coroutineScope = roomCoroutineScope,
|
||||
dispatcher = roomDispatcher
|
||||
) {
|
||||
val innerTimeline = innerRoom.pollHistory()
|
||||
createMatrixTimeline(innerTimeline)
|
||||
}
|
||||
|
||||
private fun sendAttachment(files: List<File>, handle: () -> SendAttachmentJoinHandle): Result<MediaUploadHandler> {
|
||||
return runCatching {
|
||||
MediaUploadHandlerImpl(files, handle())
|
||||
|
|
|
|||
|
|
@ -38,6 +38,7 @@ import timber.log.Timber
|
|||
/**
|
||||
* This class is a wrapper around a [MatrixTimeline] that will be created asynchronously.
|
||||
*/
|
||||
@Suppress("unused")
|
||||
class AsyncMatrixTimeline(
|
||||
coroutineScope: CoroutineScope,
|
||||
dispatcher: CoroutineDispatcher,
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue