Fix wrong MSIME check in onImeWindowSetOnDisplay.
Fix: 129723692
Test: atest MultiDisplaySystemDecorationTests
Change-Id: Ib6a53e824def582d1f6f83e4012dc62319ef609d
diff --git a/services/core/java/com/android/server/wm/ActivityTaskManagerService.java b/services/core/java/com/android/server/wm/ActivityTaskManagerService.java
index b424904..e885996 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 @@
*/
@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) {