From a7b72ed39d98b544a17fcf796c1f6eeab024a3ea Mon Sep 17 00:00:00 2001 From: Benoit Marty Date: Fri, 31 Dec 2021 15:22:48 +0100 Subject: [PATCH] Fix latest small bugs --- .../vector/app/core/di/MavericksViewModelModule.kt | 6 ++++++ .../roommemberprofile/RoomMemberProfileAction.kt | 2 +- .../roommemberprofile/RoomMemberProfileController.kt | 2 +- .../roommemberprofile/RoomMemberProfileViewModel.kt | 12 ++++++++---- 4 files changed, 16 insertions(+), 6 deletions(-) diff --git a/vector/src/main/java/im/vector/app/core/di/MavericksViewModelModule.kt b/vector/src/main/java/im/vector/app/core/di/MavericksViewModelModule.kt index d09cd21d19..09e161bc99 100644 --- a/vector/src/main/java/im/vector/app/core/di/MavericksViewModelModule.kt +++ b/vector/src/main/java/im/vector/app/core/di/MavericksViewModelModule.kt @@ -42,6 +42,7 @@ import im.vector.app.features.home.HomeDetailViewModel import im.vector.app.features.home.PromoteRestrictedViewModel import im.vector.app.features.home.UnknownDeviceDetectorSharedViewModel import im.vector.app.features.home.UnreadMessagesSharedViewModel +import im.vector.app.features.home.UserColorAccountDataViewModel import im.vector.app.features.home.room.breadcrumbs.BreadcrumbsViewModel import im.vector.app.features.home.room.detail.RoomDetailViewModel import im.vector.app.features.home.room.detail.composer.MessageComposerViewModel @@ -412,6 +413,11 @@ interface MavericksViewModelModule { @MavericksViewModelKey(RoomMemberProfileViewModel::class) fun roomMemberProfileViewModelFactory(factory: RoomMemberProfileViewModel.Factory): MavericksAssistedViewModelFactory<*, *> + @Binds + @IntoMap + @MavericksViewModelKey(UserColorAccountDataViewModel::class) + fun userColorAccountDataViewModelFactory(factory: UserColorAccountDataViewModel.Factory): MavericksAssistedViewModelFactory<*, *> + @Binds @IntoMap @MavericksViewModelKey(RoomPreviewViewModel::class) diff --git a/vector/src/main/java/im/vector/app/features/roommemberprofile/RoomMemberProfileAction.kt b/vector/src/main/java/im/vector/app/features/roommemberprofile/RoomMemberProfileAction.kt index 1467889b4a..87801a7e95 100644 --- a/vector/src/main/java/im/vector/app/features/roommemberprofile/RoomMemberProfileAction.kt +++ b/vector/src/main/java/im/vector/app/features/roommemberprofile/RoomMemberProfileAction.kt @@ -28,5 +28,5 @@ sealed class RoomMemberProfileAction : VectorViewModelAction { object VerifyUser : RoomMemberProfileAction() object ShareRoomMemberProfile : RoomMemberProfileAction() data class SetPowerLevel(val previousValue: Int, val newValue: Int, val askForValidation: Boolean) : RoomMemberProfileAction() - data class SetUserColorOverride(val newColor: String) : RoomMemberProfileAction() + data class SetUserColorOverride(val newColorSpec: String) : RoomMemberProfileAction() } diff --git a/vector/src/main/java/im/vector/app/features/roommemberprofile/RoomMemberProfileController.kt b/vector/src/main/java/im/vector/app/features/roommemberprofile/RoomMemberProfileController.kt index 06ba18f4a7..860961ae29 100644 --- a/vector/src/main/java/im/vector/app/features/roommemberprofile/RoomMemberProfileController.kt +++ b/vector/src/main/java/im/vector/app/features/roommemberprofile/RoomMemberProfileController.kt @@ -179,7 +179,7 @@ class RoomMemberProfileController @Inject constructor( editable = false, title = stringProvider.getString(R.string.room_member_override_nick_color), subtitle = state.userColorOverride, - divider = false, + divider = !state.isMine, action = { callback?.onOverrideColorClicked() } ) diff --git a/vector/src/main/java/im/vector/app/features/roommemberprofile/RoomMemberProfileViewModel.kt b/vector/src/main/java/im/vector/app/features/roommemberprofile/RoomMemberProfileViewModel.kt index 8129dec3d4..7cab5a1cc8 100644 --- a/vector/src/main/java/im/vector/app/features/roommemberprofile/RoomMemberProfileViewModel.kt +++ b/vector/src/main/java/im/vector/app/features/roommemberprofile/RoomMemberProfileViewModel.kt @@ -174,10 +174,14 @@ class RoomMemberProfileViewModel @AssistedInject constructor( } private fun handleSetUserColorOverride(action: RoomMemberProfileAction.SetUserColorOverride) { - val newOverrideColorSpecs = session.accountDataService().getUserAccountDataEvent(UserAccountDataTypes.TYPE_OVERRIDE_COLORS) - ?.content?.toMap().orEmpty().toMutableMap() - if (matrixItemColorProvider.setOverrideColor(initialState.userId, action.newColor)) { - newOverrideColorSpecs[initialState.userId] = action.newColor + val newOverrideColorSpecs = session.accountDataService() + .getUserAccountDataEvent(UserAccountDataTypes.TYPE_OVERRIDE_COLORS) + ?.content + ?.toModel>() + .orEmpty() + .toMutableMap() + if (matrixItemColorProvider.setOverrideColor(initialState.userId, action.newColorSpec)) { + newOverrideColorSpecs[initialState.userId] = action.newColorSpec } else { newOverrideColorSpecs.remove(initialState.userId) }