aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorXavier Ducrohet <xav@android.com>2011-06-06 15:29:32 -0700
committerXavier Ducrohet <xav@android.com>2011-06-06 15:32:18 -0700
commit3301da3ae01b2a756178265403fb33b512a166dd (patch)
tree8c2f0525a9e50c8891fa200cca14e5b3ce44d8aa
parent717a5e55cf0379f3a1588e4f30a6ca321e91f402 (diff)
downloadsdk-3301da3ae01b2a756178265403fb33b512a166dd.zip
sdk-3301da3ae01b2a756178265403fb33b512a166dd.tar.gz
sdk-3301da3ae01b2a756178265403fb33b512a166dd.tar.bz2
Add a new getParser method to IProjectCallback.
This is used to make the implementation easier with access to the XML file path in the ResourceValue. Change-Id: Iedbb194bdf4b3d17841be1d50c384b62615bae8f
-rw-r--r--eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/layout/ProjectCallback.java5
-rw-r--r--layoutlib_api/src/com/android/ide/common/rendering/api/Bridge.java2
-rw-r--r--layoutlib_api/src/com/android/ide/common/rendering/api/IProjectCallback.java10
3 files changed, 16 insertions, 1 deletions
diff --git a/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/layout/ProjectCallback.java b/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/layout/ProjectCallback.java
index a20cc6c..c3698fd 100644
--- a/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/layout/ProjectCallback.java
+++ b/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/layout/ProjectCallback.java
@@ -31,6 +31,7 @@ import com.android.ide.common.rendering.api.ILayoutPullParser;
import com.android.ide.common.rendering.api.IProjectCallback;
import com.android.ide.common.rendering.api.LayoutLog;
import com.android.ide.common.rendering.api.ResourceReference;
+import com.android.ide.common.rendering.api.ResourceValue;
import com.android.ide.common.rendering.api.Result;
import com.android.ide.common.rendering.legacy.LegacyCallback;
import com.android.ide.eclipse.adt.AdtConstants;
@@ -402,6 +403,10 @@ public final class ProjectCallback extends LegacyCallback {
return null;
}
+ public ILayoutPullParser getParser(ResourceValue layoutResource) {
+ return getParser(layoutResource.getName());
+ }
+
public Object getAdapterItemValue(ResourceReference adapterView, Object adapterCookie,
ResourceReference itemRef,
int fullPosition, int typePosition, int fullChildPosition, int typeChildPosition,
diff --git a/layoutlib_api/src/com/android/ide/common/rendering/api/Bridge.java b/layoutlib_api/src/com/android/ide/common/rendering/api/Bridge.java
index d5a1829..026907e 100644
--- a/layoutlib_api/src/com/android/ide/common/rendering/api/Bridge.java
+++ b/layoutlib_api/src/com/android/ide/common/rendering/api/Bridge.java
@@ -32,7 +32,7 @@ import java.util.Map;
*/
public abstract class Bridge {
- public final static int API_CURRENT = 6;
+ public final static int API_CURRENT = 7;
/**
* Returns the API level of the layout library.
diff --git a/layoutlib_api/src/com/android/ide/common/rendering/api/IProjectCallback.java b/layoutlib_api/src/com/android/ide/common/rendering/api/IProjectCallback.java
index b91b598..d35ca35 100644
--- a/layoutlib_api/src/com/android/ide/common/rendering/api/IProjectCallback.java
+++ b/layoutlib_api/src/com/android/ide/common/rendering/api/IProjectCallback.java
@@ -97,10 +97,20 @@ public interface IProjectCallback {
* Returns a custom parser for the layout of the given name.
* @param layoutName the name of the layout.
* @return returns a custom parser or null if no custom parsers are needed.
+ * @deprecated This is replaced by {@link #getParser(ResourceValue)} but older version
+ * of the layoutlib (before API7) will still call this method.
*/
+ @Deprecated
ILayoutPullParser getParser(String layoutName);
/**
+ * Returns a custom parser for a given layout.
+ * @param layoutResource The layout.
+ * @return returns a custom parser or null if no custom parsers are needed.
+ */
+ ILayoutPullParser getParser(ResourceValue layoutResource);
+
+ /**
* Returns the value of an item used by an adapter.
* @param adapterView The {@link ResourceReference} for the adapter view info.
* @param adapterCookie the view cookie for this particular view.