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:
renovate[bot] 2024-01-31 11:07:34 +00:00 committed by GitHub
parent 3bbaf7d377
commit 4854733b8d
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
7 changed files with 30 additions and 53 deletions

View file

@ -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

View file

@ -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())

View file

@ -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,