RemoteInputView: Add null check in WindowInsetsAnimation.Callback

We're seeing a rare but consistent crash here, so add a null check and
log an error. Ideally we'll get a repro case and find a root cause, but
this will mitigate the crash for now.

Bug: 219371276
Test: none, since we have no repro case
Change-Id: I9bf2c2ea2ec29eb49786c0c2f0341e50b63b7c58
Merged-In: Ia8152f854c8d4fb8a85e221ffa1c781c2923cf40
This commit is contained in:
Julia Tuttle
2022-04-01 15:42:36 -04:00
parent b497365a27
commit f1ecdee533

View File

@@ -264,8 +264,12 @@ public class RemoteInputView extends LinearLayout implements View.OnClickListene
super.onEnd(animation);
if (animation.getTypeMask() == WindowInsets.Type.ime()) {
mEntry.mRemoteEditImeAnimatingAway = false;
mEntry.mRemoteEditImeVisible =
mEditText.getRootWindowInsets().isVisible(WindowInsets.Type.ime());
WindowInsets editTextRootWindowInsets = mEditText.getRootWindowInsets();
if (editTextRootWindowInsets == null) {
Log.w(TAG, "onEnd called on detached view", new Exception());
}
mEntry.mRemoteEditImeVisible = editTextRootWindowInsets != null
&& editTextRootWindowInsets.isVisible(WindowInsets.Type.ime());
if (!mEntry.mRemoteEditImeVisible && !mEditText.mShowImeOnInputConnection) {
mController.removeRemoteInput(mEntry, mToken);
}