diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/RoomService.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/RoomService.kt index 65383f1007b1874da82cc0c99e2d4eff3077834f..a509533c8ff452c4fc42ac22f773b9d28352d6a4 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/RoomService.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/RoomService.kt @@ -293,4 +293,7 @@ interface RoomService { * This is useful for refreshing summary content with encrypted messages after receiving new room keys. */ fun refreshJoinedRoomSummaryPreviews(roomId: String?) + + //Ask permission to join the room. + suspend fun knock(roomId: String, reason: String? = null) } diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/members/MembershipService.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/members/MembershipService.kt index 7ea4ba3cfb3543fcd202095a1d7d61c8cd5fb617..144cfeb3b81b6dd57bc50313f9c55efb45ee8cd2 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/members/MembershipService.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/members/MembershipService.kt @@ -95,7 +95,4 @@ interface MembershipService { @Deprecated("Use remove instead", ReplaceWith("remove(userId, reason)")) suspend fun kick(userId: String, reason: String? = null) = remove(userId, reason) - - //Ask permission to join the room. - suspend fun knock(userId: String, reason: String? = null) } diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/DefaultRoomService.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/DefaultRoomService.kt index 6d72b8ef2062aeaca73787a3eedebe28019616cf..926659be281c92f924c530c371388c27555dd3d5 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/DefaultRoomService.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/DefaultRoomService.kt @@ -51,6 +51,7 @@ import org.matrix.android.sdk.internal.session.room.delete.DeleteLocalRoomTask import org.matrix.android.sdk.internal.session.room.membership.RoomChangeMembershipStateDataSource import org.matrix.android.sdk.internal.session.room.membership.RoomMemberHelper import org.matrix.android.sdk.internal.session.room.membership.joining.JoinRoomTask +import org.matrix.android.sdk.internal.session.room.membership.joining.KnockTask import org.matrix.android.sdk.internal.session.room.membership.leaving.LeaveRoomTask import org.matrix.android.sdk.internal.session.room.peeking.PeekRoomTask import org.matrix.android.sdk.internal.session.room.peeking.ResolveRoomStateTask @@ -77,8 +78,9 @@ internal class DefaultRoomService @Inject constructor( private val roomSummaryDataSource: RoomSummaryDataSource, private val roomChangeMembershipStateDataSource: RoomChangeMembershipStateDataSource, private val leaveRoomTask: LeaveRoomTask, - private val roomSummaryUpdater: RoomSummaryUpdater -) : RoomService { + private val roomSummaryUpdater: RoomSummaryUpdater, + private val knockTask: KnockTask + ) : RoomService { override suspend fun createRoom(createRoomParams: CreateRoomParams): String { return createRoomTask.executeRetry(createRoomParams, 3) @@ -262,4 +264,8 @@ internal class DefaultRoomService @Inject constructor( } return roomSummaryDataSource.getAllRoomSummaryChildOfLive(spaceId, memberships) } + + override suspend fun knock(roomId: String, reason: String?) { + knockTask.execute(KnockTask.Params(roomId, reason)) + } } diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/membership/DefaultMembershipService.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/membership/DefaultMembershipService.kt index ae7f624669e8359137a438c50f5a0d6fa928b56f..0baf6a83efee63fa06054c4c2ba24aea003ba6f4 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/membership/DefaultMembershipService.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/membership/DefaultMembershipService.kt @@ -55,7 +55,6 @@ internal class DefaultMembershipService @AssistedInject constructor( private val inviteTask: InviteTask, private val inviteThreePidTask: InviteThreePidTask, private val membershipAdminTask: MembershipAdminTask, - private val knockTask: KnockTask, private val roomDataSource: RoomDataSource, private val cryptoService: CryptoService, @UserId @@ -166,9 +165,4 @@ internal class DefaultMembershipService @AssistedInject constructor( val params = InviteThreePidTask.Params(roomId, threePid) return inviteThreePidTask.execute(params) } - - override suspend fun knock(userId: String, reason: String?) { - val params = KnockTask.Params(roomId, reason) - knockTask.execute(params) - } }