diff options
Diffstat (limited to 'layoutlib_api/src/com/android/ide/common/rendering/api/IProjectCallback.java')
-rw-r--r-- | layoutlib_api/src/com/android/ide/common/rendering/api/IProjectCallback.java | 154 |
1 files changed, 0 insertions, 154 deletions
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 deleted file mode 100644 index a88b0d3..0000000 --- a/layoutlib_api/src/com/android/ide/common/rendering/api/IProjectCallback.java +++ /dev/null @@ -1,154 +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.ide.common.rendering.api; - -import com.android.resources.ResourceType; -import com.android.util.Pair; - -import java.net.URL; - -/** - * 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 { - - public enum ViewAttribute { - TEXT(String.class), - IS_CHECKED(Boolean.class), - SRC(URL.class), - COLOR(Integer.class); - - private final Class<?> mClass; - - private ViewAttribute(Class<?> theClass) { - mClass = theClass; - } - - public Class<?> getAttributeClass() { - return mClass; - } - } - - /** - * 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 a Pair of {@link ResourceType} and resource name, or null if the id - * does not match any resource. - */ - @SuppressWarnings("deprecation") - Pair<ResourceType, String> resolveResourceId(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 resolveResourceId(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 getResourceId(ResourceType type, String name); - - /** - * 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. - * @param itemRef the {@link ResourceReference} for the layout used by the adapter item. - * @param fullPosition the position of the item in the full list. - * @param positionPerType the position of the item if only items of the same type are - * considered. If there is only one type of items, this is the same as - * <var>fullPosition</var>. - * @param fullParentPosition the full position of the item's parent. This is only - * valid if the adapter view is an ExpandableListView. - * @param parentPositionPerType the position of the parent's item, only considering items - * of the same type. This is only valid if the adapter view is an ExpandableListView. - * If there is only one type of items, this is the same as <var>fullParentPosition</var>. - * @param viewRef The {@link ResourceReference} for the view we're trying to fill. - * @param viewAttribute the attribute being queried. - * @param defaultValue the default value for this attribute. The object class matches the - * class associated with the {@link ViewAttribute}. - * @return the item value or null if there's no value. - * - * @see ViewAttribute#getAttributeClass() - */ - Object getAdapterItemValue(ResourceReference adapterView, Object adapterCookie, - ResourceReference itemRef, - int fullPosition, int positionPerType, - int fullParentPosition, int parentPositionPerType, - ResourceReference viewRef, ViewAttribute viewAttribute, Object defaultValue); - - /** - * Returns an adapter binding for a given adapter view. - * This is only called if {@link SessionParams} does not have an {@link AdapterBinding} for - * the given {@link ResourceReference} already. - * - * @param adapterViewRef the reference of adapter view to return the adapter binding for. - * @param adapterCookie the view cookie for this particular view. - * @param viewObject the view object for the adapter. - * @return an adapter binding for the given view or null if there's no data. - */ - AdapterBinding getAdapterBinding(ResourceReference adapterViewRef, Object adapterCookie, - Object viewObject); -} |