Remove useless case. If user is invited, roomInfo will be present.
This commit is contained in:
parent
681af0d22f
commit
a1c876d32e
1 changed files with 4 additions and 11 deletions
|
|
@ -38,10 +38,8 @@ import io.element.android.libraries.matrix.api.core.toRoomIdOrAlias
|
||||||
import io.element.android.libraries.matrix.api.room.CurrentUserMembership
|
import io.element.android.libraries.matrix.api.room.CurrentUserMembership
|
||||||
import io.element.android.libraries.matrix.api.room.MatrixRoomInfo
|
import io.element.android.libraries.matrix.api.room.MatrixRoomInfo
|
||||||
import io.element.android.libraries.matrix.api.room.preview.RoomPreview
|
import io.element.android.libraries.matrix.api.room.preview.RoomPreview
|
||||||
import io.element.android.libraries.matrix.ui.model.InviteSender
|
|
||||||
import io.element.android.libraries.matrix.ui.model.toInviteSender
|
import io.element.android.libraries.matrix.ui.model.toInviteSender
|
||||||
import java.util.Optional
|
import java.util.Optional
|
||||||
import kotlin.jvm.optionals.getOrNull
|
|
||||||
|
|
||||||
class JoinRoomPresenter @AssistedInject constructor(
|
class JoinRoomPresenter @AssistedInject constructor(
|
||||||
@Assisted private val roomId: RoomId,
|
@Assisted private val roomId: RoomId,
|
||||||
|
|
@ -79,11 +77,7 @@ class JoinRoomPresenter @AssistedInject constructor(
|
||||||
val result = matrixClient.getRoomPreview(roomId.toRoomIdOrAlias())
|
val result = matrixClient.getRoomPreview(roomId.toRoomIdOrAlias())
|
||||||
value = result.fold(
|
value = result.fold(
|
||||||
onSuccess = { roomPreview ->
|
onSuccess = { roomPreview ->
|
||||||
val inviteSender = roomInfo.getOrNull()
|
roomPreview.toContentState()
|
||||||
?.takeIf { roomPreview.isInvited }
|
|
||||||
?.inviter
|
|
||||||
?.toInviteSender()
|
|
||||||
roomPreview.toContentState(inviteSender)
|
|
||||||
},
|
},
|
||||||
onFailure = { throwable ->
|
onFailure = { throwable ->
|
||||||
if (throwable.message?.contains("403") == true) {
|
if (throwable.message?.contains("403") == true) {
|
||||||
|
|
@ -127,9 +121,7 @@ class JoinRoomPresenter @AssistedInject constructor(
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun RoomPreview.toContentState(
|
private fun RoomPreview.toContentState(): ContentState {
|
||||||
inviteSender: InviteSender?
|
|
||||||
): ContentState {
|
|
||||||
return ContentState.Loaded(
|
return ContentState.Loaded(
|
||||||
roomId = roomId,
|
roomId = roomId,
|
||||||
name = name,
|
name = name,
|
||||||
|
|
@ -139,7 +131,8 @@ private fun RoomPreview.toContentState(
|
||||||
isDirect = false,
|
isDirect = false,
|
||||||
roomAvatarUrl = avatarUrl,
|
roomAvatarUrl = avatarUrl,
|
||||||
joinAuthorisationStatus = when {
|
joinAuthorisationStatus = when {
|
||||||
isInvited -> JoinAuthorisationStatus.IsInvited(inviteSender)
|
// Note when isInvited, roomInfo will be used, so if this happen, it will be temporary.
|
||||||
|
isInvited -> JoinAuthorisationStatus.IsInvited(null)
|
||||||
canKnock -> JoinAuthorisationStatus.CanKnock
|
canKnock -> JoinAuthorisationStatus.CanKnock
|
||||||
isPublic -> JoinAuthorisationStatus.CanJoin
|
isPublic -> JoinAuthorisationStatus.CanJoin
|
||||||
else -> JoinAuthorisationStatus.Unknown
|
else -> JoinAuthorisationStatus.Unknown
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue