From 923c80125ea270c0e00e3dd6a9f1ffff3ddf0451 Mon Sep 17 00:00:00 2001 From: SpiritCroc Date: Fri, 22 Oct 2021 10:44:06 +0200 Subject: [PATCH] Add setting to put DM in spaces based on user memberships Change-Id: If202f640b2061423167cc8fc205781ab48ea4793 --- .../main/java/de/spiritcroc/matrixsdk/StaticScSdkHelper.kt | 1 + .../sdk/internal/session/room/summary/RoomSummaryUpdater.kt | 3 ++- .../im/vector/app/features/settings/VectorPreferences.kt | 5 +++++ vector/src/main/res/values/strings_sc.xml | 2 ++ vector/src/main/res/xml/vector_settings_preferences.xml | 6 ++++++ 5 files changed, 16 insertions(+), 1 deletion(-) diff --git a/matrix-sdk-android/src/main/java/de/spiritcroc/matrixsdk/StaticScSdkHelper.kt b/matrix-sdk-android/src/main/java/de/spiritcroc/matrixsdk/StaticScSdkHelper.kt index 8f6f4550cd..458c0b2150 100644 --- a/matrix-sdk-android/src/main/java/de/spiritcroc/matrixsdk/StaticScSdkHelper.kt +++ b/matrix-sdk-android/src/main/java/de/spiritcroc/matrixsdk/StaticScSdkHelper.kt @@ -14,6 +14,7 @@ package de.spiritcroc.matrixsdk // RoomSummary preferences fun roomUnreadKind(isDirect: Boolean): Int fun aggregateUnreadRoomCounts(): Boolean + fun includeSpaceMembersAsSpaceRooms(): Boolean } } diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/summary/RoomSummaryUpdater.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/summary/RoomSummaryUpdater.kt index dc4d8e114b..a5f69c8a48 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/summary/RoomSummaryUpdater.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/summary/RoomSummaryUpdater.kt @@ -16,6 +16,7 @@ package org.matrix.android.sdk.internal.session.room.summary +import de.spiritcroc.matrixsdk.StaticScSdkHelper import io.realm.Realm import io.realm.kotlin.createObject import org.matrix.android.sdk.api.extensions.tryOrNull @@ -408,7 +409,7 @@ internal class RoomSummaryUpdater @Inject constructor( // we need also to filter DMs... // it's more annoying as based on if the other members belong the space or not - if (false /*TODO setting*/) { + if (StaticScSdkHelper.scSdkPreferenceProvider?.includeSpaceMembersAsSpaceRooms() == true) { // Wrong indention for upstream merge-ability RoomSummaryEntity.where(realm) .equalTo(RoomSummaryEntityFields.IS_DIRECT, true) diff --git a/vector/src/main/java/im/vector/app/features/settings/VectorPreferences.kt b/vector/src/main/java/im/vector/app/features/settings/VectorPreferences.kt index 571f1a5822..cc12dc3779 100755 --- a/vector/src/main/java/im/vector/app/features/settings/VectorPreferences.kt +++ b/vector/src/main/java/im/vector/app/features/settings/VectorPreferences.kt @@ -213,6 +213,7 @@ class VectorPreferences @Inject constructor(private val context: Context): Stati const val SETTINGS_UNIFIED_PUSH_FORCE_CUSTOM_GATEWAY = "SETTINGS_UNIFIED_PUSH_FORCE_CUSTOM_GATEWAY" const val SETTINGS_FORCE_ALLOW_BACKGROUND_SYNC = "SETTINGS_FORCE_ALLOW_BACKGROUND_SYNC" private const val SETTINGS_JUMP_TO_BOTTOM_ON_SEND = "SETTINGS_JUMP_TO_BOTTOM_ON_SEND" + private const val SETTINGS_SPACE_MEMBERS_IN_SPACE_ROOMS = "SETTINGS_SPACE_MEMBERS_IN_SPACE_ROOMS" private const val DID_ASK_TO_ENABLE_SESSION_PUSH = "DID_ASK_TO_ENABLE_SESSION_PUSH" private const val DID_PROMOTE_NEW_RESTRICTED_JOIN_RULE = "DID_PROMOTE_NEW_RESTRICTED_JOIN_RULE" @@ -984,6 +985,10 @@ class VectorPreferences @Inject constructor(private val context: Context): Stati return defaultPrefs.getBoolean(SETTINGS_AGGREGATE_UNREAD_COUNTS, true) } + override fun includeSpaceMembersAsSpaceRooms(): Boolean { + return defaultPrefs.getBoolean(SETTINGS_SPACE_MEMBERS_IN_SPACE_ROOMS, false) + } + // SC addition fun simplifiedMode(): Boolean { return defaultPrefs.getBoolean(SETTINGS_SIMPLIFIED_MODE, false) diff --git a/vector/src/main/res/values/strings_sc.xml b/vector/src/main/res/values/strings_sc.xml index 631bff1bc6..5378299dd9 100644 --- a/vector/src/main/res/values/strings_sc.xml +++ b/vector/src/main/res/values/strings_sc.xml @@ -147,5 +147,7 @@ Jump to bottom on send Automatically scroll down when sending a message + Show people in spaces + If disabled, you can still add Direct Messages to Personal Spaces. If enabled, you\'ll automatically see everyone who is a member of the Space. diff --git a/vector/src/main/res/xml/vector_settings_preferences.xml b/vector/src/main/res/xml/vector_settings_preferences.xml index a2d6759e1d..408a16bd50 100644 --- a/vector/src/main/res/xml/vector_settings_preferences.xml +++ b/vector/src/main/res/xml/vector_settings_preferences.xml @@ -124,6 +124,12 @@ android:title="@string/preference_show_all_rooms_in_home" android:summary="@string/all_rooms_youre_in_will_be_shown_in_home" /> + +