am ce60d4b2
: Merge "Move Layoutlib API library to sdk.git" into eclair
Merge commit 'ce60d4b27e17d98423fd339f61e8b746866f1f4e' into eclair-plus-aosp * commit 'ce60d4b27e17d98423fd339f61e8b746866f1f4e': Move Layoutlib API library to sdk.git
This commit is contained in:
1
tools/layoutlib/.gitignore
vendored
1
tools/layoutlib/.gitignore
vendored
@ -1,3 +1,2 @@
|
||||
api/bin
|
||||
bridge/bin
|
||||
create/bin
|
||||
|
@ -1,7 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<classpath>
|
||||
<classpathentry kind="src" path="src"/>
|
||||
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
|
||||
<classpathentry kind="var" path="ANDROID_SRC/prebuilt/common/kxml2/kxml2-2.3.0.jar" sourcepath="/ANDROID_SRC/dalvik/libcore/xml/src/main/java"/>
|
||||
<classpathentry kind="output" path="bin"/>
|
||||
</classpath>
|
@ -1,17 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<projectDescription>
|
||||
<name>layoutlib_api</name>
|
||||
<comment></comment>
|
||||
<projects>
|
||||
</projects>
|
||||
<buildSpec>
|
||||
<buildCommand>
|
||||
<name>org.eclipse.jdt.core.javabuilder</name>
|
||||
<arguments>
|
||||
</arguments>
|
||||
</buildCommand>
|
||||
</buildSpec>
|
||||
<natures>
|
||||
<nature>org.eclipse.jdt.core.javanature</nature>
|
||||
</natures>
|
||||
</projectDescription>
|
@ -1,26 +0,0 @@
|
||||
#
|
||||
# Copyright (C) 2008 The Android Open Source Project
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
#
|
||||
LOCAL_PATH := $(call my-dir)
|
||||
include $(CLEAR_VARS)
|
||||
|
||||
LOCAL_SRC_FILES := $(call all-java-files-under,src)
|
||||
|
||||
LOCAL_JAVA_LIBRARIES := \
|
||||
kxml2-2.3.0
|
||||
|
||||
LOCAL_MODULE := layoutlib_api
|
||||
|
||||
include $(BUILD_HOST_JAVA_LIBRARY)
|
@ -1,47 +0,0 @@
|
||||
/*
|
||||
* Copyright (C) 2008 The Android Open Source Project
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package com.android.layoutlib.api;
|
||||
|
||||
/**
|
||||
* Represents an Android Resources that has a density info attached to it.
|
||||
*/
|
||||
public interface IDensityBasedResourceValue extends IResourceValue {
|
||||
|
||||
public static enum Density {
|
||||
HIGH(240),
|
||||
MEDIUM(160),
|
||||
LOW(120),
|
||||
NODPI(0);
|
||||
|
||||
public final static int DEFAULT_DENSITY = 160;
|
||||
|
||||
private final int mValue;
|
||||
|
||||
Density(int value) {
|
||||
mValue = value;
|
||||
}
|
||||
|
||||
public int getValue() {
|
||||
return mValue;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the density associated to the resource.
|
||||
*/
|
||||
Density getDensity();
|
||||
}
|
@ -1,212 +0,0 @@
|
||||
/*
|
||||
* Copyright (C) 2008 The Android Open Source Project
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package com.android.layoutlib.api;
|
||||
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* Entry point of the Layout Lib. Implementations of this interface provide a method to compute
|
||||
* and render a layout.
|
||||
* <p/>
|
||||
* <p/>{@link #getApiLevel()} gives the ability to know which methods are available.
|
||||
* <p/>
|
||||
* Changes in API level 4:
|
||||
* <ul>
|
||||
* <li>new render method: {@link #computeLayout(IXmlPullParser, Object, int, int, boolean, int, float, float, String, boolean, Map, Map, IProjectCallback, ILayoutLog)}</li>
|
||||
* <li>deprecated {@link #computeLayout(IXmlPullParser, Object, int, int, int, float, float, String, boolean, Map, Map, IProjectCallback, ILayoutLog)}</li>
|
||||
* </ul>
|
||||
* Changes in API level 3:
|
||||
* <ul>
|
||||
* <li>new render method: {@link #computeLayout(IXmlPullParser, Object, int, int, int, float, float, String, boolean, Map, Map, IProjectCallback, ILayoutLog)}</li>
|
||||
* <li>deprecated {@link #computeLayout(IXmlPullParser, Object, int, int, String, boolean, Map, Map, IProjectCallback, ILayoutLog)}</li>
|
||||
* </ul>
|
||||
* Changes in API level 2:
|
||||
* <ul>
|
||||
* <li>new API Level method: {@link #getApiLevel()}</li>
|
||||
* <li>new render method: {@link #computeLayout(IXmlPullParser, Object, int, int, String, boolean, Map, Map, IProjectCallback, ILayoutLog)}</li>
|
||||
* <li>deprecated {@link #computeLayout(IXmlPullParser, Object, int, int, String, Map, Map, IProjectCallback, ILayoutLog)}</li>
|
||||
* </ul>
|
||||
*/
|
||||
public interface ILayoutBridge {
|
||||
|
||||
final int API_CURRENT = 4;
|
||||
|
||||
/**
|
||||
* Returns the API level of the layout library.
|
||||
* While no methods will ever be removed, some may become deprecated, and some new ones
|
||||
* will appear.
|
||||
* <p/>If calling this method throws an {@link AbstractMethodError}, then the API level
|
||||
* should be considered to be 1.
|
||||
*/
|
||||
int getApiLevel();
|
||||
|
||||
/**
|
||||
* Initializes the Bridge object.
|
||||
* @param fontOsLocation the location of the fonts.
|
||||
* @param enumValueMap map attrName => { map enumFlagName => Integer value }.
|
||||
* @return true if success.
|
||||
* @since 1
|
||||
*/
|
||||
boolean init(String fontOsLocation, Map<String, Map<String, Integer>> enumValueMap);
|
||||
|
||||
/**
|
||||
* Computes and renders a layout
|
||||
* @param layoutDescription the {@link IXmlPullParser} letting the LayoutLib Bridge visit the
|
||||
* layout file.
|
||||
* @param projectKey An Object identifying the project. This is used for the cache mechanism.
|
||||
* @param screenWidth the screen width
|
||||
* @param screenHeight the screen height
|
||||
* @param renderFullSize if true, the rendering will render the full size needed by the
|
||||
* layout. This size is never smaller than <var>screenWidth</var> x <var>screenHeight</var>.
|
||||
* @param density the density factor for the screen.
|
||||
* @param xdpi the screen actual dpi in X
|
||||
* @param ydpi the screen actual dpi in Y
|
||||
* @param themeName The name of the theme to use.
|
||||
* @param isProjectTheme true if the theme is a project theme, false if it is a framework theme.
|
||||
* @param projectResources the resources of the project. The map contains (String, map) pairs
|
||||
* where the string is the type of the resource reference used in the layout file, and the
|
||||
* map contains (String, {@link IResourceValue}) pairs where the key is the resource name,
|
||||
* and the value is the resource value.
|
||||
* @param frameworkResources the framework resources. The map contains (String, map) pairs
|
||||
* where the string is the type of the resource reference used in the layout file, and the map
|
||||
* contains (String, {@link IResourceValue}) pairs where the key is the resource name, and the
|
||||
* value is the resource value.
|
||||
* @param projectCallback The {@link IProjectCallback} object to get information from
|
||||
* the project.
|
||||
* @param logger the object responsible for displaying warning/errors to the user.
|
||||
* @return a new {@link ILayoutResult} object that contains the result of the layout.
|
||||
* @since 4
|
||||
*/
|
||||
ILayoutResult computeLayout(IXmlPullParser layoutDescription,
|
||||
Object projectKey,
|
||||
int screenWidth, int screenHeight, boolean renderFullSize,
|
||||
int density, float xdpi, float ydpi,
|
||||
String themeName, boolean isProjectTheme,
|
||||
Map<String, Map<String, IResourceValue>> projectResources,
|
||||
Map<String, Map<String, IResourceValue>> frameworkResources,
|
||||
IProjectCallback projectCallback, ILayoutLog logger);
|
||||
|
||||
/**
|
||||
* Computes and renders a layout
|
||||
* @param layoutDescription the {@link IXmlPullParser} letting the LayoutLib Bridge visit the
|
||||
* layout file.
|
||||
* @param projectKey An Object identifying the project. This is used for the cache mechanism.
|
||||
* @param screenWidth the screen width
|
||||
* @param screenHeight the screen height
|
||||
* @param density the density factor for the screen.
|
||||
* @param xdpi the screen actual dpi in X
|
||||
* @param ydpi the screen actual dpi in Y
|
||||
* @param themeName The name of the theme to use.
|
||||
* @param isProjectTheme true if the theme is a project theme, false if it is a framework theme.
|
||||
* @param projectResources the resources of the project. The map contains (String, map) pairs
|
||||
* where the string is the type of the resource reference used in the layout file, and the
|
||||
* map contains (String, {@link IResourceValue}) pairs where the key is the resource name,
|
||||
* and the value is the resource value.
|
||||
* @param frameworkResources the framework resources. The map contains (String, map) pairs
|
||||
* where the string is the type of the resource reference used in the layout file, and the map
|
||||
* contains (String, {@link IResourceValue}) pairs where the key is the resource name, and the
|
||||
* value is the resource value.
|
||||
* @param projectCallback The {@link IProjectCallback} object to get information from
|
||||
* the project.
|
||||
* @param logger the object responsible for displaying warning/errors to the user.
|
||||
* @return a new {@link ILayoutResult} object that contains the result of the layout.
|
||||
* @since 3
|
||||
*/
|
||||
@Deprecated
|
||||
ILayoutResult computeLayout(IXmlPullParser layoutDescription,
|
||||
Object projectKey,
|
||||
int screenWidth, int screenHeight, int density, float xdpi, float ydpi,
|
||||
String themeName, boolean isProjectTheme,
|
||||
Map<String, Map<String, IResourceValue>> projectResources,
|
||||
Map<String, Map<String, IResourceValue>> frameworkResources,
|
||||
IProjectCallback projectCallback, ILayoutLog logger);
|
||||
|
||||
/**
|
||||
* Computes and renders a layout
|
||||
* @param layoutDescription the {@link IXmlPullParser} letting the LayoutLib Bridge visit the
|
||||
* layout file.
|
||||
* @param projectKey An Object identifying the project. This is used for the cache mechanism.
|
||||
* @param screenWidth the screen width
|
||||
* @param screenHeight the screen height
|
||||
* @param themeName The name of the theme to use.
|
||||
* @param isProjectTheme true if the theme is a project theme, false if it is a framework theme.
|
||||
* @param projectResources the resources of the project. The map contains (String, map) pairs
|
||||
* where the string is the type of the resource reference used in the layout file, and the
|
||||
* map contains (String, {@link IResourceValue}) pairs where the key is the resource name,
|
||||
* and the value is the resource value.
|
||||
* @param frameworkResources the framework resources. The map contains (String, map) pairs
|
||||
* where the string is the type of the resource reference used in the layout file, and the map
|
||||
* contains (String, {@link IResourceValue}) pairs where the key is the resource name, and the
|
||||
* value is the resource value.
|
||||
* @param projectCallback The {@link IProjectCallback} object to get information from
|
||||
* the project.
|
||||
* @param logger the object responsible for displaying warning/errors to the user.
|
||||
* @return a new {@link ILayoutResult} object that contains the result of the layout.
|
||||
* @deprecated Use {@link #computeLayout(IXmlPullParser, Object, int, int, int, float, float, String, boolean, Map, Map, IProjectCallback, ILayoutLog)}
|
||||
* @since 2
|
||||
*/
|
||||
@Deprecated
|
||||
ILayoutResult computeLayout(IXmlPullParser layoutDescription,
|
||||
Object projectKey,
|
||||
int screenWidth, int screenHeight, String themeName, boolean isProjectTheme,
|
||||
Map<String, Map<String, IResourceValue>> projectResources,
|
||||
Map<String, Map<String, IResourceValue>> frameworkResources,
|
||||
IProjectCallback projectCallback, ILayoutLog logger);
|
||||
|
||||
/**
|
||||
* Computes and renders a layout
|
||||
* @param layoutDescription the {@link IXmlPullParser} letting the LayoutLib Bridge visit the
|
||||
* layout file.
|
||||
* @param projectKey An Object identifying the project. This is used for the cache mechanism.
|
||||
* @param screenWidth
|
||||
* @param screenHeight
|
||||
* @param themeName The name of the theme to use. In order to differentiate project and platform
|
||||
* themes sharing the same name, all project themes must be prepended with a '*' character.
|
||||
* @param projectResources the resources of the project. The map contains (String, map) pairs
|
||||
* where the string is the type of the resource reference used in the layout file, and the
|
||||
* map contains (String, {@link IResourceValue}) pairs where the key is the resource name,
|
||||
* and the value is the resource value.
|
||||
* @param frameworkResources the framework resources. The map contains (String, map) pairs
|
||||
* where the string is the type of the resource reference used in the layout file, and the map
|
||||
* contains (String, {@link IResourceValue}) pairs where the key is the resource name, and the
|
||||
* value is the resource value.
|
||||
* @param projectCallback The {@link IProjectCallback} object to get information from
|
||||
* the project.
|
||||
* @param logger the object responsible for displaying warning/errors to the user.
|
||||
* @return a new {@link ILayoutResult} object that contains the result of the layout.
|
||||
* @deprecated Use {@link #computeLayout(IXmlPullParser, Object, int, int, int, float, float, String, boolean, Map, Map, IProjectCallback, ILayoutLog)}
|
||||
* @since 1
|
||||
*/
|
||||
@Deprecated
|
||||
ILayoutResult computeLayout(IXmlPullParser layoutDescription,
|
||||
Object projectKey,
|
||||
int screenWidth, int screenHeight, String themeName,
|
||||
Map<String, Map<String, IResourceValue>> projectResources,
|
||||
Map<String, Map<String, IResourceValue>> frameworkResources,
|
||||
IProjectCallback projectCallback, ILayoutLog logger);
|
||||
|
||||
/**
|
||||
* Clears the resource cache for a specific project.
|
||||
* <p/>This cache contains bitmaps and nine patches that are loaded from the disk and reused
|
||||
* until this method is called.
|
||||
* <p/>The cache is not configuration dependent and should only be cleared when a
|
||||
* resource changes (at this time only bitmaps and 9 patches go into the cache).
|
||||
* @param projectKey the key for the project.
|
||||
* @since 1
|
||||
*/
|
||||
void clearCaches(Object projectKey);
|
||||
}
|
@ -1,42 +0,0 @@
|
||||
/*
|
||||
* Copyright (C) 2008 The Android Open Source Project
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package com.android.layoutlib.api;
|
||||
|
||||
/**
|
||||
* Callback interface to display warnings/errors that happened during the computation and
|
||||
* rendering of the layout.
|
||||
*/
|
||||
public interface ILayoutLog {
|
||||
|
||||
/**
|
||||
* Displays a warning message.
|
||||
* @param message the message to display.
|
||||
*/
|
||||
void warning(String message);
|
||||
|
||||
/**
|
||||
* Displays an error message.
|
||||
* @param message the message to display.
|
||||
*/
|
||||
void error(String message);
|
||||
|
||||
/**
|
||||
* Displays an exception
|
||||
* @param t the {@link Throwable} to display.
|
||||
*/
|
||||
void error(Throwable t);
|
||||
}
|
@ -1,101 +0,0 @@
|
||||
/*
|
||||
* Copyright (C) 2008 The Android Open Source Project
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package com.android.layoutlib.api;
|
||||
|
||||
import java.awt.image.BufferedImage;
|
||||
|
||||
/**
|
||||
* The result of a layout computation through
|
||||
* {@link ILayoutLibBridge#computeLayout(IXmlPullParser, int, int, String, java.util.Map, java.util.Map, java.util.Map, IFontLoader, ILayoutLibLog, ICustomViewLoader)}
|
||||
*/
|
||||
public interface ILayoutResult {
|
||||
/**
|
||||
* Success return code
|
||||
*/
|
||||
final static int SUCCESS = 0;
|
||||
|
||||
/**
|
||||
* Error return code, in which case an error message is guaranteed to be defined.
|
||||
* @See {@link #getErrorMessage()}
|
||||
*/
|
||||
final static int ERROR = 1;
|
||||
|
||||
/**
|
||||
* Returns the result code.
|
||||
* @see #SUCCESS
|
||||
* @see #ERROR
|
||||
*/
|
||||
int getSuccess();
|
||||
|
||||
/**
|
||||
* Returns the {@link ILayoutViewInfo} object for the top level view.
|
||||
*/
|
||||
ILayoutViewInfo getRootView();
|
||||
|
||||
/**
|
||||
* Returns the rendering of the full layout.
|
||||
*/
|
||||
BufferedImage getImage();
|
||||
|
||||
/**
|
||||
* Returns the error message.
|
||||
* <p/>Only valid when {@link #getSuccess()} returns {@link #ERROR}
|
||||
*/
|
||||
String getErrorMessage();
|
||||
|
||||
/**
|
||||
* Layout information for a specific view.
|
||||
*/
|
||||
public interface ILayoutViewInfo {
|
||||
|
||||
/**
|
||||
* Returns the list of children views.
|
||||
*/
|
||||
ILayoutViewInfo[] getChildren();
|
||||
|
||||
/**
|
||||
* Returns the key associated with the node.
|
||||
* @see IXmlPullParser#getViewKey()
|
||||
*/
|
||||
Object getViewKey();
|
||||
|
||||
/**
|
||||
* Returns the name of the view.
|
||||
*/
|
||||
String getName();
|
||||
|
||||
/**
|
||||
* Returns the left of the view bounds.
|
||||
*/
|
||||
int getLeft();
|
||||
|
||||
/**
|
||||
* Returns the top of the view bounds.
|
||||
*/
|
||||
int getTop();
|
||||
|
||||
/**
|
||||
* Returns the right of the view bounds.
|
||||
*/
|
||||
int getRight();
|
||||
|
||||
/**
|
||||
* Returns the bottom of the view bounds.
|
||||
*/
|
||||
int getBottom();
|
||||
}
|
||||
}
|
@ -1,74 +0,0 @@
|
||||
/*
|
||||
* Copyright (C) 2008 The Android Open Source Project
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package com.android.layoutlib.api;
|
||||
|
||||
/**
|
||||
* Callback for project information needed by the Layout Library.
|
||||
* Classes implementing this interface provide methods giving access to some project data, like
|
||||
* resource resolution, namespace information, and instantiation of custom view.
|
||||
*/
|
||||
public interface IProjectCallback {
|
||||
|
||||
/**
|
||||
* Loads a custom view with the given constructor signature and arguments.
|
||||
* @param name The fully qualified name of the class.
|
||||
* @param constructorSignature The signature of the class to use
|
||||
* @param constructorArgs The arguments to use on the constructor
|
||||
* @return A newly instantiated android.view.View object.
|
||||
* @throws ClassNotFoundException.
|
||||
* @throws Exception
|
||||
*/
|
||||
@SuppressWarnings("unchecked")
|
||||
Object loadView(String name, Class[] constructorSignature, Object[] constructorArgs)
|
||||
throws ClassNotFoundException, Exception;
|
||||
|
||||
/**
|
||||
* Returns the namespace of the application.
|
||||
* <p/>This lets the Layout Lib load custom attributes for custom views.
|
||||
*/
|
||||
String getNamespace();
|
||||
|
||||
/**
|
||||
* Resolves the id of a resource Id.
|
||||
* <p/>The resource id is the value of a <code>R.<type>.<name></code>, and
|
||||
* this method will return both the type and name of the resource.
|
||||
* @param id the Id to resolve.
|
||||
* @return an array of 2 strings containing the resource name and type, or null if the id
|
||||
* does not match any resource.
|
||||
*/
|
||||
String[] resolveResourceValue(int id);
|
||||
|
||||
/**
|
||||
* Resolves the id of a resource Id of type int[]
|
||||
* <p/>The resource id is the value of a R.styleable.<name>, and this method will
|
||||
* return the name of the resource.
|
||||
* @param id the Id to resolve.
|
||||
* @return the name of the resource or <code>null</code> if not found.
|
||||
*/
|
||||
String resolveResourceValue(int[] id);
|
||||
|
||||
/**
|
||||
* Returns the id of a resource.
|
||||
* <p/>The provided type and name must match an existing constant defined as
|
||||
* <code>R.<type>.<name></code>.
|
||||
* @param type the type of the resource
|
||||
* @param name the name of the resource
|
||||
* @return an Integer containing the resource Id, or <code>null</code> if not found.
|
||||
*/
|
||||
Integer getResourceValue(String type, String name);
|
||||
|
||||
}
|
@ -1,44 +0,0 @@
|
||||
/*
|
||||
* Copyright (C) 2008 The Android Open Source Project
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package com.android.layoutlib.api;
|
||||
|
||||
/**
|
||||
* Represents an android resource with a name and a string value.
|
||||
*/
|
||||
public interface IResourceValue {
|
||||
|
||||
/**
|
||||
* Returns the type of the resource. For instance "drawable", "color", etc...
|
||||
*/
|
||||
String getType();
|
||||
|
||||
/**
|
||||
* Returns the name of the resource, as defined in the XML.
|
||||
*/
|
||||
String getName();
|
||||
|
||||
/**
|
||||
* Returns the value of the resource, as defined in the XML. This can be <code>null</code>
|
||||
*/
|
||||
String getValue();
|
||||
|
||||
/**
|
||||
* Returns whether the resource is a framework resource (<code>true</code>) or a project
|
||||
* resource (<code>false</false>).
|
||||
*/
|
||||
boolean isFramework();
|
||||
}
|
@ -1,35 +0,0 @@
|
||||
/*
|
||||
* Copyright (C) 2008 The Android Open Source Project
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package com.android.layoutlib.api;
|
||||
|
||||
|
||||
/**
|
||||
* Represents an android style resources with a name and a list of children {@link IResourceValue}.
|
||||
*/
|
||||
public interface IStyleResourceValue extends IResourceValue {
|
||||
|
||||
/**
|
||||
* Returns the parent style name or <code>null</code> if unknown.
|
||||
*/
|
||||
String getParentStyle();
|
||||
|
||||
/**
|
||||
* Find an item in the list by name
|
||||
* @param name
|
||||
*/
|
||||
IResourceValue findItem(String name);
|
||||
}
|
@ -1,36 +0,0 @@
|
||||
/*
|
||||
* Copyright (C) 2008 The Android Open Source Project
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package com.android.layoutlib.api;
|
||||
|
||||
import com.android.layoutlib.api.ILayoutResult.ILayoutViewInfo;
|
||||
|
||||
import org.xmlpull.v1.XmlPullParser;
|
||||
|
||||
/**
|
||||
* Extended version of {@link XmlPullParser} to use with
|
||||
* {@link ILayoutLibBridge#computeLayout(XmlPullParser, int, int, String, java.util.Map, java.util.Map, java.util.Map, com.android.layoutlib.api.ILayoutLibBridge.IFontInfo)}
|
||||
*/
|
||||
public interface IXmlPullParser extends XmlPullParser {
|
||||
|
||||
/**
|
||||
* Returns a key for the current XML node.
|
||||
* <p/>This key will be passed back in the {@link ILayoutViewInfo} objects, allowing association
|
||||
* of a particular XML node with its result from the layout computation.
|
||||
*/
|
||||
Object getViewKey();
|
||||
}
|
||||
|
Reference in New Issue
Block a user