From 875862e3ec85153553ce50acc02863ea0720ccb6 Mon Sep 17 00:00:00 2001 From: Romain Guy Date: Mon, 17 Jan 2011 11:37:24 -0800 Subject: [PATCH] Prevent NPE when no indicator is specified. Bug #3362349 Change-Id: Ie15ed9e31fdd4eb72a18471375d8937c50eb1802 --- core/java/android/widget/ExpandableListView.java | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/core/java/android/widget/ExpandableListView.java b/core/java/android/widget/ExpandableListView.java index 472a33521b537..8279ee5e9ccd1 100644 --- a/core/java/android/widget/ExpandableListView.java +++ b/core/java/android/widget/ExpandableListView.java @@ -211,7 +211,7 @@ public class ExpandableListView extends ListView { .getDimensionPixelSize(com.android.internal.R.styleable.ExpandableListView_indicatorLeft, 0); mIndicatorRight = a .getDimensionPixelSize(com.android.internal.R.styleable.ExpandableListView_indicatorRight, 0); - if (mIndicatorRight == 0) { + if (mIndicatorRight == 0 && mGroupIndicator != null) { mIndicatorRight = mIndicatorLeft + mGroupIndicator.getIntrinsicWidth(); } mChildIndicatorLeft = a.getDimensionPixelSize( @@ -1022,8 +1022,11 @@ public class ExpandableListView extends ListView { */ public void setGroupIndicator(Drawable groupIndicator) { mGroupIndicator = groupIndicator; + if (mIndicatorRight == 0 && mGroupIndicator != null) { + mIndicatorRight = mIndicatorLeft + mGroupIndicator.getIntrinsicWidth(); + } } - + /** * Sets the drawing bounds for the indicators (at minimum, the group indicator * is affected by this; the child indicator is affected by this if the