diff --git a/services/core/java/com/android/server/wm/ActivityTaskManagerService.java b/services/core/java/com/android/server/wm/ActivityTaskManagerService.java index 22e6a35732b4b..76774d73cc035 100644 --- a/services/core/java/com/android/server/wm/ActivityTaskManagerService.java +++ b/services/core/java/com/android/server/wm/ActivityTaskManagerService.java @@ -6480,9 +6480,10 @@ public class ActivityTaskManagerService extends IActivityTaskManager.Stub { */ @Override public void onImeWindowSetOnDisplay(final int pid, final int displayId) { - // Update display configuration for IME process only when Single-client IME window - // moving to another display. - if (!InputMethodSystemProperty.MULTI_CLIENT_IME_ENABLED) return; + // Don't update process-level configuration for Multi-Client IME process since other + // IMEs on other displays will also receive this configuration change due to IME + // services use the same application config/context. + if (InputMethodSystemProperty.MULTI_CLIENT_IME_ENABLED) return; if (pid == MY_PID || pid < 0) { if (DEBUG_CONFIGURATION) {