From ed4676bb6c859b7382e2268acf25b5cd8e9c62f3 Mon Sep 17 00:00:00 2001 From: Benoit Marty Date: Mon, 23 Nov 2020 17:59:25 +0100 Subject: [PATCH] Cleanup and avoid duplicate --- .../session/room/state/DefaultStateService.kt | 2 +- .../roomprofile/alias/RoomAliasViewModel.kt | 23 +++++++++++-------- .../roomprofile/alias/RoomAliasViewState.kt | 1 - 3 files changed, 15 insertions(+), 11 deletions(-) diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/state/DefaultStateService.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/state/DefaultStateService.kt index 8fa0857837..96fb71503a 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/state/DefaultStateService.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/state/DefaultStateService.kt @@ -111,7 +111,7 @@ internal class DefaultStateService @AssistedInject constructor(@Assisted private eventType = EventType.STATE_ROOM_CANONICAL_ALIAS, body = RoomCanonicalAliasContent( canonicalAlias = alias, - alternativeAliases = altAliases + alternativeAliases = altAliases.distinct() ).toContent(), callback = callback, stateKey = null 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 9d848e98e8..9c8a7f9df8 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 @@ -142,21 +142,20 @@ class RoomAliasViewModel @AssistedInject constructor(@Assisted initialState: Roo override fun handle(action: RoomAliasAction) { when (action) { - is RoomAliasAction.SetNewAlias -> handleSetNewAlias(action) - is RoomAliasAction.AddAlias -> handleAddAlias() - is RoomAliasAction.RemoveAlias -> handleRemoveAlias(action) - is RoomAliasAction.SetCanonicalAlias -> handleSetCanonicalAlias(action) + is RoomAliasAction.SetNewAlias -> handleSetNewAlias(action) + is RoomAliasAction.AddAlias -> handleAddAlias() + is RoomAliasAction.RemoveAlias -> handleRemoveAlias(action) + is RoomAliasAction.SetCanonicalAlias -> handleSetCanonicalAlias(action) is RoomAliasAction.SetNewLocalAliasLocalPart -> handleSetNewLocalAliasLocalPart(action) - RoomAliasAction.AddLocalAlias -> handleAddLocalAlias() - is RoomAliasAction.RemoveLocalAlias -> handleRemoveLocalAlias(action) + RoomAliasAction.AddLocalAlias -> handleAddLocalAlias() + is RoomAliasAction.RemoveLocalAlias -> handleRemoveLocalAlias(action) }.exhaustive } private fun handleSetNewAlias(action: RoomAliasAction.SetNewAlias) { setState { copy( - newAlias = action.aliasLocalPart, - asyncNewAliasRequest = Uninitialized + newAlias = action.aliasLocalPart ) } } @@ -195,7 +194,12 @@ class RoomAliasViewModel @AssistedInject constructor(@Assisted initialState: Roo postLoading(true) room.updateCanonicalAlias(canonicalAlias, alternativeAliases, object : MatrixCallback { override fun onSuccess(data: Unit) { - postLoading(false) + setState { + copy( + isLoading = false, + newAlias = "" + ) + } } override fun onFailure(failure: Throwable) { @@ -228,6 +232,7 @@ class RoomAliasViewModel @AssistedInject constructor(@Assisted initialState: Roo setState { copy( isLoading = false, + newLocalAlias = "", asyncNewLocalAliasRequest = Uninitialized ) } 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 3e376b75c9..03e3843aab 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 @@ -31,7 +31,6 @@ data class RoomAliasViewState( val canonicalAlias: String? = null, val alternativeAliases: List = emptyList(), val newAlias: String = "", - val asyncNewAliasRequest: Async = Uninitialized, val localAliases: Async> = Uninitialized, val newLocalAlias: String = "", val asyncNewLocalAliasRequest: Async = Uninitialized