| commit | e7c47b46298c70ab4eb7945e27904adf9fd99ea9 | [log] [tgz] |
|---|---|---|
| author | Yuichi Araki <yaraki@google.com> | Tue Sep 29 15:47:59 2015 +0900 |
| committer | Yuichi Araki <yaraki@google.com> | Tue Sep 29 15:47:59 2015 +0900 |
| tree | 9ab57d1ae92f53ccdf7eb228711758d6914e11c5 | |
| parent | 2b90fb7e3df8102a18e32d1ea7711f1bb4f07944 [diff] |
Fix NPE in setIcon This can happen for some implementation of Drawable that returns null for getConstantState(). Bug: 24485410 Change-Id: I182a9d9a1fd20a8afe860f567757ea9746aaa4af
diff --git a/design/src/android/support/design/internal/NavigationMenuItemView.java b/design/src/android/support/design/internal/NavigationMenuItemView.java index 1809789..1d655df 100644 --- a/design/src/android/support/design/internal/NavigationMenuItemView.java +++ b/design/src/android/support/design/internal/NavigationMenuItemView.java
@@ -145,7 +145,8 @@ @Override public void setIcon(Drawable icon) { if (icon != null) { - icon = DrawableCompat.wrap(icon.getConstantState().newDrawable()).mutate(); + Drawable.ConstantState state = icon.getConstantState(); + icon = DrawableCompat.wrap(state == null ? icon : state.newDrawable()).mutate(); icon.setBounds(0, 0, mIconSize, mIconSize); DrawableCompat.setTintList(icon, mIconTintList); }