Skip to content
Snippets Groups Projects
Commit 6bf762ba authored by Taras's avatar Taras
Browse files

Improve filter for gallery picker

parent 24494dfb
No related branches found
No related tags found
No related merge requests found
......@@ -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
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment