From 05cfcc8ac4a99b890b85bde9968f52673d9adce8 Mon Sep 17 00:00:00 2001 From: Nikita Dubrovsky Date: Thu, 24 Oct 2019 08:57:32 -0700 Subject: Add debug logging for cursor logic in TextView and Editor Test: manual Change-Id: If5ddb575af3518aba2c4fbed3d6a040898c0d003 --- core/java/android/widget/TextView.java | 25 ++++++++++++++++++++++++- 1 file changed, 24 insertions(+), 1 deletion(-) (limited to 'core/java/android/widget/TextView.java') diff --git a/core/java/android/widget/TextView.java b/core/java/android/widget/TextView.java index 31f50555af1d..90e8ef2c6423 100644 --- a/core/java/android/widget/TextView.java +++ b/core/java/android/widget/TextView.java @@ -345,6 +345,8 @@ import java.util.function.Supplier; public class TextView extends View implements ViewTreeObserver.OnPreDrawListener { static final String LOG_TAG = "TextView"; static final boolean DEBUG_EXTRACT = false; + static final boolean DEBUG_CURSOR = false; + private static final float[] TEMP_POSITION = new float[2]; // Enum for the "typeface" XML parameter. @@ -10857,6 +10859,10 @@ public class TextView extends View implements ViewTreeObserver.OnPreDrawListener @Override public boolean onTouchEvent(MotionEvent event) { + if (DEBUG_CURSOR) { + logCursor("onTouchEvent", MotionEvent.actionToString(event.getActionMasked())); + } + final int action = event.getActionMasked(); if (mEditor != null) { mEditor.onTouchEvent(event); @@ -10868,6 +10874,9 @@ public class TextView extends View implements ViewTreeObserver.OnPreDrawListener } final boolean superResult = super.onTouchEvent(event); + if (DEBUG_CURSOR) { + logCursor("onTouchEvent", "superResult=%s", superResult); + } /* * Don't handle the release after a long press, because it will move the selection away from @@ -10876,7 +10885,9 @@ public class TextView extends View implements ViewTreeObserver.OnPreDrawListener */ if (mEditor != null && mEditor.mDiscardNextActionUp && action == MotionEvent.ACTION_UP) { mEditor.mDiscardNextActionUp = false; - + if (DEBUG_CURSOR) { + logCursor("onTouchEvent", "release after long press detected"); + } if (mEditor.mIsInsertionActionModeStartPending) { mEditor.startInsertionActionMode(); mEditor.mIsInsertionActionModeStartPending = false; @@ -12254,6 +12265,10 @@ public class TextView extends View implements ViewTreeObserver.OnPreDrawListener @Override public boolean performLongClick() { + if (DEBUG_CURSOR) { + logCursor("performLongClick", null); + } + boolean handled = false; boolean performedHapticFeedback = false; @@ -13481,4 +13496,12 @@ public class TextView extends View implements ViewTreeObserver.OnPreDrawListener TextView.this.spanChange(buf, what, s, -1, e, -1); } } + + private static void logCursor(String location, @Nullable String msgFormat, Object ... msgArgs) { + if (msgFormat == null) { + Log.d(LOG_TAG, location); + } else { + Log.d(LOG_TAG, location + ": " + String.format(msgFormat, msgArgs)); + } + } } -- cgit v1.2.3