From 2f4e9e3017722f9ab3c66dc0f05bf12c5fdd980d Mon Sep 17 00:00:00 2001 From: SpiritCroc Date: Wed, 5 May 2021 12:31:20 +0200 Subject: [PATCH] Ensure proper grouping for notifications tab query Change-Id: I58e8a85fd5e2c938d55189825daf7820f826da1e --- .../session/room/summary/RoomSummaryDataSource.kt | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/summary/RoomSummaryDataSource.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/summary/RoomSummaryDataSource.kt index 8a86197c34..94c7860303 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/summary/RoomSummaryDataSource.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/summary/RoomSummaryDataSource.kt @@ -256,7 +256,9 @@ internal class RoomSummaryDataSource @Inject constructor(@SessionDatabase privat when (it) { RoomCategoryFilter.ONLY_DM -> query.equalTo(RoomSummaryEntityFields.IS_DIRECT, true) RoomCategoryFilter.ONLY_ROOMS -> query.equalTo(RoomSummaryEntityFields.IS_DIRECT, false) - RoomCategoryFilter.ONLY_WITH_NOTIFICATIONS -> query.greaterThan(RoomSummaryEntityFields.NOTIFICATION_COUNT, 0).or().equalTo(RoomSummaryEntityFields.MARKED_UNREAD, true) + RoomCategoryFilter.ONLY_WITH_NOTIFICATIONS -> query.beginGroup() + .greaterThan(RoomSummaryEntityFields.NOTIFICATION_COUNT, 0).or() + .equalTo(RoomSummaryEntityFields.MARKED_UNREAD, true).endGroup() RoomCategoryFilter.ALL -> { // nop } @@ -283,7 +285,9 @@ internal class RoomSummaryDataSource @Inject constructor(@SessionDatabase privat when (queryParams.roomCategoryFilter) { RoomCategoryFilter.ONLY_DM -> query.equalTo(RoomSummaryEntityFields.IS_DIRECT, true) RoomCategoryFilter.ONLY_ROOMS -> query.equalTo(RoomSummaryEntityFields.IS_DIRECT, false) - RoomCategoryFilter.ONLY_WITH_NOTIFICATIONS -> query.greaterThan(RoomSummaryEntityFields.NOTIFICATION_COUNT, 0) + RoomCategoryFilter.ONLY_WITH_NOTIFICATIONS -> query.beginGroup() + .greaterThan(RoomSummaryEntityFields.NOTIFICATION_COUNT, 0).or() + .equalTo(RoomSummaryEntityFields.MARKED_UNREAD, true).endGroup() RoomCategoryFilter.ALL -> Unit // nop }