From 48973533644a018c1c960b20564ab91893743992 Mon Sep 17 00:00:00 2001 From: lumark Date: Fri, 12 Apr 2019 20:18:15 +0800 Subject: [PATCH] Fix wrong MSIME check in onImeWindowSetOnDisplay. Fix: 129723692 Test: atest MultiDisplaySystemDecorationTests Change-Id: Ib6a53e824def582d1f6f83e4012dc62319ef609d --- .../com/android/server/wm/ActivityTaskManagerService.java | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/services/core/java/com/android/server/wm/ActivityTaskManagerService.java b/services/core/java/com/android/server/wm/ActivityTaskManagerService.java index b4249046c1b58..e885996cfbbe5 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) {