Ensure the forms are displayable

This commit is contained in:
Benoit Marty 2020-11-24 06:14:58 +01:00 committed by Benoit Marty
parent 82b23d9a13
commit 74ffbd4679
2 changed files with 15 additions and 2 deletions

View File

@ -116,7 +116,20 @@ class RoomAliasViewModel @AssistedInject constructor(@Assisted initialState: Roo
canChangeCanonicalAlias = powerLevelsHelper.isUserAllowedToSend(session.myUserId, true, canChangeCanonicalAlias = powerLevelsHelper.isUserAllowedToSend(session.myUserId, true,
EventType.STATE_ROOM_CANONICAL_ALIAS), EventType.STATE_ROOM_CANONICAL_ALIAS),
) )
setState { copy(actionPermissions = permissions) } setState {
val newPublishManuallyState = if (permissions.canChangeCanonicalAlias) {
when (publishManuallyState) {
RoomAliasViewState.AddAliasState.Hidden -> RoomAliasViewState.AddAliasState.Closed
else -> publishManuallyState
}
} else {
RoomAliasViewState.AddAliasState.Hidden
}
copy(
actionPermissions = permissions,
publishManuallyState = newPublishManuallyState
)
}
} }
.disposeOnClear() .disposeOnClear()
} }

View File

@ -32,7 +32,7 @@ data class RoomAliasViewState(
val alternativeAliases: List<String> = emptyList(), val alternativeAliases: List<String> = emptyList(),
val publishManuallyState: AddAliasState = AddAliasState.Hidden, val publishManuallyState: AddAliasState = AddAliasState.Hidden,
val localAliases: Async<List<String>> = Uninitialized, val localAliases: Async<List<String>> = Uninitialized,
val newLocalAliasState: AddAliasState = AddAliasState.Hidden val newLocalAliasState: AddAliasState = AddAliasState.Closed
) : MvRxState { ) : MvRxState {
constructor(args: RoomProfileArgs) : this(roomId = args.roomId) constructor(args: RoomProfileArgs) : this(roomId = args.roomId)