diff --git a/app/src/main/java/org/linphone/activities/main/chat/viewmodels/ChatMessageSendingViewModel.kt b/app/src/main/java/org/linphone/activities/main/chat/viewmodels/ChatMessageSendingViewModel.kt index 2323d78f1..1c0c7d08c 100644 --- a/app/src/main/java/org/linphone/activities/main/chat/viewmodels/ChatMessageSendingViewModel.kt +++ b/app/src/main/java/org/linphone/activities/main/chat/viewmodels/ChatMessageSendingViewModel.kt @@ -174,6 +174,10 @@ class ChatMessageSendingViewModel(private val chatRoom: ChatRoom) : ViewModel() fun onTextToSendChanged(value: String) { sendMessageEnabled.value = value.trim().isNotEmpty() || attachments.value?.isNotEmpty() == true || isPendingVoiceRecord.value == true + + val showEmojiPicker = value.isEmpty() || AppUtils.isTextOnlyContainingEmoji(value) + isEmojiPickerVisible.value = corePreferences.showEmojiPickerButton && showEmojiPicker + if (value.isNotEmpty()) { if (attachFileEnabled.value == true && !corePreferences.allowMultipleFilesAndTextInSameMessage) { attachFileEnabled.value = false diff --git a/app/src/main/res/layout/chat_room_sending.xml b/app/src/main/res/layout/chat_room_sending.xml index 72dc5d5b2..bd2893de8 100644 --- a/app/src/main/res/layout/chat_room_sending.xml +++ b/app/src/main/res/layout/chat_room_sending.xml @@ -125,7 +125,6 @@ android:layout_width="@dimen/chat_message_sending_icons_size" android:layout_height="0dp" android:layout_marginStart="@dimen/chat_message_sending_icons_margin" - android:layout_marginEnd="@dimen/chat_message_sending_icons_margin" android:contentDescription="@string/content_description_attach_file" android:enabled="@{chatSendingViewModel.attachFileEnabled && !chatSendingViewModel.attachFilePending}" android:onClick="@{attachFileClickListener}" @@ -142,7 +141,6 @@ android:layout_width="@dimen/chat_message_sending_icons_size" android:layout_height="0dp" android:layout_marginStart="@dimen/chat_message_sending_icons_margin" - android:layout_marginEnd="@dimen/chat_message_sending_icons_margin" android:contentDescription="@string/content_description_voice_recording" android:onClick="@{() -> chatSendingViewModel.toggleVoiceRecording()}" android:onTouch="@{voiceRecordingTouchListener}" @@ -162,6 +160,7 @@ android:layout_below="@id/emoji_picker" android:layout_gravity="center_vertical" android:layout_marginStart="@dimen/chat_message_sending_icons_margin" + android:layout_marginEnd="@{chatSendingViewModel.isEmojiPickerVisible ? @dimen/margin_0dp : @dimen/chat_message_sending_icons_margin}" android:layout_marginTop="10dp" android:layout_marginBottom="10dp" android:background="@color/header_background_color" @@ -174,37 +173,20 @@ android:textColor="@color/black_color" android:textCursorDrawable="@null" app:layout_constraintBottom_toBottomOf="parent" - app:layout_constraintEnd_toStartOf="@id/message_right_barrier" + app:layout_constraintEnd_toStartOf="@id/emoji_picker_toggle" app:layout_constraintStart_toEndOf="@id/voice_record" app:layout_constraintTop_toBottomOf="@id/emoji_picker" /> - - - -