aboutsummaryrefslogtreecommitdiffstats
path: root/eclipse/plugins
diff options
context:
space:
mode:
authorXavier Ducrohet <xav@android.com>2010-12-13 18:24:32 -0800
committerAndroid Code Review <code-review@android.com>2010-12-13 18:24:32 -0800
commit22f84f3e28b4762f48cf45e402a19f655a22fde2 (patch)
treeda07d9dbb7acbbc840089ec14a96a42703749a43 /eclipse/plugins
parente7a9f6fe323cc0aca5c6c65361b57f0d81c979c2 (diff)
parent2d55525e583b0c49f4ca435b678f69be11d5256e (diff)
downloadsdk-22f84f3e28b4762f48cf45e402a19f655a22fde2.zip
sdk-22f84f3e28b4762f48cf45e402a19f655a22fde2.tar.gz
sdk-22f84f3e28b4762f48cf45e402a19f655a22fde2.tar.bz2
Merge "ADT: always give fill_parent to layoutlib."
Diffstat (limited to 'eclipse/plugins')
-rw-r--r--eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/layout/ContextPullParser.java24
-rw-r--r--eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/layout/UiElementPullParser.java16
2 files changed, 40 insertions, 0 deletions
diff --git a/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/layout/ContextPullParser.java b/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/layout/ContextPullParser.java
index 3f06968..3a94fd6 100644
--- a/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/layout/ContextPullParser.java
+++ b/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/layout/ContextPullParser.java
@@ -16,7 +16,13 @@
package com.android.ide.eclipse.adt.internal.editors.layout;
+import static com.android.ide.common.layout.LayoutConstants.ATTR_LAYOUT_HEIGHT;
+import static com.android.ide.common.layout.LayoutConstants.ATTR_LAYOUT_WIDTH;
+import static com.android.ide.common.layout.LayoutConstants.VALUE_MATCH_PARENT;
+import static com.android.ide.common.layout.LayoutConstants.VALUE_FILL_PARENT;
+
import com.android.layoutlib.api.IXmlPullParser;
+import com.android.sdklib.SdkConstants;
import org.kxml2.io.KXmlParser;
@@ -51,4 +57,22 @@ public class ContextPullParser extends KXmlParser implements IXmlPullParser {
public Object getViewKey() {
return null; // never any key to return
}
+
+ // --- KXMLParser override
+
+ @Override
+ public String getAttributeValue(String namespace, String localName) {
+ String value = super.getAttributeValue(namespace, localName);
+
+ // on the fly convert match_parent to fill_parent for compatibility with older
+ // platforms.
+ if (VALUE_MATCH_PARENT.equals(value) &&
+ (ATTR_LAYOUT_WIDTH.equals(localName) ||
+ ATTR_LAYOUT_HEIGHT.equals(localName)) &&
+ SdkConstants.NS_RESOURCES.equals(namespace)) {
+ return VALUE_FILL_PARENT;
+ }
+
+ return value;
+ }
}
diff --git a/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/layout/UiElementPullParser.java b/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/layout/UiElementPullParser.java
index a7cdf35..d4b6e94 100644
--- a/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/layout/UiElementPullParser.java
+++ b/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/layout/UiElementPullParser.java
@@ -16,6 +16,12 @@
package com.android.ide.eclipse.adt.internal.editors.layout;
+import static com.android.ide.common.layout.LayoutConstants.ATTR_LAYOUT_WIDTH;
+import static com.android.ide.common.layout.LayoutConstants.ATTR_LAYOUT_HEIGHT;
+import static com.android.ide.common.layout.LayoutConstants.VALUE_MATCH_PARENT;
+import static com.android.ide.common.layout.LayoutConstants.VALUE_FILL_PARENT;
+
+
import com.android.ide.eclipse.adt.internal.editors.descriptors.ElementDescriptor;
import com.android.ide.eclipse.adt.internal.editors.layout.descriptors.LayoutDescriptors;
import com.android.ide.eclipse.adt.internal.editors.uimodel.UiAttributeNode;
@@ -344,6 +350,16 @@ public final class UiElementPullParser extends BasePullParser {
// add the padding and return the value
return addPaddingToValue(value);
}
+
+ // on the fly convert match_parent to fill_parent for compatibility with older
+ // platforms.
+ if (VALUE_MATCH_PARENT.equals(value) &&
+ (ATTR_LAYOUT_WIDTH.equals(localName) ||
+ ATTR_LAYOUT_HEIGHT.equals(localName)) &&
+ SdkConstants.NS_RESOURCES.equals(namespace)) {
+ return VALUE_FILL_PARENT;
+ }
+
return value;
}
}