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)) {
float f = mValue.getDimension(mBridgeResources.mMetrics);
if (f < 0) {
// negative values are not allowed in pixel dimensions
Bridge.getLog().error(LayoutLog.TAG_BROKEN,
"Negative pixel dimension: " + s,
null, null /*data*/);
return defValue;
}
final int res = (int)(f+0.5f);
if (res != 0) return res;
if (f == 0) return 0;
if (f < 1) return 1;
return (int)(f+0.5f);
if (f > 0) return 1;
return defValue; // this is basically unreachable.
}
// looks like we were unable to resolve the dimension value