summaryrefslogtreecommitdiff
path: root/core/java/android/widget/TextView.java
diff options
context:
space:
mode:
Diffstat (limited to 'core/java/android/widget/TextView.java')
-rw-r--r--core/java/android/widget/TextView.java9
1 files changed, 7 insertions, 2 deletions
diff --git a/core/java/android/widget/TextView.java b/core/java/android/widget/TextView.java
index 3eaf852b3ac3..8fba58364c94 100644
--- a/core/java/android/widget/TextView.java
+++ b/core/java/android/widget/TextView.java
@@ -8751,6 +8751,11 @@ public class TextView extends View implements ViewTreeObserver.OnPreDrawListener
return mEditor != null && mEditor.mInputType != EditorInfo.TYPE_NULL;
}
+ private boolean hasEditorInFocusSearchDirection(@FocusRealDirection int direction) {
+ final View nextView = focusSearch(direction);
+ return nextView != null && nextView.onCheckIsTextEditor();
+ }
+
@Override
public InputConnection onCreateInputConnection(EditorInfo outAttrs) {
if (onCheckIsTextEditor() && isEnabled()) {
@@ -8767,10 +8772,10 @@ public class TextView extends View implements ViewTreeObserver.OnPreDrawListener
outAttrs.imeOptions = EditorInfo.IME_NULL;
outAttrs.hintLocales = null;
}
- if (focusSearch(FOCUS_DOWN) != null) {
+ if (hasEditorInFocusSearchDirection(FOCUS_DOWN)) {
outAttrs.imeOptions |= EditorInfo.IME_FLAG_NAVIGATE_NEXT;
}
- if (focusSearch(FOCUS_UP) != null) {
+ if (hasEditorInFocusSearchDirection(FOCUS_UP)) {
outAttrs.imeOptions |= EditorInfo.IME_FLAG_NAVIGATE_PREVIOUS;
}
if ((outAttrs.imeOptions & EditorInfo.IME_MASK_ACTION)