From 962d05ee5d4d1504e44cde2230734b13735f638a Mon Sep 17 00:00:00 2001 From: Taras Smakula <tarassmakula@gmail.com> Date: Fri, 12 Jan 2024 17:38:06 +0200 Subject: [PATCH] Improve shortcut filter --- .../circles/feature/notifications/ShortcutsHandler.kt | 11 ++--------- .../java/org/futo/circles/core/utils/MatrixUtils.kt | 6 ++++++ 2 files changed, 8 insertions(+), 9 deletions(-) diff --git a/app/src/main/java/org/futo/circles/feature/notifications/ShortcutsHandler.kt b/app/src/main/java/org/futo/circles/feature/notifications/ShortcutsHandler.kt index 821a9a9ae..1c460d927 100644 --- a/app/src/main/java/org/futo/circles/feature/notifications/ShortcutsHandler.kt +++ b/app/src/main/java/org/futo/circles/feature/notifications/ShortcutsHandler.kt @@ -13,10 +13,8 @@ import kotlinx.coroutines.flow.launchIn import kotlinx.coroutines.flow.onEach import org.futo.circles.R import org.futo.circles.core.provider.MatrixSessionProvider -import org.matrix.android.sdk.api.session.room.RoomSortOrder -import org.matrix.android.sdk.api.session.room.model.Membership +import org.futo.circles.core.utils.getAllJoinedCirclesRoomsAndSpacesLiveData import org.matrix.android.sdk.api.session.room.model.RoomSummary -import org.matrix.android.sdk.api.session.room.roomSummaryQueryParams import javax.inject.Inject class ShortcutsHandler @Inject constructor( @@ -33,12 +31,7 @@ class ShortcutsHandler @Inject constructor( if (Build.VERSION.SDK_INT < Build.VERSION_CODES.N_MR1) return Job() val session = MatrixSessionProvider.currentSession ?: return Job() - return session.roomService().getRoomSummariesLive( - roomSummaryQueryParams { - memberships = listOf(Membership.JOIN) - }, - sortOrder = RoomSortOrder.PRIORITY_AND_ACTIVITY - ).asFlow().onEach { rooms -> + return getAllJoinedCirclesRoomsAndSpacesLiveData(session).asFlow().onEach { rooms -> removeDeadShortcuts(rooms.map { it.roomId }) createShortcuts(rooms) } diff --git a/core/src/main/java/org/futo/circles/core/utils/MatrixUtils.kt b/core/src/main/java/org/futo/circles/core/utils/MatrixUtils.kt index 470cd82a2..650d59134 100644 --- a/core/src/main/java/org/futo/circles/core/utils/MatrixUtils.kt +++ b/core/src/main/java/org/futo/circles/core/utils/MatrixUtils.kt @@ -64,6 +64,12 @@ fun getAllJoinedCirclesRoomsAndSpaces(session: Session = MatrixSessionProvider.g memberships = listOf(Membership.JOIN) }) +fun getAllJoinedCirclesRoomsAndSpacesLiveData(session: Session = MatrixSessionProvider.getSessionOrThrow()) = + session.roomService().getRoomSummariesLive(roomSummaryQueryParams { + excludeType = listOf(roomType, null) + memberships = listOf(Membership.JOIN) + }) + fun getAllJoinedCirclesRoomsLiveData() = MatrixSessionProvider.getSessionOrThrow().roomService() .getRoomSummariesLive(roomSummaryQueryParams { excludeType = listOf(roomType, spaceType, null) -- GitLab