diff --git a/core/src/main/java/org/futo/circles/core/feature/picker/gallery/rooms/PickGalleryViewModel.kt b/core/src/main/java/org/futo/circles/core/feature/picker/gallery/rooms/PickGalleryViewModel.kt
index d50fff3c129d84d60399102cfbf295cbdf59ef29..e1d035efa2c3ccc8fd345ebb80843df70cb44ef5 100644
--- a/core/src/main/java/org/futo/circles/core/feature/picker/gallery/rooms/PickGalleryViewModel.kt
+++ b/core/src/main/java/org/futo/circles/core/feature/picker/gallery/rooms/PickGalleryViewModel.kt
@@ -4,27 +4,14 @@ import androidx.lifecycle.ViewModel
 import androidx.lifecycle.map
 import dagger.hilt.android.lifecycle.HiltViewModel
 import org.futo.circles.core.mapping.toJoinedGalleryListItem
-import org.futo.circles.core.model.GALLERY_TYPE
-import org.futo.circles.core.model.GalleryListItem
-import org.futo.circles.core.model.JoinedGalleryListItem
-import org.futo.circles.core.provider.MatrixSessionProvider
+import org.futo.circles.core.utils.getGalleriesLiveData
 import org.matrix.android.sdk.api.session.room.model.Membership
-import org.matrix.android.sdk.api.session.room.model.RoomSummary
-import org.matrix.android.sdk.api.session.room.roomSummaryQueryParams
 import javax.inject.Inject
 
 @HiltViewModel
 class PickGalleryViewModel @Inject constructor() : ViewModel() {
 
-    val galleriesLiveData = MatrixSessionProvider.currentSession?.roomService()
-        ?.getRoomSummariesLive(roomSummaryQueryParams())
-        ?.map { list -> filterGalleries(list) }
+    val galleriesLiveData = getGalleriesLiveData(membershipFilter = listOf(Membership.JOIN))
+        .map { galleries -> galleries.map { it.toJoinedGalleryListItem() } }
 
-    private fun filterGalleries(list: List<RoomSummary>): List<JoinedGalleryListItem> {
-        return list.mapNotNull { summary ->
-            if (summary.roomType == GALLERY_TYPE && summary.membership == Membership.JOIN) {
-                summary.toJoinedGalleryListItem()
-            } else null
-        }
-    }
 }
\ No newline at end of file