Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 57f7ccc4 authored by Xavier Ducrohet's avatar Xavier Ducrohet Committed by Android Git Automerger
Browse files

am 63e5d07e: Merge "Fix issue with project resources overriding framework...

am 63e5d07e: Merge "Fix issue with project resources overriding framework resources." into gingerbread
parents 751cc424 63e5d07e
Loading
Loading
Loading
Loading
+9 −6
Original line number Diff line number Diff line
@@ -266,7 +266,7 @@ public final class BridgeContext extends Context {
            customStyle = parser.getAttributeValue(null /* namespace*/, "style");
        }
        if (customStyle != null) {
            IResourceValue item = findResValue(customStyle);
            IResourceValue item = findResValue(customStyle, false /*forceFrameworkOnly*/);

            if (item instanceof IStyleResourceValue) {
                defStyleValues = (IStyleResourceValue)item;
@@ -283,7 +283,7 @@ public final class BridgeContext extends Context {

                if (item != null) {
                    // item is a reference to a style entry. Search for it.
                    item = findResValue(item.getValue());
                    item = findResValue(item.getValue(), false /*forceFrameworkOnly*/);

                    if (item instanceof IStyleResourceValue) {
                        defStyleValues = (IStyleResourceValue)item;
@@ -413,7 +413,7 @@ public final class BridgeContext extends Context {
        }

        // get the IResourceValue referenced by this value
        IResourceValue resValue = findResValue(value);
        IResourceValue resValue = findResValue(value, false /*forceFrameworkOnly*/);

        // if resValue is null, but value is not null, this means it was not a reference.
        // we return the name/value wrapper in a IResourceValue
@@ -449,7 +449,7 @@ public final class BridgeContext extends Context {
        }

        // else attempt to find another IResourceValue referenced by this one.
        IResourceValue resolvedValue = findResValue(value.getValue());
        IResourceValue resolvedValue = findResValue(value.getValue(), value.isFramework());

        // if the value did not reference anything, then we simply return the input value
        if (resolvedValue == null) {
@@ -476,9 +476,11 @@ public final class BridgeContext extends Context {
     * only support the android namespace.
     *
     * @param reference the resource reference to search for.
     * @param forceFrameworkOnly if true all references are considered to be toward framework
     *      resource even if the reference does not include the android: prefix.
     * @return a {@link IResourceValue} or <code>null</code>.
     */
    IResourceValue findResValue(String reference) {
    IResourceValue findResValue(String reference, boolean forceFrameworkOnly) {
        if (reference == null) {
            return null;
        }
@@ -560,7 +562,8 @@ public final class BridgeContext extends Context {
                segments[1] = segments[1].substring(BridgeConstants.PREFIX_ANDROID.length());
            }

            return findResValue(segments[0], segments[1], frameworkOnly);
            return findResValue(segments[0], segments[1],
                    forceFrameworkOnly ? true :frameworkOnly);
        }

        // Looks like the value didn't reference anything. Return null.
+12 −11
Original line number Diff line number Diff line
@@ -100,7 +100,8 @@ public class BridgeXmlPullAttributes extends XmlPullAttributes {

    private int resolveResourceValue(String value, int defaultValue) {
        // now look for this particular value
        IResourceValue resource = mContext.resolveResValue(mContext.findResValue(value));
        IResourceValue resource = mContext.resolveResValue(
                mContext.findResValue(value, mPlatformFile));

        if (resource != null) {
            Integer id = null;
+1 −2
Original line number Diff line number Diff line
@@ -148,8 +148,7 @@ public final class ResourceHelper {
                    parser.setInput(new FileReader(f));

                    d = Drawable.createFromXml(context.getResources(),
                            // FIXME: we need to know if this resource is platform or not
                            new BridgeXmlBlockParser(parser, context, false));
                            new BridgeXmlBlockParser(parser, context, isFramework));
                    return d;
                } catch (XmlPullParserException e) {
                    context.getLogger().error(e);