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);
 | |
|     }
 | |
| }
 |