diff options
3 files changed, 7 insertions, 4 deletions
diff --git a/services/core/java/com/android/server/inputmethod/InputMethodManagerInternal.java b/services/core/java/com/android/server/inputmethod/InputMethodManagerInternal.java index f526dbe9c66d..f1e12fc2c291 100644 --- a/services/core/java/com/android/server/inputmethod/InputMethodManagerInternal.java +++ b/services/core/java/com/android/server/inputmethod/InputMethodManagerInternal.java @@ -167,8 +167,10 @@ public abstract class InputMethodManagerInternal { /** * Indicates that the IME window has re-parented to the new target when the IME control changed. + * + * @param displayId the display hosting the IME window */ - public abstract void onImeParentChanged(); + public abstract void onImeParentChanged(int displayId); /** * Destroys the IME surface. @@ -288,7 +290,7 @@ public abstract class InputMethodManagerInternal { } @Override - public void onImeParentChanged() { + public void onImeParentChanged(int displayId) { } @Override diff --git a/services/core/java/com/android/server/inputmethod/InputMethodManagerService.java b/services/core/java/com/android/server/inputmethod/InputMethodManagerService.java index 09c388f08c7b..76ad0e0fb3ca 100644 --- a/services/core/java/com/android/server/inputmethod/InputMethodManagerService.java +++ b/services/core/java/com/android/server/inputmethod/InputMethodManagerService.java @@ -5671,7 +5671,7 @@ public final class InputMethodManagerService extends IInputMethodManager.Stub } @Override - public void onImeParentChanged() { + public void onImeParentChanged(int displayId) { synchronized (ImfLock.class) { // Hide the IME method menu only when the IME surface parent is changed by the // input target changed, in case seeing the dialog dismiss flickering during diff --git a/services/core/java/com/android/server/wm/DisplayContent.java b/services/core/java/com/android/server/wm/DisplayContent.java index a840973a941e..73644b39f38e 100644 --- a/services/core/java/com/android/server/wm/DisplayContent.java +++ b/services/core/java/com/android/server/wm/DisplayContent.java @@ -4769,7 +4769,8 @@ class DisplayContent extends RootDisplayArea implements WindowManagerPolicy.Disp assignRelativeLayerForIme(getSyncTransaction(), true /* forceUpdate */); scheduleAnimation(); - mWmService.mH.post(() -> InputMethodManagerInternal.get().onImeParentChanged()); + mWmService.mH.post( + () -> InputMethodManagerInternal.get().onImeParentChanged(getDisplayId())); } else if (mImeControlTarget != null && mImeControlTarget == mImeLayeringTarget) { // Even if the IME surface parent is not changed, the layer target belonging to the // parent may have changes. Then attempt to reassign if the IME control target is |