From e981f2f96cbca1eee2b0621db5ee84df578a0ae6 Mon Sep 17 00:00:00 2001 From: dsn5ft <1420597+dsn5ft@users.noreply.github.com> Date: Fri, 3 Jun 2022 08:58:57 -0700 Subject: [PATCH] [Snackbar] Add defensive null check for messageView.getLayout() in SnackbarContentLayout onMeasure PiperOrigin-RevId: 452776106 --- .../android/material/snackbar/SnackbarContentLayout.java | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/lib/java/com/google/android/material/snackbar/SnackbarContentLayout.java b/lib/java/com/google/android/material/snackbar/SnackbarContentLayout.java index 2312b8412..9198cfa46 100644 --- a/lib/java/com/google/android/material/snackbar/SnackbarContentLayout.java +++ b/lib/java/com/google/android/material/snackbar/SnackbarContentLayout.java @@ -20,6 +20,7 @@ import com.google.android.material.R; import static androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP; import android.content.Context; +import android.text.Layout; import android.util.AttributeSet; import android.view.View; import android.widget.Button; @@ -86,7 +87,8 @@ public class SnackbarContentLayout extends LinearLayout implements ContentViewCa getResources().getDimensionPixelSize(R.dimen.design_snackbar_padding_vertical_2lines); final int singleLineVPadding = getResources().getDimensionPixelSize(R.dimen.design_snackbar_padding_vertical); - final boolean isMultiLine = messageView.getLayout().getLineCount() > 1; + final Layout messageLayout = messageView.getLayout(); + final boolean isMultiLine = messageLayout != null && messageLayout.getLineCount() > 1; boolean remeasure = false; if (isMultiLine