summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTimi Rautamäki <timi.rautamaki@gmail.com>2021-07-03 20:30:08 +0200
committerTimi Rautamäki <timi.rautamaki@gmail.com>2021-09-19 20:10:11 +0000
commit78ecab8743c01b13b628432049fde5eaca568d2d (patch)
tree788559781be84c7a870b89fe385525de6a010de4
parent20d8640ba092f42d4902d7aee922a92945ea6e3a (diff)
downloadplatform_packages_apps_Messaging-78ecab8743c01b13b628432049fde5eaca568d2d.tar.gz
platform_packages_apps_Messaging-78ecab8743c01b13b628432049fde5eaca568d2d.tar.bz2
platform_packages_apps_Messaging-78ecab8743c01b13b628432049fde5eaca568d2d.zip
Messaging: allow selecting text inside the selected message
Test: receive a message, select it by long press, verify text is selectable. Change-Id: I9f80df970c6ee1c06b8056c78bffe942eb8eb9bf Signed-off-by: Timi Rautamäki <timi.rautamaki@gmail.com>
-rw-r--r--src/com/android/messaging/ui/conversation/ConversationMessageView.java9
1 files changed, 8 insertions, 1 deletions
diff --git a/src/com/android/messaging/ui/conversation/ConversationMessageView.java b/src/com/android/messaging/ui/conversation/ConversationMessageView.java
index 928c215..282e172 100644
--- a/src/com/android/messaging/ui/conversation/ConversationMessageView.java
+++ b/src/com/android/messaging/ui/conversation/ConversationMessageView.java
@@ -708,6 +708,7 @@ public class ConversationMessageView extends FrameLayout implements View.OnClick
textBottomPadding = textBottomPaddingDefault;
textLeftPadding = messageTextLeftRightPadding;
textRightPadding = messageTextLeftRightPadding;
+ mMessageTextView.setTextIsSelectable(isSelected());
} else {
// Attachment(s) only
contentLeftPadding = incoming ? arrowWidth : 0;
@@ -733,6 +734,7 @@ public class ConversationMessageView extends FrameLayout implements View.OnClick
textTopMargin = 0;
textTopPadding = textTopPaddingDefault;
textBottomPadding = textBottomPaddingDefault;
+ mMessageTextView.setTextIsSelectable(isSelected());
if (showArrow && incoming) {
textLeftPadding = messageTextLeftRightPadding + arrowWidth;
} else {
@@ -1030,6 +1032,11 @@ public class ConversationMessageView extends FrameLayout implements View.OnClick
@Override
public boolean onLongClick(final View view) {
if (view == mMessageTextView) {
+ // Avoid trying to reselect the message
+ if (isSelected()) {
+ return false;
+ }
+
// Preemptively handle the long click event on message text so it's not handled by
// the link spans.
return performLongClick();
@@ -1195,7 +1202,7 @@ public class ConversationMessageView extends FrameLayout implements View.OnClick
// This touch event is a long click, preemptively handle this touch event so that
// the link span won't get a onClicked() callback.
mIsLongClick = false;
- return true;
+ return false;
}
if (event.getActionMasked() == MotionEvent.ACTION_DOWN) {