Merge "Editor: Make the Insertion handle start/finish the selection action mode on tap."
diff --git a/core/java/android/widget/Editor.java b/core/java/android/widget/Editor.java
index 6d7a547..7d3c9c9 100644
--- a/core/java/android/widget/Editor.java
+++ b/core/java/android/widget/Editor.java
@@ -3702,7 +3702,7 @@
         private static final int DELAY_BEFORE_HANDLE_FADES_OUT = 4000;
         private static final int RECENT_CUT_COPY_DURATION = 15 * 1000; // seconds
 
-        // Used to detect taps on the insertion handle, which will affect the ActionPopupWindow
+        // Used to detect taps on the insertion handle, which will affect the selection action mode
         private float mDownPositionX, mDownPositionY;
         private Runnable mHider;
 
@@ -3717,17 +3717,12 @@
             final long durationSinceCutOrCopy =
                     SystemClock.uptimeMillis() - TextView.LAST_CUT_OR_COPY_TIME;
             if (durationSinceCutOrCopy < RECENT_CUT_COPY_DURATION) {
-                showActionPopupWindow(0);
+                startSelectionActionModeWithoutSelection();
             }
 
             hideAfterDelay();
         }
 
-        public void showWithActionPopup() {
-            show();
-            showActionPopupWindow(0);
-        }
-
         private void hideAfterDelay() {
             if (mHider == null) {
                 mHider = new Runnable() {
@@ -3789,11 +3784,11 @@
                         final int touchSlop = viewConfiguration.getScaledTouchSlop();
 
                         if (distanceSquared < touchSlop * touchSlop) {
-                            if (mActionPopupWindow != null && mActionPopupWindow.isShowing()) {
-                                // Tapping on the handle dismisses the displayed action popup
-                                mActionPopupWindow.hide();
+                            // Tapping on the handle toggles the selection action mode.
+                            if (mSelectionActionMode != null) {
+                                mSelectionActionMode.finish();
                             } else {
-                                showWithActionPopup();
+                                startSelectionActionModeWithoutSelection();
                             }
                         }
                     }
@@ -4078,10 +4073,6 @@
             getHandle().show();
         }
 
-        public void showWithActionPopup() {
-            getHandle().showWithActionPopup();
-        }
-
         public void hide() {
             if (mHandle != null) {
                 mHandle.hide();