From 756fa2ab9ff07ba994d4e45a32b7da77b4b5b168 Mon Sep 17 00:00:00 2001 From: John Spurlock Date: Mon, 3 Mar 2014 13:38:01 -0500 Subject: [PATCH] Handle non-exact measure passes in ZenModeView. Bug:13245581 Change-Id: I2c5f6632fde6559849e6f429d66c4d28d4d3a890 --- .../com/android/systemui/statusbar/phone/ZenModeView.java | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/ZenModeView.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/ZenModeView.java index 783e3713628ae..c4d2cce3b1b53 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/ZenModeView.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/ZenModeView.java @@ -261,10 +261,9 @@ public class ZenModeView extends RelativeLayout { protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) { if (DEBUG) log("onMeasure %s %s", MeasureSpec.toString(widthMeasureSpec), MeasureSpec.toString(heightMeasureSpec)); - if (MeasureSpec.getMode(widthMeasureSpec) != MeasureSpec.EXACTLY) { - throw new UnsupportedOperationException("Width must be exact"); - } - if (widthMeasureSpec != mWidthSpec) { + final boolean widthExact = MeasureSpec.getMode(widthMeasureSpec) == MeasureSpec.EXACTLY; + + if (!widthExact || (widthMeasureSpec != mWidthSpec)) { if (DEBUG) log(" super.onMeasure"); final int hms = MeasureSpec.makeMeasureSpec(0, MeasureSpec.UNSPECIFIED); super.onMeasure(widthMeasureSpec, hms);