2025-03-31 16:33:42 +02:00

271 lines
12 KiB
Java

package androidx.constraintlayout.helper.widget;
import android.content.Context;
import android.content.res.TypedArray;
import android.util.AttributeSet;
import android.util.SparseArray;
import android.view.View;
import androidx.constraintlayout.core.widgets.ConstraintWidget;
import androidx.constraintlayout.core.widgets.HelperWidget;
import androidx.constraintlayout.widget.ConstraintLayout;
import androidx.constraintlayout.widget.ConstraintSet;
import androidx.constraintlayout.widget.R;
import androidx.constraintlayout.widget.VirtualLayout;
/* loaded from: classes.dex */
public class Flow extends VirtualLayout {
public static final int CHAIN_PACKED = 2;
public static final int CHAIN_SPREAD = 0;
public static final int CHAIN_SPREAD_INSIDE = 1;
public static final int HORIZONTAL = 0;
public static final int HORIZONTAL_ALIGN_CENTER = 2;
public static final int HORIZONTAL_ALIGN_END = 1;
public static final int HORIZONTAL_ALIGN_START = 0;
private static final String TAG = "Flow";
public static final int VERTICAL = 1;
public static final int VERTICAL_ALIGN_BASELINE = 3;
public static final int VERTICAL_ALIGN_BOTTOM = 1;
public static final int VERTICAL_ALIGN_CENTER = 2;
public static final int VERTICAL_ALIGN_TOP = 0;
public static final int WRAP_ALIGNED = 2;
public static final int WRAP_CHAIN = 1;
public static final int WRAP_NONE = 0;
private androidx.constraintlayout.core.widgets.Flow mFlow;
public Flow(Context context) {
super(context);
}
public Flow(Context context, AttributeSet attrs) {
super(context, attrs);
}
public Flow(Context context, AttributeSet attrs, int defStyleAttr) {
super(context, attrs, defStyleAttr);
}
@Override // androidx.constraintlayout.widget.ConstraintHelper
public void resolveRtl(ConstraintWidget widget, boolean isRtl) {
this.mFlow.applyRtl(isRtl);
}
@Override // androidx.constraintlayout.widget.ConstraintHelper, android.view.View
protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
onMeasure(this.mFlow, widthMeasureSpec, heightMeasureSpec);
}
@Override // androidx.constraintlayout.widget.VirtualLayout
public void onMeasure(androidx.constraintlayout.core.widgets.VirtualLayout layout, int widthMeasureSpec, int heightMeasureSpec) {
int mode = View.MeasureSpec.getMode(widthMeasureSpec);
int size = View.MeasureSpec.getSize(widthMeasureSpec);
int mode2 = View.MeasureSpec.getMode(heightMeasureSpec);
int size2 = View.MeasureSpec.getSize(heightMeasureSpec);
if (layout != null) {
layout.measure(mode, size, mode2, size2);
setMeasuredDimension(layout.getMeasuredWidth(), layout.getMeasuredHeight());
} else {
setMeasuredDimension(0, 0);
}
}
@Override // androidx.constraintlayout.widget.ConstraintHelper
public void loadParameters(ConstraintSet.Constraint constraint, HelperWidget child, ConstraintLayout.LayoutParams layoutParams, SparseArray<ConstraintWidget> mapIdToWidget) {
super.loadParameters(constraint, child, layoutParams, mapIdToWidget);
if (child instanceof androidx.constraintlayout.core.widgets.Flow) {
androidx.constraintlayout.core.widgets.Flow flow = (androidx.constraintlayout.core.widgets.Flow) child;
if (layoutParams.orientation != -1) {
flow.setOrientation(layoutParams.orientation);
}
}
}
@Override // androidx.constraintlayout.widget.VirtualLayout, androidx.constraintlayout.widget.ConstraintHelper
protected void init(AttributeSet attrs) {
super.init(attrs);
this.mFlow = new androidx.constraintlayout.core.widgets.Flow();
if (attrs != null) {
TypedArray obtainStyledAttributes = getContext().obtainStyledAttributes(attrs, R.styleable.ConstraintLayout_Layout);
int indexCount = obtainStyledAttributes.getIndexCount();
for (int i = 0; i < indexCount; i++) {
int index = obtainStyledAttributes.getIndex(i);
if (index == R.styleable.ConstraintLayout_Layout_android_orientation) {
this.mFlow.setOrientation(obtainStyledAttributes.getInt(index, 0));
} else if (index == R.styleable.ConstraintLayout_Layout_android_padding) {
this.mFlow.setPadding(obtainStyledAttributes.getDimensionPixelSize(index, 0));
} else if (index == R.styleable.ConstraintLayout_Layout_android_paddingStart) {
this.mFlow.setPaddingStart(obtainStyledAttributes.getDimensionPixelSize(index, 0));
} else if (index == R.styleable.ConstraintLayout_Layout_android_paddingEnd) {
this.mFlow.setPaddingEnd(obtainStyledAttributes.getDimensionPixelSize(index, 0));
} else if (index == R.styleable.ConstraintLayout_Layout_android_paddingLeft) {
this.mFlow.setPaddingLeft(obtainStyledAttributes.getDimensionPixelSize(index, 0));
} else if (index == R.styleable.ConstraintLayout_Layout_android_paddingTop) {
this.mFlow.setPaddingTop(obtainStyledAttributes.getDimensionPixelSize(index, 0));
} else if (index == R.styleable.ConstraintLayout_Layout_android_paddingRight) {
this.mFlow.setPaddingRight(obtainStyledAttributes.getDimensionPixelSize(index, 0));
} else if (index == R.styleable.ConstraintLayout_Layout_android_paddingBottom) {
this.mFlow.setPaddingBottom(obtainStyledAttributes.getDimensionPixelSize(index, 0));
} else if (index == R.styleable.ConstraintLayout_Layout_flow_wrapMode) {
this.mFlow.setWrapMode(obtainStyledAttributes.getInt(index, 0));
} else if (index == R.styleable.ConstraintLayout_Layout_flow_horizontalStyle) {
this.mFlow.setHorizontalStyle(obtainStyledAttributes.getInt(index, 0));
} else if (index == R.styleable.ConstraintLayout_Layout_flow_verticalStyle) {
this.mFlow.setVerticalStyle(obtainStyledAttributes.getInt(index, 0));
} else if (index == R.styleable.ConstraintLayout_Layout_flow_firstHorizontalStyle) {
this.mFlow.setFirstHorizontalStyle(obtainStyledAttributes.getInt(index, 0));
} else if (index == R.styleable.ConstraintLayout_Layout_flow_lastHorizontalStyle) {
this.mFlow.setLastHorizontalStyle(obtainStyledAttributes.getInt(index, 0));
} else if (index == R.styleable.ConstraintLayout_Layout_flow_firstVerticalStyle) {
this.mFlow.setFirstVerticalStyle(obtainStyledAttributes.getInt(index, 0));
} else if (index == R.styleable.ConstraintLayout_Layout_flow_lastVerticalStyle) {
this.mFlow.setLastVerticalStyle(obtainStyledAttributes.getInt(index, 0));
} else if (index == R.styleable.ConstraintLayout_Layout_flow_horizontalBias) {
this.mFlow.setHorizontalBias(obtainStyledAttributes.getFloat(index, 0.5f));
} else if (index == R.styleable.ConstraintLayout_Layout_flow_firstHorizontalBias) {
this.mFlow.setFirstHorizontalBias(obtainStyledAttributes.getFloat(index, 0.5f));
} else if (index == R.styleable.ConstraintLayout_Layout_flow_lastHorizontalBias) {
this.mFlow.setLastHorizontalBias(obtainStyledAttributes.getFloat(index, 0.5f));
} else if (index == R.styleable.ConstraintLayout_Layout_flow_firstVerticalBias) {
this.mFlow.setFirstVerticalBias(obtainStyledAttributes.getFloat(index, 0.5f));
} else if (index == R.styleable.ConstraintLayout_Layout_flow_lastVerticalBias) {
this.mFlow.setLastVerticalBias(obtainStyledAttributes.getFloat(index, 0.5f));
} else if (index == R.styleable.ConstraintLayout_Layout_flow_verticalBias) {
this.mFlow.setVerticalBias(obtainStyledAttributes.getFloat(index, 0.5f));
} else if (index == R.styleable.ConstraintLayout_Layout_flow_horizontalAlign) {
this.mFlow.setHorizontalAlign(obtainStyledAttributes.getInt(index, 2));
} else if (index == R.styleable.ConstraintLayout_Layout_flow_verticalAlign) {
this.mFlow.setVerticalAlign(obtainStyledAttributes.getInt(index, 2));
} else if (index == R.styleable.ConstraintLayout_Layout_flow_horizontalGap) {
this.mFlow.setHorizontalGap(obtainStyledAttributes.getDimensionPixelSize(index, 0));
} else if (index == R.styleable.ConstraintLayout_Layout_flow_verticalGap) {
this.mFlow.setVerticalGap(obtainStyledAttributes.getDimensionPixelSize(index, 0));
} else if (index == R.styleable.ConstraintLayout_Layout_flow_maxElementsWrap) {
this.mFlow.setMaxElementsWrap(obtainStyledAttributes.getInt(index, -1));
}
}
obtainStyledAttributes.recycle();
}
this.mHelperWidget = this.mFlow;
validateParams();
}
public void setOrientation(int orientation) {
this.mFlow.setOrientation(orientation);
requestLayout();
}
public void setPadding(int padding) {
this.mFlow.setPadding(padding);
requestLayout();
}
public void setPaddingLeft(int paddingLeft) {
this.mFlow.setPaddingLeft(paddingLeft);
requestLayout();
}
public void setPaddingTop(int paddingTop) {
this.mFlow.setPaddingTop(paddingTop);
requestLayout();
}
public void setPaddingRight(int paddingRight) {
this.mFlow.setPaddingRight(paddingRight);
requestLayout();
}
public void setPaddingBottom(int paddingBottom) {
this.mFlow.setPaddingBottom(paddingBottom);
requestLayout();
}
public void setLastHorizontalStyle(int style) {
this.mFlow.setLastHorizontalStyle(style);
requestLayout();
}
public void setLastVerticalStyle(int style) {
this.mFlow.setLastVerticalStyle(style);
requestLayout();
}
public void setLastHorizontalBias(float bias) {
this.mFlow.setLastHorizontalBias(bias);
requestLayout();
}
public void setLastVerticalBias(float bias) {
this.mFlow.setLastVerticalBias(bias);
requestLayout();
}
public void setWrapMode(int mode) {
this.mFlow.setWrapMode(mode);
requestLayout();
}
public void setHorizontalStyle(int style) {
this.mFlow.setHorizontalStyle(style);
requestLayout();
}
public void setVerticalStyle(int style) {
this.mFlow.setVerticalStyle(style);
requestLayout();
}
public void setHorizontalBias(float bias) {
this.mFlow.setHorizontalBias(bias);
requestLayout();
}
public void setVerticalBias(float bias) {
this.mFlow.setVerticalBias(bias);
requestLayout();
}
public void setFirstHorizontalStyle(int style) {
this.mFlow.setFirstHorizontalStyle(style);
requestLayout();
}
public void setFirstVerticalStyle(int style) {
this.mFlow.setFirstVerticalStyle(style);
requestLayout();
}
public void setFirstHorizontalBias(float bias) {
this.mFlow.setFirstHorizontalBias(bias);
requestLayout();
}
public void setFirstVerticalBias(float bias) {
this.mFlow.setFirstVerticalBias(bias);
requestLayout();
}
public void setHorizontalAlign(int align) {
this.mFlow.setHorizontalAlign(align);
requestLayout();
}
public void setVerticalAlign(int align) {
this.mFlow.setVerticalAlign(align);
requestLayout();
}
public void setHorizontalGap(int gap) {
this.mFlow.setHorizontalGap(gap);
requestLayout();
}
public void setVerticalGap(int gap) {
this.mFlow.setVerticalGap(gap);
requestLayout();
}
public void setMaxElementsWrap(int max) {
this.mFlow.setMaxElementsWrap(max);
requestLayout();
}
}