Loading core/java/android/widget/RelativeLayout.java +143 −1 Original line number Diff line number Diff line Loading @@ -35,6 +35,9 @@ import android.view.ViewGroup; import android.view.ViewHierarchyEncoder; import android.view.accessibility.AccessibilityEvent; import android.view.inspector.InspectableProperty; import android.view.inspector.InspectionCompanion; import android.view.inspector.PropertyMapper; import android.view.inspector.PropertyReader; import android.widget.RemoteViews.RemoteView; import com.android.internal.R; Loading Loading @@ -1286,7 +1289,6 @@ public class RelativeLayout extends ViewGroup { * the anchor's visibility is GONE. */ @ViewDebug.ExportedProperty(category = "layout") @InspectableProperty(name = "layout_alignWithParentIfMissing") public boolean alignWithParent; public LayoutParams(Context c, AttributeSet attrs) { Loading Loading @@ -1723,6 +1725,146 @@ public class RelativeLayout extends ViewGroup { super.encodeProperties(encoder); encoder.addProperty("layout:alignWithParent", alignWithParent); } /** @hide */ public static final class InspectionCompanion implements android.view.inspector.InspectionCompanion<LayoutParams> { private boolean mPropertiesMapped; private int mAboveId; private int mAlignBaselineId; private int mAlignBottomId; private int mAlignEndId; private int mAlignLeftId; private int mAlignParentBottomId; private int mAlignParentEndId; private int mAlignParentLeftId; private int mAlignParentRightId; private int mAlignParentStartId; private int mAlignParentTopId; private int mAlignRightId; private int mAlignStartId; private int mAlignTopId; private int mAlignWithParentIfMissingId; private int mBelowId; private int mCenterHorizontalId; private int mCenterInParentId; private int mCenterVerticalId; private int mToEndOfId; private int mToLeftOfId; private int mToRightOfId; private int mToStartOfId; @Override public void mapProperties(@NonNull PropertyMapper propertyMapper) { mPropertiesMapped = true; mAboveId = propertyMapper.mapResourceId("layout_above", R.attr.layout_above); mAlignBaselineId = propertyMapper.mapResourceId( "layout_alignBaseline", R.attr.layout_alignBaseline); mAlignBottomId = propertyMapper.mapResourceId( "layout_alignBottom", R.attr.layout_alignBottom); mAlignEndId = propertyMapper.mapResourceId( "layout_alignEnd", R.attr.layout_alignEnd); mAlignLeftId = propertyMapper.mapResourceId( "layout_alignLeft", R.attr.layout_alignLeft); mAlignParentBottomId = propertyMapper.mapBoolean( "layout_alignParentBottom", R.attr.layout_alignParentBottom); mAlignParentEndId = propertyMapper.mapBoolean( "layout_alignParentEnd", R.attr.layout_alignParentEnd); mAlignParentLeftId = propertyMapper.mapBoolean( "layout_alignParentLeft", R.attr.layout_alignParentLeft); mAlignParentRightId = propertyMapper.mapBoolean( "layout_alignParentRight", R.attr.layout_alignParentRight); mAlignParentStartId = propertyMapper.mapBoolean( "layout_alignParentStart", R.attr.layout_alignParentStart); mAlignParentTopId = propertyMapper.mapBoolean( "layout_alignParentTop", R.attr.layout_alignParentTop); mAlignRightId = propertyMapper.mapResourceId( "layout_alignRight", R.attr.layout_alignRight); mAlignStartId = propertyMapper.mapResourceId( "layout_alignStart", R.attr.layout_alignStart); mAlignTopId = propertyMapper.mapResourceId( "layout_alignTop", R.attr.layout_alignTop); mAlignWithParentIfMissingId = propertyMapper.mapBoolean( "layout_alignWithParentIfMissing", R.attr.layout_alignWithParentIfMissing); mBelowId = propertyMapper.mapResourceId("layout_below", R.attr.layout_below); mCenterHorizontalId = propertyMapper.mapBoolean( "layout_centerHorizontal", R.attr.layout_centerHorizontal); mCenterInParentId = propertyMapper.mapBoolean( "layout_centerInParent", R.attr.layout_centerInParent); mCenterVerticalId = propertyMapper.mapBoolean( "layout_centerVertical", R.attr.layout_centerVertical); mToEndOfId = propertyMapper.mapResourceId( "layout_toEndOf", R.attr.layout_toEndOf); mToLeftOfId = propertyMapper.mapResourceId( "layout_toLeftOf", R.attr.layout_toLeftOf); mToRightOfId = propertyMapper.mapResourceId( "layout_toRightOf", R.attr.layout_toRightOf); mToStartOfId = propertyMapper.mapResourceId( "layout_toStartOf", R.attr.layout_toStartOf); } @Override public void readProperties( @NonNull LayoutParams node, @NonNull PropertyReader propertyReader ) { if (!mPropertiesMapped) { throw new UninitializedPropertyMapException(); } final int[] rules = node.getRules(); propertyReader.readResourceId(mAboveId, rules[ABOVE]); propertyReader.readResourceId(mAlignBaselineId, rules[ALIGN_BASELINE]); propertyReader.readResourceId(mAlignBottomId, rules[ALIGN_BOTTOM]); propertyReader.readResourceId(mAlignEndId, rules[ALIGN_END]); propertyReader.readResourceId(mAlignLeftId, rules[ALIGN_LEFT]); propertyReader.readBoolean( mAlignParentBottomId, rules[ALIGN_PARENT_BOTTOM] == TRUE); propertyReader.readBoolean(mAlignParentEndId, rules[ALIGN_PARENT_END] == TRUE); propertyReader.readBoolean(mAlignParentLeftId, rules[ALIGN_PARENT_LEFT] == TRUE); propertyReader.readBoolean(mAlignParentRightId, rules[ALIGN_PARENT_RIGHT] == TRUE); propertyReader.readBoolean(mAlignParentStartId, rules[ALIGN_PARENT_START] == TRUE); propertyReader.readBoolean(mAlignParentTopId, rules[ALIGN_PARENT_TOP] == TRUE); propertyReader.readResourceId(mAlignRightId, rules[ALIGN_RIGHT]); propertyReader.readResourceId(mAlignStartId, rules[ALIGN_START]); propertyReader.readResourceId(mAlignTopId, rules[ALIGN_TOP]); propertyReader.readBoolean(mAlignWithParentIfMissingId, node.alignWithParent); propertyReader.readResourceId(mBelowId, rules[BELOW]); propertyReader.readBoolean(mCenterHorizontalId, rules[CENTER_HORIZONTAL] == TRUE); propertyReader.readBoolean(mCenterInParentId, rules[CENTER_IN_PARENT] == TRUE); propertyReader.readBoolean(mCenterVerticalId, rules[CENTER_VERTICAL] == TRUE); propertyReader.readResourceId(mToEndOfId, rules[END_OF]); propertyReader.readResourceId(mToLeftOfId, rules[LEFT_OF]); propertyReader.readResourceId(mToRightOfId, rules[RIGHT_OF]); propertyReader.readResourceId(mToStartOfId, rules[START_OF]); } } } private static class DependencyGraph { Loading Loading
core/java/android/widget/RelativeLayout.java +143 −1 Original line number Diff line number Diff line Loading @@ -35,6 +35,9 @@ import android.view.ViewGroup; import android.view.ViewHierarchyEncoder; import android.view.accessibility.AccessibilityEvent; import android.view.inspector.InspectableProperty; import android.view.inspector.InspectionCompanion; import android.view.inspector.PropertyMapper; import android.view.inspector.PropertyReader; import android.widget.RemoteViews.RemoteView; import com.android.internal.R; Loading Loading @@ -1286,7 +1289,6 @@ public class RelativeLayout extends ViewGroup { * the anchor's visibility is GONE. */ @ViewDebug.ExportedProperty(category = "layout") @InspectableProperty(name = "layout_alignWithParentIfMissing") public boolean alignWithParent; public LayoutParams(Context c, AttributeSet attrs) { Loading Loading @@ -1723,6 +1725,146 @@ public class RelativeLayout extends ViewGroup { super.encodeProperties(encoder); encoder.addProperty("layout:alignWithParent", alignWithParent); } /** @hide */ public static final class InspectionCompanion implements android.view.inspector.InspectionCompanion<LayoutParams> { private boolean mPropertiesMapped; private int mAboveId; private int mAlignBaselineId; private int mAlignBottomId; private int mAlignEndId; private int mAlignLeftId; private int mAlignParentBottomId; private int mAlignParentEndId; private int mAlignParentLeftId; private int mAlignParentRightId; private int mAlignParentStartId; private int mAlignParentTopId; private int mAlignRightId; private int mAlignStartId; private int mAlignTopId; private int mAlignWithParentIfMissingId; private int mBelowId; private int mCenterHorizontalId; private int mCenterInParentId; private int mCenterVerticalId; private int mToEndOfId; private int mToLeftOfId; private int mToRightOfId; private int mToStartOfId; @Override public void mapProperties(@NonNull PropertyMapper propertyMapper) { mPropertiesMapped = true; mAboveId = propertyMapper.mapResourceId("layout_above", R.attr.layout_above); mAlignBaselineId = propertyMapper.mapResourceId( "layout_alignBaseline", R.attr.layout_alignBaseline); mAlignBottomId = propertyMapper.mapResourceId( "layout_alignBottom", R.attr.layout_alignBottom); mAlignEndId = propertyMapper.mapResourceId( "layout_alignEnd", R.attr.layout_alignEnd); mAlignLeftId = propertyMapper.mapResourceId( "layout_alignLeft", R.attr.layout_alignLeft); mAlignParentBottomId = propertyMapper.mapBoolean( "layout_alignParentBottom", R.attr.layout_alignParentBottom); mAlignParentEndId = propertyMapper.mapBoolean( "layout_alignParentEnd", R.attr.layout_alignParentEnd); mAlignParentLeftId = propertyMapper.mapBoolean( "layout_alignParentLeft", R.attr.layout_alignParentLeft); mAlignParentRightId = propertyMapper.mapBoolean( "layout_alignParentRight", R.attr.layout_alignParentRight); mAlignParentStartId = propertyMapper.mapBoolean( "layout_alignParentStart", R.attr.layout_alignParentStart); mAlignParentTopId = propertyMapper.mapBoolean( "layout_alignParentTop", R.attr.layout_alignParentTop); mAlignRightId = propertyMapper.mapResourceId( "layout_alignRight", R.attr.layout_alignRight); mAlignStartId = propertyMapper.mapResourceId( "layout_alignStart", R.attr.layout_alignStart); mAlignTopId = propertyMapper.mapResourceId( "layout_alignTop", R.attr.layout_alignTop); mAlignWithParentIfMissingId = propertyMapper.mapBoolean( "layout_alignWithParentIfMissing", R.attr.layout_alignWithParentIfMissing); mBelowId = propertyMapper.mapResourceId("layout_below", R.attr.layout_below); mCenterHorizontalId = propertyMapper.mapBoolean( "layout_centerHorizontal", R.attr.layout_centerHorizontal); mCenterInParentId = propertyMapper.mapBoolean( "layout_centerInParent", R.attr.layout_centerInParent); mCenterVerticalId = propertyMapper.mapBoolean( "layout_centerVertical", R.attr.layout_centerVertical); mToEndOfId = propertyMapper.mapResourceId( "layout_toEndOf", R.attr.layout_toEndOf); mToLeftOfId = propertyMapper.mapResourceId( "layout_toLeftOf", R.attr.layout_toLeftOf); mToRightOfId = propertyMapper.mapResourceId( "layout_toRightOf", R.attr.layout_toRightOf); mToStartOfId = propertyMapper.mapResourceId( "layout_toStartOf", R.attr.layout_toStartOf); } @Override public void readProperties( @NonNull LayoutParams node, @NonNull PropertyReader propertyReader ) { if (!mPropertiesMapped) { throw new UninitializedPropertyMapException(); } final int[] rules = node.getRules(); propertyReader.readResourceId(mAboveId, rules[ABOVE]); propertyReader.readResourceId(mAlignBaselineId, rules[ALIGN_BASELINE]); propertyReader.readResourceId(mAlignBottomId, rules[ALIGN_BOTTOM]); propertyReader.readResourceId(mAlignEndId, rules[ALIGN_END]); propertyReader.readResourceId(mAlignLeftId, rules[ALIGN_LEFT]); propertyReader.readBoolean( mAlignParentBottomId, rules[ALIGN_PARENT_BOTTOM] == TRUE); propertyReader.readBoolean(mAlignParentEndId, rules[ALIGN_PARENT_END] == TRUE); propertyReader.readBoolean(mAlignParentLeftId, rules[ALIGN_PARENT_LEFT] == TRUE); propertyReader.readBoolean(mAlignParentRightId, rules[ALIGN_PARENT_RIGHT] == TRUE); propertyReader.readBoolean(mAlignParentStartId, rules[ALIGN_PARENT_START] == TRUE); propertyReader.readBoolean(mAlignParentTopId, rules[ALIGN_PARENT_TOP] == TRUE); propertyReader.readResourceId(mAlignRightId, rules[ALIGN_RIGHT]); propertyReader.readResourceId(mAlignStartId, rules[ALIGN_START]); propertyReader.readResourceId(mAlignTopId, rules[ALIGN_TOP]); propertyReader.readBoolean(mAlignWithParentIfMissingId, node.alignWithParent); propertyReader.readResourceId(mBelowId, rules[BELOW]); propertyReader.readBoolean(mCenterHorizontalId, rules[CENTER_HORIZONTAL] == TRUE); propertyReader.readBoolean(mCenterInParentId, rules[CENTER_IN_PARENT] == TRUE); propertyReader.readBoolean(mCenterVerticalId, rules[CENTER_VERTICAL] == TRUE); propertyReader.readResourceId(mToEndOfId, rules[END_OF]); propertyReader.readResourceId(mToLeftOfId, rules[LEFT_OF]); propertyReader.readResourceId(mToRightOfId, rules[RIGHT_OF]); propertyReader.readResourceId(mToStartOfId, rules[START_OF]); } } } private static class DependencyGraph { Loading