From 2cb5e4e62f536c78f9133197e9d3b81b02d57273 Mon Sep 17 00:00:00 2001 From: Taras Smakula <tarassmakula@gmail.com> Date: Fri, 29 Dec 2023 17:28:05 +0200 Subject: [PATCH] Do not autoaccept shared space invites --- .../circles/feature/home/HomeViewModel.kt | 3 +- .../workspace/SharedCircleDataSource.kt | 32 ------------------- 2 files changed, 1 insertion(+), 34 deletions(-) diff --git a/app/src/main/java/org/futo/circles/feature/home/HomeViewModel.kt b/app/src/main/java/org/futo/circles/feature/home/HomeViewModel.kt index 6a813ca6e..0838ae74c 100644 --- a/app/src/main/java/org/futo/circles/feature/home/HomeViewModel.kt +++ b/app/src/main/java/org/futo/circles/feature/home/HomeViewModel.kt @@ -9,8 +9,8 @@ import org.futo.circles.core.base.SingleEventLiveData import org.futo.circles.core.extensions.Response import org.futo.circles.core.extensions.createResult import org.futo.circles.core.extensions.launchBg -import org.futo.circles.core.model.GROUP_TYPE import org.futo.circles.core.feature.workspace.SharedCircleDataSource +import org.futo.circles.core.model.GROUP_TYPE import org.futo.circles.core.model.LoadingData import org.futo.circles.feature.notifications.PushersManager import org.futo.circles.feature.notifications.ShortcutsHandler @@ -35,7 +35,6 @@ class HomeViewModel @Inject constructor( init { shortcutsHandler.observeRoomsAndBuildShortcuts(viewModelScope) - sharedCircleDataSource.observeAndAutoAcceptSharedSpaceInvites(viewModelScope) validateWorkspace() } diff --git a/core/src/main/java/org/futo/circles/core/feature/workspace/SharedCircleDataSource.kt b/core/src/main/java/org/futo/circles/core/feature/workspace/SharedCircleDataSource.kt index 17dcfacae..900d96664 100644 --- a/core/src/main/java/org/futo/circles/core/feature/workspace/SharedCircleDataSource.kt +++ b/core/src/main/java/org/futo/circles/core/feature/workspace/SharedCircleDataSource.kt @@ -1,16 +1,5 @@ package org.futo.circles.core.feature.workspace -import android.os.Build -import androidx.lifecycle.asFlow -import androidx.lifecycle.map -import kotlinx.coroutines.CoroutineScope -import kotlinx.coroutines.Dispatchers -import kotlinx.coroutines.Job -import kotlinx.coroutines.flow.catch -import kotlinx.coroutines.flow.flowOn -import kotlinx.coroutines.flow.launchIn -import kotlinx.coroutines.flow.onEach -import kotlinx.coroutines.withContext import org.futo.circles.core.extensions.getRoomOwner import org.futo.circles.core.feature.room.RoomRelationsBuilder import org.futo.circles.core.model.PROFILE_SPACE_ACCOUNT_DATA_KEY @@ -19,10 +8,7 @@ import org.futo.circles.core.utils.getJoinedRoomById import org.futo.circles.core.utils.getTimelineRoomFor import org.matrix.android.sdk.api.session.Session import org.matrix.android.sdk.api.session.getRoomSummary -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 import javax.inject.Inject class SharedCircleDataSource @Inject constructor( @@ -44,24 +30,6 @@ class SharedCircleDataSource @Inject constructor( MatrixSessionProvider.getSessionOrThrow().roomService().leaveRoom(userSharedCircleId) } - fun observeAndAutoAcceptSharedSpaceInvites(coroutineScope: CoroutineScope): Job { - if (Build.VERSION.SDK_INT < Build.VERSION_CODES.N_MR1) return Job() - val session = MatrixSessionProvider.currentSession ?: return Job() - return session.roomService().getRoomSummariesLive( - roomSummaryQueryParams { - excludeType = null - memberships = listOf(Membership.INVITE) - }).map { it.filter { it.roomType == RoomType.SPACE }.map { it.roomId } } - .asFlow().onEach { roomsIds -> - withContext(Dispatchers.IO) { - roomsIds.forEach { acceptSharedCircleInvite(session, it) } - } - } - .flowOn(Dispatchers.Default) - .catch { } - .launchIn(coroutineScope) - } - suspend fun addToSharedCircles(timelineId: String) { getSharedCirclesSpaceId()?.let { roomRelationsBuilder.setRelations(timelineId, it) } } -- GitLab