From bfbd37074e4a1a092b63c372e3116fc88d55c20e Mon Sep 17 00:00:00 2001 From: Valere Date: Mon, 12 Apr 2021 16:31:25 +0200 Subject: [PATCH] Better tab notification count -incomplete- --- .../app/features/home/HomeDetailViewModel.kt | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) diff --git a/vector/src/main/java/im/vector/app/features/home/HomeDetailViewModel.kt b/vector/src/main/java/im/vector/app/features/home/HomeDetailViewModel.kt index b2fadae0fb..1f12f22b97 100644 --- a/vector/src/main/java/im/vector/app/features/home/HomeDetailViewModel.kt +++ b/vector/src/main/java/im/vector/app/features/home/HomeDetailViewModel.kt @@ -32,6 +32,7 @@ import im.vector.app.features.grouplist.SelectedGroupDataSource import im.vector.app.features.ui.UiStateRepository import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.launch +import org.matrix.android.sdk.api.query.ActiveSpaceFilter import org.matrix.android.sdk.api.query.RoomCategoryFilter import org.matrix.android.sdk.api.session.Session import org.matrix.android.sdk.api.session.room.model.Membership @@ -152,14 +153,18 @@ class HomeDetailViewModel @AssistedInject constructor(@Assisted initialState: Ho } private fun observeRoomSummaries() { - session.getPagedRoomSummariesLive( - roomSummaryQueryParams { - memberships = Membership.activeMemberships() - } - ) - .asObservable() + appStateHandler.selectedSpaceDataSource.observe().distinctUntilChanged().switchMap { + session.getPagedRoomSummariesLive( + roomSummaryQueryParams { + memberships = Membership.activeMemberships() + } + ).asObservable() + } + +// .asObservable() .throttleFirst(300, TimeUnit.MILLISECONDS) .subscribe { + val activeSpace = appStateHandler.safeActiveSpaceId() val dmInvites = session.getRoomSummaries( roomSummaryQueryParams { memberships = listOf(Membership.INVITE) @@ -185,6 +190,7 @@ class HomeDetailViewModel @AssistedInject constructor(@Assisted initialState: Ho roomSummaryQueryParams { memberships = listOf(Membership.JOIN) roomCategoryFilter = RoomCategoryFilter.ONLY_ROOMS + activeSpaceId = ActiveSpaceFilter.ActiveSpace(activeSpace) } )