88 lines
3.3 KiB
Java
88 lines
3.3 KiB
Java
package androidx.constraintlayout.widget;
|
|
|
|
import android.content.Context;
|
|
import android.content.res.TypedArray;
|
|
import android.util.AttributeSet;
|
|
import android.view.View;
|
|
import android.view.ViewParent;
|
|
|
|
/* loaded from: classes.dex */
|
|
public abstract class VirtualLayout extends ConstraintHelper {
|
|
private boolean mApplyElevationOnAttach;
|
|
private boolean mApplyVisibilityOnAttach;
|
|
|
|
public void onMeasure(androidx.constraintlayout.core.widgets.VirtualLayout layout, int widthMeasureSpec, int heightMeasureSpec) {
|
|
}
|
|
|
|
public VirtualLayout(Context context) {
|
|
super(context);
|
|
}
|
|
|
|
public VirtualLayout(Context context, AttributeSet attrs) {
|
|
super(context, attrs);
|
|
}
|
|
|
|
public VirtualLayout(Context context, AttributeSet attrs, int defStyleAttr) {
|
|
super(context, attrs, defStyleAttr);
|
|
}
|
|
|
|
@Override // androidx.constraintlayout.widget.ConstraintHelper
|
|
protected void init(AttributeSet attrs) {
|
|
super.init(attrs);
|
|
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_visibility) {
|
|
this.mApplyVisibilityOnAttach = true;
|
|
} else if (index == R.styleable.ConstraintLayout_Layout_android_elevation) {
|
|
this.mApplyElevationOnAttach = true;
|
|
}
|
|
}
|
|
obtainStyledAttributes.recycle();
|
|
}
|
|
}
|
|
|
|
@Override // androidx.constraintlayout.widget.ConstraintHelper, android.view.View
|
|
public void onAttachedToWindow() {
|
|
super.onAttachedToWindow();
|
|
if (this.mApplyVisibilityOnAttach || this.mApplyElevationOnAttach) {
|
|
ViewParent parent = getParent();
|
|
if (parent instanceof ConstraintLayout) {
|
|
ConstraintLayout constraintLayout = (ConstraintLayout) parent;
|
|
int visibility = getVisibility();
|
|
float elevation = getElevation();
|
|
for (int i = 0; i < this.mCount; i++) {
|
|
View viewById = constraintLayout.getViewById(this.mIds[i]);
|
|
if (viewById != null) {
|
|
if (this.mApplyVisibilityOnAttach) {
|
|
viewById.setVisibility(visibility);
|
|
}
|
|
if (this.mApplyElevationOnAttach && elevation > 0.0f) {
|
|
viewById.setTranslationZ(viewById.getTranslationZ() + elevation);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
@Override // android.view.View
|
|
public void setVisibility(int visibility) {
|
|
super.setVisibility(visibility);
|
|
applyLayoutFeatures();
|
|
}
|
|
|
|
@Override // android.view.View
|
|
public void setElevation(float elevation) {
|
|
super.setElevation(elevation);
|
|
applyLayoutFeatures();
|
|
}
|
|
|
|
@Override // androidx.constraintlayout.widget.ConstraintHelper
|
|
protected void applyLayoutFeaturesInConstraintSet(ConstraintLayout container) {
|
|
applyLayoutFeatures(container);
|
|
}
|
|
}
|