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
(cherry picked from commit bdaa14bf18)
This commit is contained in:
Ming-Shin Lu
2020-09-02 01:32:35 +08:00
parent b72c8a096b
commit d1cd540bbe

View File

@@ -3268,8 +3268,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