From e4e7d6fda6771ff4630f1a351ec9945cbab93905 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 Bug: 200051968 Test: atest WindowInsetsControllerTests#\ testShowIme_immediatelyAfterDetachAndReattach Merged-In: Ib41412d5d5636bdc236aa94c4ee4702686b6d10f Change-Id: Ib41412d5d5636bdc236aa94c4ee4702686b6d10f (cherry picked from commit e6b4e24b30e31cddfc7a0c3beddc253a6ba8edb8) --- 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 42d77cd096893..e6f103e6d53b1 100644 --- a/core/java/android/view/inputmethod/InputMethodManager.java +++ b/core/java/android/view/inputmethod/InputMethodManager.java @@ -2154,6 +2154,7 @@ public final class InputMethodManager { * @hide */ public boolean requestImeShow(IBinder windowToken) { + checkFocus(); synchronized (mH) { final View servedView = getServedViewLocked(); if (servedView == null || servedView.getWindowToken() != windowToken) {