summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAdam Powell <adamp@google.com>2010-10-19 11:54:10 -0700
committerAdam Powell <adamp@google.com>2010-10-19 11:54:10 -0700
commit35f21fe0ffe0c6374fe253777020cf0ffdd1a4bd (patch)
tree15495276c76dda06826e326d22e1cd74b51e887d
parent8e5992ad66c601b5d528c4d0259bee881d7a35a8 (diff)
downloadframeworks_base-35f21fe0ffe0c6374fe253777020cf0ffdd1a4bd.zip
frameworks_base-35f21fe0ffe0c6374fe253777020cf0ffdd1a4bd.tar.gz
frameworks_base-35f21fe0ffe0c6374fe253777020cf0ffdd1a4bd.tar.bz2
Fix bug 3109812 - NPE in ButtonGroup.dispatchDraw
Change-Id: Ie8d9b2c0862cc901ed9534e81465fe41ade1f9a0
-rw-r--r--core/java/android/widget/ButtonGroup.java14
1 files changed, 12 insertions, 2 deletions
diff --git a/core/java/android/widget/ButtonGroup.java b/core/java/android/widget/ButtonGroup.java
index ce3decb..6af1c7e 100644
--- a/core/java/android/widget/ButtonGroup.java
+++ b/core/java/android/widget/ButtonGroup.java
@@ -110,8 +110,13 @@ public class ButtonGroup extends LinearLayout {
return;
}
mDivider = divider;
- mDividerWidth = divider.getIntrinsicWidth();
- mDividerHeight = divider.getIntrinsicHeight();
+ if (divider != null) {
+ mDividerWidth = divider.getIntrinsicWidth();
+ mDividerHeight = divider.getIntrinsicHeight();
+ } else {
+ mDividerWidth = 0;
+ mDividerHeight = 0;
+ }
requestLayout();
}
@@ -204,6 +209,11 @@ public class ButtonGroup extends LinearLayout {
@Override
public void dispatchDraw(Canvas canvas) {
+ if (mDivider == null) {
+ super.dispatchDraw(canvas);
+ return;
+ }
+
final boolean begin = (mShowDividers & SHOW_DIVIDER_BEGINNING) == SHOW_DIVIDER_BEGINNING;
final boolean middle = (mShowDividers & SHOW_DIVIDER_MIDDLE) == SHOW_DIVIDER_MIDDLE;
final boolean end = (mShowDividers & SHOW_DIVIDER_END) == SHOW_DIVIDER_END;