Add Null check for mView.findFocus() in ViewRootImpl

Some apps like Netflix crashed while handleWindowFocusChanged but mView
somehow has became null.

It's fair to check null for mView.findFocus() since other places
in ViewRootImpl that calling this method also add null check.

Fix: 153862451
Test: atest CtsInputMethodTestCases

Change-Id: I86bd5f3193deabe28bb425a8564017f7b32b90f3
This commit is contained in:
Ming-Shin Lu
2020-09-02 01:32:35 +08:00
parent d2e2eda8a2
commit bdaa14bf18

View File

@@ -3234,8 +3234,8 @@ public final class ViewRootImpl implements ViewParent,
// Note: must be done after the focus change callbacks,
// so all of the view state is set up correctly.
mImeFocusController.onPostWindowFocus(mView.findFocus(), hasWindowFocus,
mWindowAttributes);
mImeFocusController.onPostWindowFocus(mView != null ? mView.findFocus() : null,
hasWindowFocus, mWindowAttributes);
if (hasWindowFocus) {
// Clear the forward bit. We can just do this directly, since