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 77469ddb40..a871c53eed 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 @@ -34,7 +34,6 @@ import org.matrix.android.sdk.api.session.room.peeking.PeekResult import org.matrix.android.sdk.api.session.room.summary.RoomAggregateNotificationCount import org.matrix.android.sdk.api.util.Optional import org.matrix.android.sdk.api.util.toOptional -import org.matrix.android.sdk.internal.database.mapper.RoomSummaryMapper import org.matrix.android.sdk.internal.database.mapper.asDomain import org.matrix.android.sdk.internal.database.model.RoomMemberSummaryEntityFields import org.matrix.android.sdk.internal.di.SessionDatabase @@ -65,18 +64,11 @@ internal class DefaultRoomService @Inject constructor( private val peekRoomTask: PeekRoomTask, private val roomGetter: RoomGetter, private val roomSummaryDataSource: RoomSummaryDataSource, - private val roomSummaryMapper: RoomSummaryMapper, - private val roomChangeMembershipStateDataSource: RoomChangeMembershipStateDataSource, - private val taskExecutor: TaskExecutor + private val roomChangeMembershipStateDataSource: RoomChangeMembershipStateDataSource ) : RoomService { - override fun createRoom(createRoomParams: CreateRoomParams, callback: MatrixCallback): Cancelable { - return createRoomTask - .configureWith(createRoomParams) { - this.callback = callback - this.retryCount = 3 - } - .executeBy(taskExecutor) + override suspend fun createRoom(createRoomParams: CreateRoomParams): String { + return createRoomTask.executeRetry(createRoomParams, 3) } override fun getRoom(roomId: String): Room? { diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/RoomModule.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/RoomModule.kt index c19c59e6db..8f3445bec3 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/RoomModule.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/RoomModule.kt @@ -236,12 +236,6 @@ internal abstract class RoomModule { @Binds abstract fun bindPeekRoomTask(task: DefaultPeekRoomTask): PeekRoomTask - @Binds - abstract fun bindPeekSpaceTask(task: DefaultPeekSpaceTask): PeekSpaceTask - - @Binds - abstract fun bindJoinSpaceTask(task: DefaultJoinSpaceTask): JoinSpaceTask - @Binds abstract fun bindGetEventTask(task: DefaultGetEventTask): GetEventTask } diff --git a/vector/src/main/java/im/vector/app/features/home/room/list/RoomListViewModel.kt b/vector/src/main/java/im/vector/app/features/home/room/list/RoomListViewModel.kt index dfd1a6502e..373bf80136 100644 --- a/vector/src/main/java/im/vector/app/features/home/room/list/RoomListViewModel.kt +++ b/vector/src/main/java/im/vector/app/features/home/room/list/RoomListViewModel.kt @@ -54,7 +54,6 @@ import org.matrix.android.sdk.api.session.room.model.RoomSummary import org.matrix.android.sdk.api.session.room.model.tag.RoomTag import org.matrix.android.sdk.api.session.room.roomSummaryQueryParams import org.matrix.android.sdk.api.session.room.state.isPublic -import org.matrix.android.sdk.internal.util.awaitCallback import org.matrix.android.sdk.rx.asObservable import org.matrix.android.sdk.rx.rx import timber.log.Timber @@ -566,9 +565,8 @@ class RoomListViewModel @Inject constructor( viewModelScope.launch { try { - awaitCallback { - session.joinRoom(action.roomId, null, action.viaServers ?: emptyList(), it) - } + session.joinRoom(action.roomId, null, action.viaServers ?: emptyList()) + suggestedRoomJoiningState.postValue(suggestedRoomJoiningState.value.orEmpty().toMutableMap().apply { this[action.roomId] = Success(Unit) }.toMap()) diff --git a/vector/src/main/java/im/vector/app/features/matrixto/MatrixToBottomSheetViewModel.kt b/vector/src/main/java/im/vector/app/features/matrixto/MatrixToBottomSheetViewModel.kt index 18891fcd03..b641779ed5 100644 --- a/vector/src/main/java/im/vector/app/features/matrixto/MatrixToBottomSheetViewModel.kt +++ b/vector/src/main/java/im/vector/app/features/matrixto/MatrixToBottomSheetViewModel.kt @@ -43,10 +43,7 @@ import org.matrix.android.sdk.api.session.room.peeking.PeekResult import org.matrix.android.sdk.api.session.space.SpaceService import org.matrix.android.sdk.api.session.user.model.User import org.matrix.android.sdk.api.util.MatrixItem -import org.matrix.android.sdk.api.util.Optional import org.matrix.android.sdk.api.util.toMatrixItem -import org.matrix.android.sdk.internal.session.room.alias.RoomAliasDescription -import org.matrix.android.sdk.internal.util.awaitCallback class MatrixToBottomSheetViewModel @AssistedInject constructor( @Assisted initialState: MatrixToBottomSheetState, @@ -111,9 +108,7 @@ class MatrixToBottomSheetViewModel @AssistedInject constructor( // could this room be already known val knownRoom = if (permalinkData.isRoomAlias) { tryOrNull { - awaitCallback> { - session.getRoomIdByAlias(permalinkData.roomIdOrAlias, false, it) - } + session.getRoomIdByAlias(permalinkData.roomIdOrAlias, false) } ?.getOrNull() ?.roomId?.let { @@ -245,9 +240,7 @@ class MatrixToBottomSheetViewModel @AssistedInject constructor( * main thing is trying to see if it's a space or a room */ private suspend fun resolveRoom(roomIdOrAlias: String): PeekResult { - return awaitCallback { - session.peekRoom(roomIdOrAlias, it) - } + return session.peekRoom(roomIdOrAlias) } companion object : MvRxViewModelFactory { @@ -308,9 +301,7 @@ class MatrixToBottomSheetViewModel @AssistedInject constructor( } viewModelScope.launch { try { - awaitCallback { - session.joinRoom(action.roomId, null, action.viaServers?.take(3) ?: emptyList(), it) - } + session.joinRoom(action.roomId, null, action.viaServers?.take(3) ?: emptyList()) _viewEvents.post(MatrixToViewEvents.NavigateToRoom(action.roomId)) } catch (failure: Throwable) { _viewEvents.post(MatrixToViewEvents.ShowModalError(errorFormatter.toHumanReadable(failure))) diff --git a/vector/src/main/java/im/vector/app/features/spaces/create/CreateSpaceViewModelTask.kt b/vector/src/main/java/im/vector/app/features/spaces/create/CreateSpaceViewModelTask.kt index d64eba8835..38bc645aa2 100644 --- a/vector/src/main/java/im/vector/app/features/spaces/create/CreateSpaceViewModelTask.kt +++ b/vector/src/main/java/im/vector/app/features/spaces/create/CreateSpaceViewModelTask.kt @@ -23,7 +23,6 @@ import org.matrix.android.sdk.api.session.room.failure.CreateRoomFailure import org.matrix.android.sdk.api.session.room.model.RoomJoinRulesAllowEntry import org.matrix.android.sdk.api.session.room.model.create.CreateRoomParams import org.matrix.android.sdk.api.session.room.model.create.CreateRoomPreset -import org.matrix.android.sdk.internal.util.awaitCallback import timber.log.Timber import javax.inject.Inject @@ -66,14 +65,10 @@ class CreateSpaceViewModelTask @Inject constructor( try { val roomId = try { if (params.isPublic) { - awaitCallback { session.createRoom(CreateRoomParams().apply { this.name = roomName - this.preset = CreateRoomPreset.PRESET_PUBLIC_CHAT - }, it) - } + this.preset = CreateRoomPreset.PRESET_PUBLIC_CHAT }) } else { - awaitCallback { callback -> session.createRoom(CreateRoomParams().apply { this.name = roomName this.joinRuleRestricted = listOf( @@ -82,8 +77,7 @@ class CreateSpaceViewModelTask @Inject constructor( via = session.sessionParams.homeServerHost?.let { listOf(it) } ?: emptyList() ) ) - }, callback) - } + }) } } catch (timeout: CreateRoomFailure.CreatedWithTimeout) { // we ignore that? diff --git a/vector/src/main/java/im/vector/app/features/spaces/explore/SpaceDirectoryViewModel.kt b/vector/src/main/java/im/vector/app/features/spaces/explore/SpaceDirectoryViewModel.kt index 2ba4d4101a..76d62b58b6 100644 --- a/vector/src/main/java/im/vector/app/features/spaces/explore/SpaceDirectoryViewModel.kt +++ b/vector/src/main/java/im/vector/app/features/spaces/explore/SpaceDirectoryViewModel.kt @@ -35,7 +35,6 @@ import org.matrix.android.sdk.api.session.room.model.Membership import org.matrix.android.sdk.api.session.room.model.RoomType import org.matrix.android.sdk.api.session.room.model.SpaceChildInfo import org.matrix.android.sdk.api.session.room.roomSummaryQueryParams -import org.matrix.android.sdk.internal.util.awaitCallback import org.matrix.android.sdk.rx.rx import timber.log.Timber @@ -159,12 +158,10 @@ class SpaceDirectoryViewModel @AssistedInject constructor( if (isSpace) { session.spaceService().joinSpace(spaceChildInfo.childRoomId, null, spaceChildInfo.viaServers) } else { - awaitCallback { - session.joinRoom(spaceChildInfo.childRoomId, null, spaceChildInfo.viaServers, it) - } + session.joinRoom(spaceChildInfo.childRoomId, null, spaceChildInfo.viaServers) } } catch (failure: Throwable) { - Timber.e(failure, "## Space: Failed to join room or subsapce") + Timber.e(failure, "## Space: Failed to join room or subspace") } } }