From eb0e8fd28abd4cce21018019d736db4bae97513d Mon Sep 17 00:00:00 2001 From: Taras Smakula <tarassmakula@gmail.com> Date: Thu, 21 Sep 2023 17:43:46 +0300 Subject: [PATCH] add getJoinedRoomById --- .../futo/circles/model/NotificationTestStatus.kt | 8 -------- app/src/main/res/values/strings.xml | 1 - .../feature/log_in/stages/LoginStagesDataSource.kt | 1 - .../auth/feature/sign_up/SignUpDataSource.kt | 1 - .../main/java/org/futo/circles/core/Constants.kt | 1 - .../java/org/futo/circles/core/model/TaskStatus.kt | 8 ++++++++ .../java/org/futo/circles/core/utils/RoomUtils.kt | 14 +++++++++++--- 7 files changed, 19 insertions(+), 15 deletions(-) delete mode 100644 app/src/main/java/org/futo/circles/model/NotificationTestStatus.kt create mode 100644 core/src/main/java/org/futo/circles/core/model/TaskStatus.kt diff --git a/app/src/main/java/org/futo/circles/model/NotificationTestStatus.kt b/app/src/main/java/org/futo/circles/model/NotificationTestStatus.kt deleted file mode 100644 index 56abc6886..000000000 --- a/app/src/main/java/org/futo/circles/model/NotificationTestStatus.kt +++ /dev/null @@ -1,8 +0,0 @@ -package org.futo.circles.model - -enum class NotificationTestStatus { - IDLE, - RUNNING, - SUCCESS, - FAILED -} \ No newline at end of file diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 57661aa9d..22acdeb3b 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -207,7 +207,6 @@ <string name="unifiedpush_distributors_dialog_title">Choose how to receive notifications</string> <string name="thread_format">%s (thread)</string> <string name="unexpected_error">Something went wrong</string> - <string name="configuring_workspace">Configuring workspace</string> <string name="shared_circles">Shared Circles</string> <string name="save">Save</string> <string name="joined_members_count">Joined members: %d</string> diff --git a/auth/src/main/java/org/futo/circles/auth/feature/log_in/stages/LoginStagesDataSource.kt b/auth/src/main/java/org/futo/circles/auth/feature/log_in/stages/LoginStagesDataSource.kt index 15cae3d1f..49b1b796c 100644 --- a/auth/src/main/java/org/futo/circles/auth/feature/log_in/stages/LoginStagesDataSource.kt +++ b/auth/src/main/java/org/futo/circles/auth/feature/log_in/stages/LoginStagesDataSource.kt @@ -14,7 +14,6 @@ import org.futo.circles.core.extensions.Response import org.futo.circles.core.extensions.createResult import org.futo.circles.core.provider.MatrixInstanceProvider import org.futo.circles.core.provider.MatrixSessionProvider -import org.futo.circles.core.room.CoreSpacesTreeBuilder import org.matrix.android.sdk.api.auth.registration.RegistrationResult import org.matrix.android.sdk.api.session.Session import org.matrix.android.sdk.api.util.JsonDict diff --git a/auth/src/main/java/org/futo/circles/auth/feature/sign_up/SignUpDataSource.kt b/auth/src/main/java/org/futo/circles/auth/feature/sign_up/SignUpDataSource.kt index d7c75f5b7..2ea456317 100644 --- a/auth/src/main/java/org/futo/circles/auth/feature/sign_up/SignUpDataSource.kt +++ b/auth/src/main/java/org/futo/circles/auth/feature/sign_up/SignUpDataSource.kt @@ -14,7 +14,6 @@ import org.futo.circles.core.extensions.createResult import org.futo.circles.core.provider.MatrixInstanceProvider import org.futo.circles.core.provider.MatrixSessionProvider import org.futo.circles.core.provider.PreferencesProvider -import org.futo.circles.core.room.CoreSpacesTreeBuilder import org.matrix.android.sdk.api.auth.registration.RegistrationResult import org.matrix.android.sdk.api.auth.registration.Stage import org.matrix.android.sdk.api.session.Session diff --git a/core/src/main/java/org/futo/circles/core/Constants.kt b/core/src/main/java/org/futo/circles/core/Constants.kt index 39e98ad31..f1c132008 100644 --- a/core/src/main/java/org/futo/circles/core/Constants.kt +++ b/core/src/main/java/org/futo/circles/core/Constants.kt @@ -3,7 +3,6 @@ package org.futo.circles.core import org.futo.circles.core.provider.MatrixSessionProvider const val FILE_PROVIDER_AUTHORITY_EXTENSION = ".provider" -const val CREATE_ROOM_DELAY = 1000L const val SYSTEM_NOTICES_TAG = "m.server_notice" const val DEFAULT_USER_PREFIX = "@notices:" diff --git a/core/src/main/java/org/futo/circles/core/model/TaskStatus.kt b/core/src/main/java/org/futo/circles/core/model/TaskStatus.kt new file mode 100644 index 000000000..368708d19 --- /dev/null +++ b/core/src/main/java/org/futo/circles/core/model/TaskStatus.kt @@ -0,0 +1,8 @@ +package org.futo.circles.core.model + +enum class TaskStatus { + IDLE, + RUNNING, + SUCCESS, + FAILED +} \ No newline at end of file diff --git a/core/src/main/java/org/futo/circles/core/utils/RoomUtils.kt b/core/src/main/java/org/futo/circles/core/utils/RoomUtils.kt index 6d61643c4..e3d0ed761 100644 --- a/core/src/main/java/org/futo/circles/core/utils/RoomUtils.kt +++ b/core/src/main/java/org/futo/circles/core/utils/RoomUtils.kt @@ -10,6 +10,7 @@ import org.matrix.android.sdk.api.session.getRoom import org.matrix.android.sdk.api.session.getRoomSummary import org.matrix.android.sdk.api.session.room.Room 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.model.RoomType import org.matrix.android.sdk.api.session.room.roomSummaryQueryParams @@ -23,10 +24,17 @@ fun getTimelineRoomIdOrThrow(circleId: String) = getTimelineRoomFor(circleId)?.r fun getSystemNoticesRoomId(): String? = getJoinedRoomIdByTag(SYSTEM_NOTICES_TAG) -fun getJoinedRoomIdByTag(tag: String): String? { +fun getJoinedRoomIdByTag(tag: String, includeSpace: Boolean = false): String? { val session = MatrixSessionProvider.currentSession ?: return null - return session.roomService().getRoomSummaries(roomSummaryQueryParams()) - .firstOrNull { it.membership == Membership.JOIN && it.hasTag(tag) }?.roomId + return session.roomService().getRoomSummaries(roomSummaryQueryParams { + excludeType = if (includeSpace) null else listOf(RoomType.SPACE) + memberships = listOf(Membership.JOIN) + }).firstOrNull { it.hasTag(tag) }?.roomId +} + +fun getJoinedRoomById(roomId: String): RoomSummary? { + val session = MatrixSessionProvider.currentSession ?: return null + return session.roomService().getRoomSummary(roomId)?.takeIf { it.membership == Membership.JOIN } } fun getPhotosSpaceId(): String? = getSpaceIdByTag(PHOTOS_SPACE_TAG) -- GitLab