diff options
author | Xavier Ducrohet <xav@android.com> | 2011-02-18 17:46:03 -0800 |
---|---|---|
committer | Android (Google) Code Review <android-gerrit@google.com> | 2011-02-18 17:46:03 -0800 |
commit | 250da4bb91b564c049598975921bc7b49e3f3606 (patch) | |
tree | 8c15d9b91706aadf93f2cd3e14873a8e05cf6b0a /tools/layoutlib | |
parent | 95094517432adc5faf1cf8ad20e106174a357bf9 (diff) | |
parent | f20999965b94bdcc2b1f2c05b587ff405924bc96 (diff) | |
download | frameworks_base-250da4bb91b564c049598975921bc7b49e3f3606.zip frameworks_base-250da4bb91b564c049598975921bc7b49e3f3606.tar.gz frameworks_base-250da4bb91b564c049598975921bc7b49e3f3606.tar.bz2 |
Merge "LayoutLib: properly handle @null references in more places."
Diffstat (limited to 'tools/layoutlib')
-rw-r--r-- | tools/layoutlib/bridge/src/com/android/layoutlib/bridge/android/BridgeTypedArray.java | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/tools/layoutlib/bridge/src/com/android/layoutlib/bridge/android/BridgeTypedArray.java b/tools/layoutlib/bridge/src/com/android/layoutlib/bridge/android/BridgeTypedArray.java index 30da2ff..99c217d 100644 --- a/tools/layoutlib/bridge/src/com/android/layoutlib/bridge/android/BridgeTypedArray.java +++ b/tools/layoutlib/bridge/src/com/android/layoutlib/bridge/android/BridgeTypedArray.java @@ -188,6 +188,10 @@ public final class BridgeTypedArray extends TypedArray { String s = mResourceData[index].getValue(); + if (RenderResources.REFERENCE_NULL.equals(s)) { + return defValue; + } + try { return (s == null) ? defValue : XmlUtils.convertValueToInt(s, defValue); } catch (NumberFormatException e) { @@ -301,6 +305,10 @@ public final class BridgeTypedArray extends TypedArray { return null; } + if (RenderResources.REFERENCE_NULL.equals(value)) { + return null; + } + // let the framework inflate the ColorStateList from the XML file. File f = new File(value); if (f.isFile()) { @@ -408,6 +416,10 @@ public final class BridgeTypedArray extends TypedArray { return LayoutParams.WRAP_CONTENT; } + if (RenderResources.REFERENCE_NULL.equals(s)) { + return defValue; + } + if (ResourceHelper.stringToFloat(s, mValue)) { return mValue.getDimension(mBridgeResources.mMetrics); } @@ -480,6 +492,10 @@ public final class BridgeTypedArray extends TypedArray { return LayoutParams.WRAP_CONTENT; } + if (RenderResources.REFERENCE_NULL.equals(s)) { + return defValue; + } + // FIXME huh? float f = getDimension(index, defValue); @@ -588,6 +604,10 @@ public final class BridgeTypedArray extends TypedArray { return mContext.getDynamicIdByStyle((StyleResourceValue)resValue); } + if (RenderResources.REFERENCE_NULL.equals(resValue.getValue())) { + return defValue; + } + // if the attribute was a reference to a resource, and not a declaration of an id (@+id), // then the xml attribute value was "resolved" which leads us to a ResourceValue with a // valid getType() and getName() returning a resource name. @@ -715,6 +735,10 @@ public final class BridgeTypedArray extends TypedArray { String value = mResourceData[index].getValue(); if (value != null) { + if (RenderResources.REFERENCE_NULL.equals(value)) { + return null; + } + return new CharSequence[] { value }; } |