OSDN Git Service

TextView: Invalidate selection action mode on "select all".
authorAbodunrinwa Toki <toki@google.com>
Fri, 12 May 2017 14:37:29 +0000 (15:37 +0100)
committerAbodunrinwa Toki <toki@google.com>
Fri, 12 May 2017 23:39:58 +0000 (00:39 +0100)
Test: bit FrameworksCoreTests:android.widget.TextViewActivityTest
bit CtsWidgetTestCases:android.widget.cts.TextViewTest
Change-Id: I0b5ebb8d6f1af1a9938151f758a2feedb14fcb9f
Fixes: 38244876

core/java/android/widget/Editor.java
core/java/android/widget/TextView.java

index bb658c1..1fef7cb 100644 (file)
@@ -2016,7 +2016,7 @@ public class Editor {
     /**
      * Asynchronously invalidates an action mode using the TextClassifier.
      */
-    private void invalidateActionModeAsync() {
+    void invalidateActionModeAsync() {
         getSelectionActionModeHelper().invalidateActionModeAsync();
     }
 
index 1f54c84..8817611 100644 (file)
@@ -10756,7 +10756,11 @@ public class TextView extends View implements ViewTreeObserver.OnPreDrawListener
 
         switch (id) {
             case ID_SELECT_ALL:
+                final boolean hadSelection = hasSelection();
                 selectAllText();
+                if (mEditor != null && hadSelection) {
+                    mEditor.invalidateActionModeAsync();
+                }
                 return true;
 
             case ID_UNDO: