aboutsummaryrefslogtreecommitdiffstats
path: root/layoutlib_api/src/com/android/ide/common/rendering/api/DeclareStyleableResourceValue.java
diff options
context:
space:
mode:
authorXavier Ducrohet <xav@android.com>2011-06-24 11:42:32 -0700
committerXavier Ducrohet <xav@android.com>2011-06-24 12:08:58 -0700
commitb5194e4f103c866fc2c75dfdc881ae5f6cfb0011 (patch)
tree6024358c22d36a9750ca91b6fa128e7206d350c3 /layoutlib_api/src/com/android/ide/common/rendering/api/DeclareStyleableResourceValue.java
parent0309368dc30aa2261e419d193dad01d909af8fed (diff)
downloadsdk-b5194e4f103c866fc2c75dfdc881ae5f6cfb0011.zip
sdk-b5194e4f103c866fc2c75dfdc881ae5f6cfb0011.tar.gz
sdk-b5194e4f103c866fc2c75dfdc881ae5f6cfb0011.tar.bz2
Fix value parser to handle attr values not in declare-styleable.
Also change the layoutlib sample code to properly get the list of framework attr flag/enum values. Change-Id: Ie0bf126a0fab574d94d0f86b7b2f8581cf4eaae3
Diffstat (limited to 'layoutlib_api/src/com/android/ide/common/rendering/api/DeclareStyleableResourceValue.java')
-rw-r--r--layoutlib_api/src/com/android/ide/common/rendering/api/DeclareStyleableResourceValue.java33
1 files changed, 12 insertions, 21 deletions
diff --git a/layoutlib_api/src/com/android/ide/common/rendering/api/DeclareStyleableResourceValue.java b/layoutlib_api/src/com/android/ide/common/rendering/api/DeclareStyleableResourceValue.java
index 0699766..45679b2 100644
--- a/layoutlib_api/src/com/android/ide/common/rendering/api/DeclareStyleableResourceValue.java
+++ b/layoutlib_api/src/com/android/ide/common/rendering/api/DeclareStyleableResourceValue.java
@@ -30,11 +30,10 @@ import java.util.Map;
*/
public class DeclareStyleableResourceValue extends ResourceValue {
- private Map<String, Map<String, Integer>> mEnumMap;
+ private Map<String, AttrResourceValue> mAttrMap;
public DeclareStyleableResourceValue(ResourceType type, String name, boolean isFramework) {
super(type, name, isFramework);
-
}
/**
@@ -43,33 +42,25 @@ public class DeclareStyleableResourceValue extends ResourceValue {
* @return the map of (name, integer) values.
*/
public Map<String, Integer> getAttributeValues(String name) {
- if (mEnumMap != null) {
- return mEnumMap.get(name);
+ if (mAttrMap != null) {
+ AttrResourceValue attr = mAttrMap.get(name);
+ if (attr != null) {
+ return attr.getAttributeValues();
+ }
}
return null;
}
- public Map<String, Map<String, Integer>> getAllAttributes() {
- return mEnumMap;
+ public Map<String, AttrResourceValue> getAllAttributes() {
+ return mAttrMap;
}
- public void addValue(String attribute, String name, Integer value) {
- Map<String, Integer> map;
-
- if (mEnumMap == null) {
- mEnumMap = new HashMap<String, Map<String,Integer>>();
-
- map = new HashMap<String, Integer>();
- mEnumMap.put(attribute, map);
- } else {
- map = mEnumMap.get(attribute);
- if (map == null) {
- map = new HashMap<String, Integer>();
- mEnumMap.put(attribute, map);
- }
+ public void addValue(AttrResourceValue attr) {
+ if (mAttrMap == null) {
+ mAttrMap = new HashMap<String, AttrResourceValue>();
}
- map.put(name, value);
+ mAttrMap.put(attr.getName(), attr);
}
}