From 299c8e1e82c459d7de9fac0884edfbc32f571cb8 Mon Sep 17 00:00:00 2001 From: dsn5ft <1420597+dsn5ft@users.noreply.github.com> Date: Tue, 17 May 2022 16:46:03 -0400 Subject: [PATCH] [MaterialToolbar] Add null check for logo ConstantState check Resolves https://github.com/material-components/material-components-android/issues/2708 PiperOrigin-RevId: 449305810 (cherry picked from commit 2ac796fdf4bd29f455bcf04bd25ad42540c19af4) --- .../google/android/material/internal/ToolbarUtils.java | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/lib/java/com/google/android/material/internal/ToolbarUtils.java b/lib/java/com/google/android/material/internal/ToolbarUtils.java index d02d8e37b62..f9db3e92ad3 100644 --- a/lib/java/com/google/android/material/internal/ToolbarUtils.java +++ b/lib/java/com/google/android/material/internal/ToolbarUtils.java @@ -90,12 +90,17 @@ public static ImageView getLogoImageView(@NonNull Toolbar toolbar) { @Nullable private static ImageView getImageView(@NonNull Toolbar toolbar, @Nullable Drawable content) { + if (content == null) { + return null; + } for (int i = 0; i < toolbar.getChildCount(); i++) { View child = toolbar.getChildAt(i); if (child instanceof ImageView) { ImageView imageView = (ImageView) child; - if (content != null - && imageView.getDrawable().getConstantState().equals(content.getConstantState())) { + Drawable drawable = imageView.getDrawable(); + if (drawable != null + && drawable.getConstantState() != null + && drawable.getConstantState().equals(content.getConstantState())) { return imageView; } }