LayoutLib: TypedArray.getDimensionPixelSize can actually return <0

Change-Id: I17853dc242e28f0c59916cad1b2a57beed480a57
This commit is contained in:
Xavier Ducrohet
2011-03-17 14:11:23 -07:00
parent 2f1f2248c8
commit 67450db03e

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