Merge "LayoutLib: TypedArray.getDimensionPixelSize can actually return <0" into honeycomb-mr1

This commit is contained in:
Xavier Ducrohet
2011-03-17 14:12:49 -07:00
committed by Android (Google) Code Review

View File

@ -491,18 +491,11 @@ public final class BridgeTypedArray extends TypedArray {
if (ResourceHelper.stringToFloat(s, mValue)) { if (ResourceHelper.stringToFloat(s, mValue)) {
float f = mValue.getDimension(mBridgeResources.mMetrics); float f = mValue.getDimension(mBridgeResources.mMetrics);
if (f < 0) { final int res = (int)(f+0.5f);
// negative values are not allowed in pixel dimensions if (res != 0) return res;
Bridge.getLog().error(LayoutLog.TAG_BROKEN,
"Negative pixel dimension: " + s,
null, null /*data*/);
return defValue;
}
if (f == 0) return 0; if (f == 0) return 0;
if (f < 1) return 1; if (f > 0) return 1;
return defValue; // this is basically unreachable.
return (int)(f+0.5f);
} }
// looks like we were unable to resolve the dimension value // looks like we were unable to resolve the dimension value