From 74ffbd46793ee66c8ec1c37221cd23460f1ff88e Mon Sep 17 00:00:00 2001 From: Benoit Marty Date: Tue, 24 Nov 2020 06:14:58 +0100 Subject: [PATCH] Ensure the forms are displayable --- .../roomprofile/alias/RoomAliasViewModel.kt | 15 ++++++++++++++- .../roomprofile/alias/RoomAliasViewState.kt | 2 +- 2 files changed, 15 insertions(+), 2 deletions(-) diff --git a/vector/src/main/java/im/vector/app/features/roomprofile/alias/RoomAliasViewModel.kt b/vector/src/main/java/im/vector/app/features/roomprofile/alias/RoomAliasViewModel.kt index 89ede6e825..e4d0c0c069 100644 --- a/vector/src/main/java/im/vector/app/features/roomprofile/alias/RoomAliasViewModel.kt +++ b/vector/src/main/java/im/vector/app/features/roomprofile/alias/RoomAliasViewModel.kt @@ -116,7 +116,20 @@ class RoomAliasViewModel @AssistedInject constructor(@Assisted initialState: Roo canChangeCanonicalAlias = powerLevelsHelper.isUserAllowedToSend(session.myUserId, true, 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() } diff --git a/vector/src/main/java/im/vector/app/features/roomprofile/alias/RoomAliasViewState.kt b/vector/src/main/java/im/vector/app/features/roomprofile/alias/RoomAliasViewState.kt index 114b69c1ad..e1736296c6 100644 --- a/vector/src/main/java/im/vector/app/features/roomprofile/alias/RoomAliasViewState.kt +++ b/vector/src/main/java/im/vector/app/features/roomprofile/alias/RoomAliasViewState.kt @@ -32,7 +32,7 @@ data class RoomAliasViewState( val alternativeAliases: List = emptyList(), val publishManuallyState: AddAliasState = AddAliasState.Hidden, val localAliases: Async> = Uninitialized, - val newLocalAliasState: AddAliasState = AddAliasState.Hidden + val newLocalAliasState: AddAliasState = AddAliasState.Closed ) : MvRxState { constructor(args: RoomProfileArgs) : this(roomId = args.roomId)