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

Commit acf87411 authored by Alan Viverette's avatar Alan Viverette Committed by Android (Google) Code Review
Browse files

Merge "Revert "Allow theme attributes in <include> tag, fix <tag> context""

parents b9d5551b a9783bff
Loading
Loading
Loading
Loading
+11 −21
Original line number Diff line number Diff line
@@ -837,7 +837,7 @@ public abstract class LayoutInflater {
            throws XmlPullParserException, IOException {
        int type;

        final TypedArray ta = view.getContext().obtainStyledAttributes(
        final TypedArray ta = mContext.obtainStyledAttributes(
                attrs, com.android.internal.R.styleable.ViewTag);
        final int key = ta.getResourceId(com.android.internal.R.styleable.ViewTag_id, 0);
        final CharSequence value = ta.getText(com.android.internal.R.styleable.ViewTag_value);
@@ -856,26 +856,7 @@ public abstract class LayoutInflater {
        int type;

        if (parent instanceof ViewGroup) {
            Context context = inheritContext ? parent.getContext() : mContext;

            // Apply a theme wrapper, if requested.
            final TypedArray ta = context.obtainStyledAttributes(attrs, ATTRS_THEME);
            final int themeResId = ta.getResourceId(0, 0);
            if (themeResId != 0) {
                context = new ContextThemeWrapper(context, themeResId);
            }
            ta.recycle();

            final TypedArray a = context.obtainStyledAttributes(
                    attrs, com.android.internal.R.styleable.Include);
            final int layout = a.getResourceId(
                    com.android.internal.R.styleable.Include_layout, 0);
            final int id = a.getResourceId(
                    com.android.internal.R.styleable.Include_id, View.NO_ID);
            final int visibility = a.getInt(
                    com.android.internal.R.styleable.Include_visibility, -1);
            a.recycle();

            final int layout = attrs.getAttributeResourceValue(null, "layout", 0);
            if (layout == 0) {
                final String value = attrs.getAttributeValue(null, "layout");
                if (value == null) {
@@ -934,6 +915,15 @@ public abstract class LayoutInflater {
                        // Inflate all children.
                        rInflate(childParser, view, childAttrs, true, true);

                        // Attempt to override the included layout's android:id with the
                        // one set on the <include /> tag itself.
                        TypedArray a = mContext.obtainStyledAttributes(attrs,
                            com.android.internal.R.styleable.View, 0, 0);
                        int id = a.getResourceId(com.android.internal.R.styleable.View_id, View.NO_ID);
                        // While we're at it, let's try to override android:visibility.
                        int visibility = a.getInt(com.android.internal.R.styleable.View_visibility, -1);
                        a.recycle();

                        if (id != View.NO_ID) {
                            view.setId(id);
                        }
+0 −7
Original line number Diff line number Diff line
@@ -2624,13 +2624,6 @@
        <attr name="value" />
    </declare-styleable>

    <!-- Attributes that can be assigned to an &lt;include&gt; tag. -->
    <declare-styleable name="Include">
        <attr name="id" />
        <attr name="layout" />
        <attr name="visibility" />
    </declare-styleable>

    <!-- Attributes that can be used with a {@link android.view.ViewGroup} or any
         of its subclasses.  Also see {@link #ViewGroup_Layout} for
         attributes that this class processes in its children. -->