summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAdam Powell <adamp@google.com>2010-10-19 12:04:49 -0700
committerAndroid (Google) Code Review <android-gerrit@google.com>2010-10-19 12:04:49 -0700
commit067222d11f95e2547b638b6daf5d4c06c6dc49ef (patch)
tree3fd2129c2221538acccc16380bf6fad918d26bcb
parent24a7d5d053222cc3fb19ddd442c58bc4ac2c110c (diff)
parent35f21fe0ffe0c6374fe253777020cf0ffdd1a4bd (diff)
downloadframeworks_base-067222d11f95e2547b638b6daf5d4c06c6dc49ef.zip
frameworks_base-067222d11f95e2547b638b6daf5d4c06c6dc49ef.tar.gz
frameworks_base-067222d11f95e2547b638b6daf5d4c06c6dc49ef.tar.bz2
Merge "Fix bug 3109812 - NPE in ButtonGroup.dispatchDraw"
-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;