summaryrefslogtreecommitdiff
path: root/core/java/android
diff options
context:
space:
mode:
authorTreeHugger Robot <treehugger-gerrit@google.com>2020-03-14 00:26:57 +0000
committerAndroid (Google) Code Review <android-gerrit@google.com>2020-03-14 00:26:57 +0000
commit62748d0a66972c107a0bdb6cfcb200a696981fb0 (patch)
treeb66137e2e2b0c004ea743bf24e5a8ef094ce3217 /core/java/android
parenteeff2cf7531f06816c168131f641f98b5fcbea81 (diff)
parentec78f00fe91401900f863a996eff584a65122266 (diff)
Merge "Set mNextServedView as null only when current served view lost focus" into rvc-dev
Diffstat (limited to 'core/java/android')
-rw-r--r--core/java/android/view/ImeFocusController.java10
1 files changed, 8 insertions, 2 deletions
diff --git a/core/java/android/view/ImeFocusController.java b/core/java/android/view/ImeFocusController.java
index 74fac2b40472..6784cf7407fa 100644
--- a/core/java/android/view/ImeFocusController.java
+++ b/core/java/android/view/ImeFocusController.java
@@ -165,10 +165,16 @@ public final class ImeFocusController {
if (!getImmDelegate().isCurrentRootView(view.getViewRootImpl())) {
return;
}
- if (mServedView == view || !view.hasImeFocus() || !view.hasWindowFocus()) {
+ if (!view.hasImeFocus() || !view.hasWindowFocus()) {
return;
}
- mNextServedView = hasFocus ? view : null;
+ if (DEBUG) Log.d(TAG, "onViewFocusChanged, view=" + view + ", mServedView=" + mServedView);
+
+ if (hasFocus) {
+ mNextServedView = view;
+ } else if (view == mServedView) {
+ mNextServedView = null;
+ }
mViewRootImpl.dispatchCheckFocus();
}