From a359f98db5502aec16f1ad2ff0b3c2508b0cc4b7 Mon Sep 17 00:00:00 2001 From: Varun Jain Date: Mon, 15 Jul 2024 15:57:48 +0530 Subject: [PATCH] NTP-782 | make chat widget content copyable (#11763) --- .../chat/ui/activities/NaviChatActivity.kt | 19 ++++++++++++++++++- .../layout_chat_conversation_status.xml | 1 + ...layout_navi_chat_message_with_deeplink.xml | 1 + .../layout_navi_chat_message_with_item.xml | 1 + ...ayout_navi_chat_message_with_item_list.xml | 1 + .../layout_navi_chat_received_message.xml | 1 + .../layout/layout_navi_chat_sent_message.xml | 1 + ...i_chat_transaction_status_message_item.xml | 2 ++ 8 files changed, 26 insertions(+), 1 deletion(-) diff --git a/android/navi-chat/src/main/java/com/navi/chat/ui/activities/NaviChatActivity.kt b/android/navi-chat/src/main/java/com/navi/chat/ui/activities/NaviChatActivity.kt index 46e177221d..3cd3cbc1b2 100644 --- a/android/navi-chat/src/main/java/com/navi/chat/ui/activities/NaviChatActivity.kt +++ b/android/navi-chat/src/main/java/com/navi/chat/ui/activities/NaviChatActivity.kt @@ -9,9 +9,11 @@ package com.navi.chat.ui.activities import android.app.Activity import android.content.Intent +import android.graphics.Rect import android.net.Uri import android.os.Bundle import android.view.MotionEvent +import android.view.View import androidx.activity.result.contract.ActivityResultContracts import androidx.databinding.DataBindingUtil import androidx.lifecycle.ViewModelProvider @@ -182,7 +184,22 @@ class NaviChatActivity : } override fun dispatchTouchEvent(event: MotionEvent?): Boolean { - return super.customDispatchTouchEvent(event) + event?.let { event -> + if (event.action == MotionEvent.ACTION_DOWN) { + val view: View? = currentFocus + if (view != null) { + val outRect = Rect() + view.getGlobalVisibleRect(outRect) + if (!outRect.contains(event.rawX.toInt(), event.rawY.toInt())) { + view.clearFocus() + } + } + } + return super.customDispatchTouchEvent(event) + } + ?: kotlin.run { + return false + } } override fun onStop() { diff --git a/android/navi-widgets/src/main/res/layout/layout_chat_conversation_status.xml b/android/navi-widgets/src/main/res/layout/layout_chat_conversation_status.xml index 6449eeb3c1..1134d2eb9b 100644 --- a/android/navi-widgets/src/main/res/layout/layout_chat_conversation_status.xml +++ b/android/navi-widgets/src/main/res/layout/layout_chat_conversation_status.xml @@ -34,6 +34,7 @@ diff --git a/android/navi-widgets/src/main/res/layout/layout_navi_chat_message_with_item_list.xml b/android/navi-widgets/src/main/res/layout/layout_navi_chat_message_with_item_list.xml index dc596f92b0..3bfd5f339c 100644 --- a/android/navi-widgets/src/main/res/layout/layout_navi_chat_message_with_item_list.xml +++ b/android/navi-widgets/src/main/res/layout/layout_navi_chat_message_with_item_list.xml @@ -40,6 +40,7 @@ android:background="@null" android:fontFamily="@font/tt_regular" android:paddingBottom="@dimen/dp_0" + android:textIsSelectable="true" tools:text="Welcome" />