From e6b4e24b30e31cddfc7a0c3beddc253a6ba8edb8 Mon Sep 17 00:00:00 2001 From: Adrian Roos Date: Wed, 18 Aug 2021 17:00:04 +0200 Subject: [PATCH] IME: make WindowInsetsController.show(ime()) more robust We need to make sure the served view is up-to-date, otherwise we might erroneously reject or allow a request to show the IME via WindowInsetsController. Fixes: 190217891 Test: atest WindowInsetsControllerTests#testShowIme_immediatelyAfterDetachAndReattach Change-Id: Ib41412d5d5636bdc236aa94c4ee4702686b6d10f --- core/java/android/view/inputmethod/InputMethodManager.java | 1 + 1 file changed, 1 insertion(+) diff --git a/core/java/android/view/inputmethod/InputMethodManager.java b/core/java/android/view/inputmethod/InputMethodManager.java index 6edd07178ed30..669d9ec3a8a02 100644 --- a/core/java/android/view/inputmethod/InputMethodManager.java +++ b/core/java/android/view/inputmethod/InputMethodManager.java @@ -2194,6 +2194,7 @@ public final class InputMethodManager { * @hide */ public boolean requestImeShow(IBinder windowToken) { + checkFocus(); synchronized (mH) { final View servedView = getServedViewLocked(); if (servedView == null || servedView.getWindowToken() != windowToken) {