on show voice call only option in DMs

This commit is contained in:
Valere
2026-03-04 15:08:24 +01:00
parent 6d069e46e2
commit f805dde0f3
8 changed files with 32 additions and 15 deletions

View File

@@ -18,6 +18,7 @@ sealed interface RoomCallState {
data class StandBy(
val canStartCall: Boolean,
val isDM: Boolean,
// TODO: add is DM to know if should show the voice call option?
) : RoomCallState

View File

@@ -14,6 +14,7 @@ open class RoomCallStateProvider : PreviewParameterProvider<RoomCallState> {
override val values: Sequence<RoomCallState> = sequenceOf(
aStandByCallState(),
aStandByCallState(canStartCall = false),
aStandByCallState(canStartCall = false, isDM = true),
anOngoingCallState(),
anOngoingCallState(canJoinCall = false),
anOngoingCallState(canJoinCall = true, isUserInTheCall = true),
@@ -36,6 +37,8 @@ fun anOngoingCallState(
fun aStandByCallState(
canStartCall: Boolean = true,
isDM: Boolean = false,
) = RoomCallState.StandBy(
canStartCall = canStartCall,
isDM
)

View File

@@ -21,6 +21,7 @@ import io.element.android.features.enterprise.api.SessionEnterpriseService
import io.element.android.features.roomcall.api.RoomCallState
import io.element.android.libraries.architecture.Presenter
import io.element.android.libraries.matrix.api.room.JoinedRoom
import io.element.android.libraries.matrix.api.room.isDm
import io.element.android.libraries.matrix.api.room.powerlevels.canCall
import io.element.android.libraries.matrix.api.room.powerlevels.permissionsAsState
@@ -59,7 +60,10 @@ class RoomCallStatePresenter(
// TODO resolve intent while the call is ongoing
isAudioCall = false
)
else -> RoomCallState.StandBy(canStartCall = canJoinCall)
else -> RoomCallState.StandBy(
canStartCall = canJoinCall,
isDM = roomInfo.isDm
)
}
}
}