summaryrefslogtreecommitdiffstats
path: root/core/java
diff options
context:
space:
mode:
authorAndrei Stingaceanu <stg@google.com>2015-06-30 16:57:03 +0100
committerAndrei Stingaceanu <stg@google.com>2015-07-01 15:59:41 +0100
commit99d3bbdcbff6a37ef21f4d42845ccff0cbdf1e4c (patch)
tree460119d2267c60fc34911ccae43ebe6ad714baa3 /core/java
parent2bc8485ba79cf6fa95f80b105ed914d245178a0c (diff)
downloadframeworks_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.java5
-rw-r--r--core/java/android/widget/TextView.java6
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;
}