From 51ea4de4f6072ff5abb16fceb0f10f82dae26dcb Mon Sep 17 00:00:00 2001 From: Taras Smakula <tarassmakula@gmail.com> Date: Fri, 12 Jan 2024 14:43:58 +0200 Subject: [PATCH] Use get joined galleries for media backup --- .../feature/backup/MediaBackupDataSource.kt | 14 ++++++-------- 1 file changed, 6 insertions(+), 8 deletions(-) diff --git a/gallery/src/main/java/org/futo/circles/gallery/feature/backup/MediaBackupDataSource.kt b/gallery/src/main/java/org/futo/circles/gallery/feature/backup/MediaBackupDataSource.kt index 8e1b30c6f..a4b2e2506 100644 --- a/gallery/src/main/java/org/futo/circles/gallery/feature/backup/MediaBackupDataSource.kt +++ b/gallery/src/main/java/org/futo/circles/gallery/feature/backup/MediaBackupDataSource.kt @@ -9,12 +9,12 @@ import org.futo.circles.core.feature.timeline.post.SendMessageDataSource import org.futo.circles.core.model.Gallery import org.futo.circles.core.model.MediaType import org.futo.circles.core.provider.MatrixSessionProvider +import org.futo.circles.core.utils.getGalleries import org.futo.circles.gallery.model.MediaFolderListItem import org.futo.circles.gallery.model.MediaToBackupItem import org.futo.circles.gallery.model.toMediaToBackupItem import org.matrix.android.sdk.api.session.getRoom import org.matrix.android.sdk.api.session.room.model.Membership -import org.matrix.android.sdk.api.session.room.roomSummaryQueryParams import java.io.File import javax.inject.Inject @@ -79,7 +79,7 @@ class MediaBackupDataSource @Inject constructor( } private suspend fun createGalleryIfNotExist(bucketId: String): String { - var roomId = getJoinedRoomIdByTag(bucketId) + var roomId = getJoinedGalleryIdByTag(bucketId) if (roomId == null) { roomId = createRoomDataSource.createRoom( circlesRoom = Gallery(), @@ -91,12 +91,10 @@ class MediaBackupDataSource @Inject constructor( return roomId } - private fun getJoinedRoomIdByTag(tag: String): String? { - val session = MatrixSessionProvider.currentSession ?: return null - return session.roomService().getRoomSummaries(roomSummaryQueryParams { - memberships = listOf(Membership.JOIN) - }).firstOrNull { it.hasTag(tag) }?.roomId - } + private fun getJoinedGalleryIdByTag(tag: String): String? = + getGalleries(membershipFilter = listOf(Membership.JOIN)) + .firstOrNull { it.hasTag(tag) }?.roomId + private fun getMediaCursor( selection: String? = null -- GitLab