diff options
| -rw-r--r-- | core/java/android/view/ActionMode.java | 2 | ||||
| -rw-r--r-- | core/java/android/view/HardwareRenderer.java | 2 | ||||
| -rw-r--r-- | docs/html/sdk/ndk/overview.jd | 2 | ||||
| -rw-r--r-- | tools/aapt/XMLNode.cpp | 2 | ||||
| -rw-r--r-- | tools/layoutlib/bridge/src/android/util/BridgeXmlPullAttributes.java | 191 | ||||
| -rw-r--r-- | tools/layoutlib/bridge/src/com/android/layoutlib/bridge/Bridge.java | 4 | 
6 files changed, 181 insertions, 22 deletions
| diff --git a/core/java/android/view/ActionMode.java b/core/java/android/view/ActionMode.java index 0349a2be3fbf..c1c7fe26776e 100644 --- a/core/java/android/view/ActionMode.java +++ b/core/java/android/view/ActionMode.java @@ -24,7 +24,7 @@ package android.view;   * <div class="special reference">   * <h3>Developer Guides</h3>   * <p>For information about how to provide contextual actions with {@code ActionMode}, - * read the <a href="{@docRoot}guide/topics/ui/menu.html#context-menu">Menus</a> + * read the <a href="{@docRoot}guide/topics/ui/menus.html#context-menu">Menus</a>   * developer guide.</p>   * </div>   */ diff --git a/core/java/android/view/HardwareRenderer.java b/core/java/android/view/HardwareRenderer.java index ccb64895703c..71f3cf517218 100644 --- a/core/java/android/view/HardwareRenderer.java +++ b/core/java/android/view/HardwareRenderer.java @@ -811,6 +811,8 @@ public abstract class HardwareRenderer {              if (canDraw()) {                  if (!hasDirtyRegions()) {                      dirty = null; +                } else if (dirty != null) { +                    dirty.intersect(0, 0, mWidth, mHeight);                  }                  attachInfo.mIgnoreDirtyState = true;                  attachInfo.mDrawingTime = SystemClock.uptimeMillis(); diff --git a/docs/html/sdk/ndk/overview.jd b/docs/html/sdk/ndk/overview.jd index 85599f76600d..e969f5d299ec 100644 --- a/docs/html/sdk/ndk/overview.jd +++ b/docs/html/sdk/ndk/overview.jd @@ -46,7 +46,7 @@ page.title=What is the NDK?      <li>Documentation, samples, and tutorials</li>    </ul> -  <p>The latest release of the NDK supports these ARM instruction sets:</p> +  <p>The latest release of the NDK supports the following instruction sets:</p>    <ul>      <li>ARMv5TE (including Thumb-1 instructions)</li> diff --git a/tools/aapt/XMLNode.cpp b/tools/aapt/XMLNode.cpp index 9ee6c84718d2..8d7acee54461 100644 --- a/tools/aapt/XMLNode.cpp +++ b/tools/aapt/XMLNode.cpp @@ -21,7 +21,7 @@  const char* const RESOURCES_ROOT_NAMESPACE = "http://schemas.android.com/apk/res/";  const char* const RESOURCES_ANDROID_NAMESPACE = "http://schemas.android.com/apk/res/android"; -const char* const RESOURCES_AUTO_PACKAGE_NAMESPACE = "http://schemas.android.com/apk/res/auto"; +const char* const RESOURCES_AUTO_PACKAGE_NAMESPACE = "http://schemas.android.com/apk/res-auto";  const char* const RESOURCES_ROOT_PRV_NAMESPACE = "http://schemas.android.com/apk/prv/res/";  const char* const XLIFF_XMLNS = "urn:oasis:names:tc:xliff:document:1.2"; diff --git a/tools/layoutlib/bridge/src/android/util/BridgeXmlPullAttributes.java b/tools/layoutlib/bridge/src/android/util/BridgeXmlPullAttributes.java index 0a3cdc66f032..6ac5b02916ae 100644 --- a/tools/layoutlib/bridge/src/android/util/BridgeXmlPullAttributes.java +++ b/tools/layoutlib/bridge/src/android/util/BridgeXmlPullAttributes.java @@ -18,6 +18,7 @@ package android.util;  import com.android.ide.common.rendering.api.RenderResources;  import com.android.ide.common.rendering.api.ResourceValue; +import com.android.internal.util.XmlUtils;  import com.android.layoutlib.bridge.Bridge;  import com.android.layoutlib.bridge.BridgeConstants;  import com.android.layoutlib.bridge.android.BridgeContext; @@ -25,9 +26,6 @@ import com.android.resources.ResourceType;  import org.xmlpull.v1.XmlPullParser; -import android.util.AttributeSet; -import android.util.XmlPullAttributes; -  /**   * A correct implementation of the {@link AttributeSet} interface on top of a XmlPullParser   */ @@ -80,21 +78,40 @@ public class BridgeXmlPullAttributes extends XmlPullAttributes {          return 0;      } -    /* -     * (non-Javadoc) -     * @see android.util.XmlPullAttributes#getAttributeResourceValue(int, int) -     */      @Override -    public int getAttributeResourceValue(int index, int defaultValue) { -        String value = getAttributeValue(index); +    public int getAttributeListValue(String namespace, String attribute, +            String[] options, int defaultValue) { +        String value = getAttributeValue(namespace, attribute); +        if (value != null) { +            ResourceValue r = getResourceValue(value); -        return resolveResourceValue(value, defaultValue); +            if (r != null) { +                value = r.getValue(); +            } + +            return XmlUtils.convertValueToList(value, options, defaultValue); +        } + +        return defaultValue; +    } + +    @Override +    public boolean getAttributeBooleanValue(String namespace, String attribute, +            boolean defaultValue) { +        String value = getAttributeValue(namespace, attribute); +        if (value != null) { +            ResourceValue r = getResourceValue(value); + +            if (r != null) { +                value = r.getValue(); +            } + +            return XmlUtils.convertValueToBoolean(value, defaultValue); +        } + +        return defaultValue;      } -    /* -     * (non-Javadoc) -     * @see android.util.XmlPullAttributes#getAttributeResourceValue(java.lang.String, java.lang.String, int) -     */      @Override      public int getAttributeResourceValue(String namespace, String attribute, int defaultValue) {          String value = getAttributeValue(namespace, attribute); @@ -102,12 +119,151 @@ public class BridgeXmlPullAttributes extends XmlPullAttributes {          return resolveResourceValue(value, defaultValue);      } -    private int resolveResourceValue(String value, int defaultValue) { +    @Override +    public int getAttributeIntValue(String namespace, String attribute, +            int defaultValue) { +        String value = getAttributeValue(namespace, attribute); +        if (value != null) { +            ResourceValue r = getResourceValue(value); + +            if (r != null) { +                value = r.getValue(); +            } + +            return XmlUtils.convertValueToInt(value, defaultValue); +        } + +        return defaultValue; +    } + +    @Override +    public int getAttributeUnsignedIntValue(String namespace, String attribute, +            int defaultValue) { +        String value = getAttributeValue(namespace, attribute); +        if (value != null) { +            ResourceValue r = getResourceValue(value); + +            if (r != null) { +                value = r.getValue(); +            } + +            return XmlUtils.convertValueToUnsignedInt(value, defaultValue); +        } + +        return defaultValue; +    } + +    @Override +    public float getAttributeFloatValue(String namespace, String attribute, +            float defaultValue) { +        String s = getAttributeValue(namespace, attribute); +        if (s != null) { +            ResourceValue r = getResourceValue(s); + +            if (r != null) { +                s = r.getValue(); +            } + +            return Float.parseFloat(s); +        } + +        return defaultValue; +    } + +    @Override +    public int getAttributeListValue(int index, +            String[] options, int defaultValue) { +        return XmlUtils.convertValueToList( +            getAttributeValue(index), options, defaultValue); +    } + +    @Override +    public boolean getAttributeBooleanValue(int index, boolean defaultValue) { +        String value = getAttributeValue(index); +        if (value != null) { +            ResourceValue r = getResourceValue(value); + +            if (r != null) { +                value = r.getValue(); +            } + +            return XmlUtils.convertValueToBoolean(value, defaultValue); +        } + +        return defaultValue; +    } + +    @Override +    public int getAttributeResourceValue(int index, int defaultValue) { +        String value = getAttributeValue(index); + +        return resolveResourceValue(value, defaultValue); +    } + +    @Override +    public int getAttributeIntValue(int index, int defaultValue) { +        String value = getAttributeValue(index); +        if (value != null) { +            ResourceValue r = getResourceValue(value); + +            if (r != null) { +                value = r.getValue(); +            } + +            return XmlUtils.convertValueToInt(value, defaultValue); +        } + +        return defaultValue; +    } + +    @Override +    public int getAttributeUnsignedIntValue(int index, int defaultValue) { +        String value = getAttributeValue(index); +        if (value != null) { +            ResourceValue r = getResourceValue(value); + +            if (r != null) { +                value = r.getValue(); +            } + +            return XmlUtils.convertValueToUnsignedInt(value, defaultValue); +        } + +        return defaultValue; +    } + +    @Override +    public float getAttributeFloatValue(int index, float defaultValue) { +        String s = getAttributeValue(index); +        if (s != null) { +            ResourceValue r = getResourceValue(s); + +            if (r != null) { +                s = r.getValue(); +            } + +            return Float.parseFloat(s); +        } + +        return defaultValue; +    } + +    // -- private helper methods + +    /** +     * Returns a resolved {@link ResourceValue} from a given value. +     */ +    private ResourceValue getResourceValue(String value) {          // now look for this particular value          RenderResources resources = mContext.getRenderResources(); -        ResourceValue resource = resources.resolveResValue( -                resources.findResValue(value, mPlatformFile)); +        return resources.resolveResValue(resources.findResValue(value, mPlatformFile)); +    } +    /** +     * Resolves and return a value to its associated integer. +     */ +    private int resolveResourceValue(String value, int defaultValue) { +        ResourceValue resource = getResourceValue(value);          if (resource != null) {              Integer id = null;              if (mPlatformFile || resource.isFramework()) { @@ -124,5 +280,4 @@ public class BridgeXmlPullAttributes extends XmlPullAttributes {          return defaultValue;      } -  } diff --git a/tools/layoutlib/bridge/src/com/android/layoutlib/bridge/Bridge.java b/tools/layoutlib/bridge/src/com/android/layoutlib/bridge/Bridge.java index 33bf7bc785e3..ff882099b177 100644 --- a/tools/layoutlib/bridge/src/com/android/layoutlib/bridge/Bridge.java +++ b/tools/layoutlib/bridge/src/com/android/layoutlib/bridge/Bridge.java @@ -24,8 +24,8 @@ import com.android.ide.common.rendering.api.DrawableParams;  import com.android.ide.common.rendering.api.LayoutLog;  import com.android.ide.common.rendering.api.RenderSession;  import com.android.ide.common.rendering.api.Result; -import com.android.ide.common.rendering.api.SessionParams;  import com.android.ide.common.rendering.api.Result.Status; +import com.android.ide.common.rendering.api.SessionParams;  import com.android.layoutlib.bridge.impl.FontLoader;  import com.android.layoutlib.bridge.impl.RenderDrawable;  import com.android.layoutlib.bridge.impl.RenderSessionImpl; @@ -242,6 +242,8 @@ public final class Bridge extends com.android.ide.common.rendering.api.Bridge {          if (fontLoader != null) {              Typeface_Delegate.init(fontLoader);          } else { +            log.error(LayoutLog.TAG_BROKEN, +                    "Failed create FontLoader in layout lib.", null);              return false;          } |