diff options
author | Andrei Stingaceanu <stg@google.com> | 2015-06-30 16:57:03 +0100 |
---|---|---|
committer | Andrei Stingaceanu <stg@google.com> | 2015-07-01 15:59:41 +0100 |
commit | 99d3bbdcbff6a37ef21f4d42845ccff0cbdf1e4c (patch) | |
tree | 460119d2267c60fc34911ccae43ebe6ad714baa3 /core/java | |
parent | 2bc8485ba79cf6fa95f80b105ed914d245178a0c (diff) | |
download | frameworks_base-99d3bbdcbff6a37ef21f4d42845ccff0cbdf1e4c.zip frameworks_base-99d3bbdcbff6a37ef21f4d42845ccff0cbdf1e4c.tar.gz frameworks_base-99d3bbdcbff6a37ef21f4d42845ccff0cbdf1e4c.tar.bz2 |
Drag handles persist after lost focus in extracted mode
If extracted mode is to be started and we already had a
selection made do not start the action mode but only the
selection. Non-extracted mode keeps the current behavior.
Bug: 22100966
Change-Id: Iad9a95c28474a68dc4fbc7032cbab1dc6e234d45
Diffstat (limited to 'core/java')
-rw-r--r-- | core/java/android/widget/Editor.java | 5 | ||||
-rw-r--r-- | core/java/android/widget/TextView.java | 6 |
2 files changed, 7 insertions, 4 deletions
diff --git a/core/java/android/widget/Editor.java b/core/java/android/widget/Editor.java index 84e7db4..2dc1f72 100644 --- a/core/java/android/widget/Editor.java +++ b/core/java/android/widget/Editor.java @@ -1115,7 +1115,6 @@ public class Editor { if (mTemporaryDetach) mPreserveDetachedSelection = false; downgradeEasyCorrectionSpans(); } - // No need to create the controller if (mSelectionModifierCursorController != null) { mSelectionModifierCursorController.resetTouchOffsets(); @@ -1787,7 +1786,7 @@ public class Editor { * * @return true if there already was a selection or if the current word was selected. */ - private boolean checkFieldAndSelectCurrentWord() { + boolean checkFieldAndSelectCurrentWord() { if (!mTextView.canSelectText() || !mTextView.requestFocus()) { Log.w(TextView.LOG_TAG, "TextView does not support text selection. Selection cancelled."); @@ -1834,7 +1833,7 @@ public class Editor { return selectionStarted; } - private boolean extractedTextModeWillBeStarted() { + boolean extractedTextModeWillBeStarted() { if (!(mTextView.isInExtractedMode())) { final InputMethodManager imm = InputMethodManager.peekInstance(); return imm != null && imm.isFullscreenMode(); diff --git a/core/java/android/widget/TextView.java b/core/java/android/widget/TextView.java index 422511f..7025a46 100644 --- a/core/java/android/widget/TextView.java +++ b/core/java/android/widget/TextView.java @@ -5226,7 +5226,11 @@ public class TextView extends View implements ViewTreeObserver.OnPreDrawListener // - onFocusChanged cannot start it when focus is given to a view with selected text (after // a screen rotation) since layout is not yet initialized at that point. if (mEditor != null && mEditor.mCreatedWithASelection) { - mEditor.startSelectionActionMode(); + if (mEditor.extractedTextModeWillBeStarted()) { + mEditor.checkFieldAndSelectCurrentWord(); + } else { + mEditor.startSelectionActionMode(); + } mEditor.mCreatedWithASelection = false; } |