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