2021-07-24 02:37:17 +00:00
package androidx.constraintlayout.widget ;
import android.annotation.SuppressLint ;
import android.annotation.TargetApi ;
import android.content.Context ;
import android.content.res.Resources ;
import android.content.res.TypedArray ;
import android.graphics.Canvas ;
import android.graphics.Paint ;
import android.util.AttributeSet ;
import android.util.Log ;
import android.util.SparseArray ;
import android.util.SparseIntArray ;
import android.view.View ;
import android.view.ViewGroup ;
import androidx.annotation.NonNull ;
import androidx.annotation.Nullable ;
import androidx.constraintlayout.solver.Metrics ;
import androidx.constraintlayout.solver.widgets.ConstraintAnchor ;
import androidx.constraintlayout.solver.widgets.ConstraintWidget ;
import androidx.constraintlayout.solver.widgets.ConstraintWidgetContainer ;
import androidx.constraintlayout.solver.widgets.Guideline ;
import androidx.constraintlayout.solver.widgets.Optimizer ;
import androidx.constraintlayout.solver.widgets.VirtualLayout ;
import androidx.constraintlayout.solver.widgets.analyzer.BasicMeasure ;
2021-08-09 22:50:52 +00:00
import androidx.core.internal.view.SupportMenu ;
import androidx.core.view.ViewCompat ;
import androidx.exifinterface.media.ExifInterface ;
2021-08-10 10:47:20 +00:00
import com.discord.widgets.chat.input.autocomplete.AutocompleteViewModel ;
2021-07-24 02:37:17 +00:00
import java.util.ArrayList ;
import java.util.HashMap ;
public class ConstraintLayout extends ViewGroup {
private static final boolean DEBUG = false ;
private static final boolean DEBUG_DRAW_CONSTRAINTS = false ;
public static final int DESIGN_INFO_ID = 0 ;
private static final boolean MEASURE = false ;
private static final String TAG = " ConstraintLayout " ;
private static final boolean USE_CONSTRAINTS_HELPER = true ;
public static final String VERSION = " ConstraintLayout-2.0.4 " ;
public SparseArray < View > mChildrenByIds = new SparseArray < > ( ) ;
private ArrayList < ConstraintHelper > mConstraintHelpers = new ArrayList < > ( 4 ) ;
public ConstraintLayoutStates mConstraintLayoutSpec = null ;
private ConstraintSet mConstraintSet = null ;
private int mConstraintSetId = - 1 ;
private ConstraintsChangedListener mConstraintsChangedListener ;
private HashMap < String , Integer > mDesignIds = new HashMap < > ( ) ;
public boolean mDirtyHierarchy = true ;
private int mLastMeasureHeight = - 1 ;
public int mLastMeasureHeightMode = 0 ;
public int mLastMeasureHeightSize = - 1 ;
private int mLastMeasureWidth = - 1 ;
public int mLastMeasureWidthMode = 0 ;
public int mLastMeasureWidthSize = - 1 ;
public ConstraintWidgetContainer mLayoutWidget = new ConstraintWidgetContainer ( ) ;
private int mMaxHeight = Integer . MAX_VALUE ;
private int mMaxWidth = Integer . MAX_VALUE ;
public Measurer mMeasurer = new Measurer ( this ) ;
private Metrics mMetrics ;
private int mMinHeight = 0 ;
private int mMinWidth = 0 ;
private int mOnMeasureHeightMeasureSpec = 0 ;
private int mOnMeasureWidthMeasureSpec = 0 ;
private int mOptimizationLevel = 257 ;
private SparseArray < ConstraintWidget > mTempMapIdToWidget = new SparseArray < > ( ) ;
/* renamed from: androidx.constraintlayout.widget.ConstraintLayout$1 reason: invalid class name */
public static /* synthetic */ class AnonymousClass1 {
public static final /* synthetic */ int [ ] $SwitchMap$androidx$constraintlayout$solver$widgets$ConstraintWidget$DimensionBehaviour ;
static {
ConstraintWidget . DimensionBehaviour . values ( ) ;
int [ ] iArr = new int [ 4 ] ;
$SwitchMap$androidx$constraintlayout$solver$widgets$ConstraintWidget$DimensionBehaviour = iArr ;
try {
iArr [ ConstraintWidget . DimensionBehaviour . FIXED . ordinal ( ) ] = 1 ;
} catch ( NoSuchFieldError unused ) {
}
try {
$SwitchMap$androidx$constraintlayout$solver$widgets$ConstraintWidget$DimensionBehaviour [ ConstraintWidget . DimensionBehaviour . WRAP_CONTENT . ordinal ( ) ] = 2 ;
} catch ( NoSuchFieldError unused2 ) {
}
try {
$SwitchMap$androidx$constraintlayout$solver$widgets$ConstraintWidget$DimensionBehaviour [ ConstraintWidget . DimensionBehaviour . MATCH_PARENT . ordinal ( ) ] = 3 ;
} catch ( NoSuchFieldError unused3 ) {
}
try {
$SwitchMap$androidx$constraintlayout$solver$widgets$ConstraintWidget$DimensionBehaviour [ ConstraintWidget . DimensionBehaviour . MATCH_CONSTRAINT . ordinal ( ) ] = 4 ;
} catch ( NoSuchFieldError unused4 ) {
}
}
}
public static class LayoutParams extends ViewGroup . MarginLayoutParams {
public static final int BASELINE = 5 ;
public static final int BOTTOM = 4 ;
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 END = 7 ;
public static final int HORIZONTAL = 0 ;
public static final int LEFT = 1 ;
public static final int MATCH_CONSTRAINT = 0 ;
public static final int MATCH_CONSTRAINT_PERCENT = 2 ;
public static final int MATCH_CONSTRAINT_SPREAD = 0 ;
public static final int MATCH_CONSTRAINT_WRAP = 1 ;
public static final int PARENT_ID = 0 ;
public static final int RIGHT = 2 ;
public static final int START = 6 ;
public static final int TOP = 3 ;
public static final int UNSET = - 1 ;
public static final int VERTICAL = 1 ;
public int baselineToBaseline = - 1 ;
public int bottomToBottom = - 1 ;
public int bottomToTop = - 1 ;
public float circleAngle = 0 . 0f ;
public int circleConstraint = - 1 ;
public int circleRadius = 0 ;
public boolean constrainedHeight = false ;
public boolean constrainedWidth = false ;
public String constraintTag = null ;
public String dimensionRatio = null ;
public int dimensionRatioSide = 1 ;
public float dimensionRatioValue = 0 . 0f ;
public int editorAbsoluteX = - 1 ;
public int editorAbsoluteY = - 1 ;
public int endToEnd = - 1 ;
public int endToStart = - 1 ;
public int goneBottomMargin = - 1 ;
public int goneEndMargin = - 1 ;
public int goneLeftMargin = - 1 ;
public int goneRightMargin = - 1 ;
public int goneStartMargin = - 1 ;
public int goneTopMargin = - 1 ;
public int guideBegin = - 1 ;
public int guideEnd = - 1 ;
public float guidePercent = - 1 . 0f ;
public boolean helped = false ;
public float horizontalBias = 0 . 5f ;
public int horizontalChainStyle = 0 ;
public boolean horizontalDimensionFixed = true ;
public float horizontalWeight = - 1 . 0f ;
public boolean isGuideline = false ;
public boolean isHelper = false ;
public boolean isInPlaceholder = false ;
public boolean isVirtualGroup = false ;
public int leftToLeft = - 1 ;
public int leftToRight = - 1 ;
public int matchConstraintDefaultHeight = 0 ;
public int matchConstraintDefaultWidth = 0 ;
public int matchConstraintMaxHeight = 0 ;
public int matchConstraintMaxWidth = 0 ;
public int matchConstraintMinHeight = 0 ;
public int matchConstraintMinWidth = 0 ;
public float matchConstraintPercentHeight = 1 . 0f ;
public float matchConstraintPercentWidth = 1 . 0f ;
public boolean needsBaseline = false ;
public int orientation = - 1 ;
public int resolveGoneLeftMargin = - 1 ;
public int resolveGoneRightMargin = - 1 ;
public int resolvedGuideBegin ;
public int resolvedGuideEnd ;
public float resolvedGuidePercent ;
public float resolvedHorizontalBias = 0 . 5f ;
public int resolvedLeftToLeft = - 1 ;
public int resolvedLeftToRight = - 1 ;
public int resolvedRightToLeft = - 1 ;
public int resolvedRightToRight = - 1 ;
public int rightToLeft = - 1 ;
public int rightToRight = - 1 ;
public int startToEnd = - 1 ;
public int startToStart = - 1 ;
public int topToBottom = - 1 ;
public int topToTop = - 1 ;
public float verticalBias = 0 . 5f ;
public int verticalChainStyle = 0 ;
public boolean verticalDimensionFixed = true ;
public float verticalWeight = - 1 . 0f ;
public ConstraintWidget widget = new ConstraintWidget ( ) ;
public static class Table {
public static final int ANDROID_ORIENTATION = 1 ;
public static final int LAYOUT_CONSTRAINED_HEIGHT = 28 ;
public static final int LAYOUT_CONSTRAINED_WIDTH = 27 ;
public static final int LAYOUT_CONSTRAINT_BASELINE_CREATOR = 43 ;
public static final int LAYOUT_CONSTRAINT_BASELINE_TO_BASELINE_OF = 16 ;
public static final int LAYOUT_CONSTRAINT_BOTTOM_CREATOR = 42 ;
public static final int LAYOUT_CONSTRAINT_BOTTOM_TO_BOTTOM_OF = 15 ;
public static final int LAYOUT_CONSTRAINT_BOTTOM_TO_TOP_OF = 14 ;
public static final int LAYOUT_CONSTRAINT_CIRCLE = 2 ;
public static final int LAYOUT_CONSTRAINT_CIRCLE_ANGLE = 4 ;
public static final int LAYOUT_CONSTRAINT_CIRCLE_RADIUS = 3 ;
public static final int LAYOUT_CONSTRAINT_DIMENSION_RATIO = 44 ;
public static final int LAYOUT_CONSTRAINT_END_TO_END_OF = 20 ;
public static final int LAYOUT_CONSTRAINT_END_TO_START_OF = 19 ;
public static final int LAYOUT_CONSTRAINT_GUIDE_BEGIN = 5 ;
public static final int LAYOUT_CONSTRAINT_GUIDE_END = 6 ;
public static final int LAYOUT_CONSTRAINT_GUIDE_PERCENT = 7 ;
public static final int LAYOUT_CONSTRAINT_HEIGHT_DEFAULT = 32 ;
public static final int LAYOUT_CONSTRAINT_HEIGHT_MAX = 37 ;
public static final int LAYOUT_CONSTRAINT_HEIGHT_MIN = 36 ;
public static final int LAYOUT_CONSTRAINT_HEIGHT_PERCENT = 38 ;
public static final int LAYOUT_CONSTRAINT_HORIZONTAL_BIAS = 29 ;
public static final int LAYOUT_CONSTRAINT_HORIZONTAL_CHAINSTYLE = 47 ;
public static final int LAYOUT_CONSTRAINT_HORIZONTAL_WEIGHT = 45 ;
public static final int LAYOUT_CONSTRAINT_LEFT_CREATOR = 39 ;
public static final int LAYOUT_CONSTRAINT_LEFT_TO_LEFT_OF = 8 ;
public static final int LAYOUT_CONSTRAINT_LEFT_TO_RIGHT_OF = 9 ;
public static final int LAYOUT_CONSTRAINT_RIGHT_CREATOR = 41 ;
public static final int LAYOUT_CONSTRAINT_RIGHT_TO_LEFT_OF = 10 ;
public static final int LAYOUT_CONSTRAINT_RIGHT_TO_RIGHT_OF = 11 ;
public static final int LAYOUT_CONSTRAINT_START_TO_END_OF = 17 ;
public static final int LAYOUT_CONSTRAINT_START_TO_START_OF = 18 ;
public static final int LAYOUT_CONSTRAINT_TAG = 51 ;
public static final int LAYOUT_CONSTRAINT_TOP_CREATOR = 40 ;
public static final int LAYOUT_CONSTRAINT_TOP_TO_BOTTOM_OF = 13 ;
public static final int LAYOUT_CONSTRAINT_TOP_TO_TOP_OF = 12 ;
public static final int LAYOUT_CONSTRAINT_VERTICAL_BIAS = 30 ;
public static final int LAYOUT_CONSTRAINT_VERTICAL_CHAINSTYLE = 48 ;
public static final int LAYOUT_CONSTRAINT_VERTICAL_WEIGHT = 46 ;
public static final int LAYOUT_CONSTRAINT_WIDTH_DEFAULT = 31 ;
public static final int LAYOUT_CONSTRAINT_WIDTH_MAX = 34 ;
public static final int LAYOUT_CONSTRAINT_WIDTH_MIN = 33 ;
public static final int LAYOUT_CONSTRAINT_WIDTH_PERCENT = 35 ;
public static final int LAYOUT_EDITOR_ABSOLUTEX = 49 ;
public static final int LAYOUT_EDITOR_ABSOLUTEY = 50 ;
public static final int LAYOUT_GONE_MARGIN_BOTTOM = 24 ;
public static final int LAYOUT_GONE_MARGIN_END = 26 ;
public static final int LAYOUT_GONE_MARGIN_LEFT = 21 ;
public static final int LAYOUT_GONE_MARGIN_RIGHT = 23 ;
public static final int LAYOUT_GONE_MARGIN_START = 25 ;
public static final int LAYOUT_GONE_MARGIN_TOP = 22 ;
public static final int UNUSED = 0 ;
public static final SparseIntArray map ;
static {
SparseIntArray sparseIntArray = new SparseIntArray ( ) ;
map = sparseIntArray ;
sparseIntArray . append ( R . styleable . ConstraintLayout_Layout_layout_constraintLeft_toLeftOf , 8 ) ;
sparseIntArray . append ( R . styleable . ConstraintLayout_Layout_layout_constraintLeft_toRightOf , 9 ) ;
sparseIntArray . append ( R . styleable . ConstraintLayout_Layout_layout_constraintRight_toLeftOf , 10 ) ;
sparseIntArray . append ( R . styleable . ConstraintLayout_Layout_layout_constraintRight_toRightOf , 11 ) ;
sparseIntArray . append ( R . styleable . ConstraintLayout_Layout_layout_constraintTop_toTopOf , 12 ) ;
sparseIntArray . append ( R . styleable . ConstraintLayout_Layout_layout_constraintTop_toBottomOf , 13 ) ;
sparseIntArray . append ( R . styleable . ConstraintLayout_Layout_layout_constraintBottom_toTopOf , 14 ) ;
sparseIntArray . append ( R . styleable . ConstraintLayout_Layout_layout_constraintBottom_toBottomOf , 15 ) ;
sparseIntArray . append ( R . styleable . ConstraintLayout_Layout_layout_constraintBaseline_toBaselineOf , 16 ) ;
sparseIntArray . append ( R . styleable . ConstraintLayout_Layout_layout_constraintCircle , 2 ) ;
sparseIntArray . append ( R . styleable . ConstraintLayout_Layout_layout_constraintCircleRadius , 3 ) ;
sparseIntArray . append ( R . styleable . ConstraintLayout_Layout_layout_constraintCircleAngle , 4 ) ;
sparseIntArray . append ( R . styleable . ConstraintLayout_Layout_layout_editor_absoluteX , 49 ) ;
sparseIntArray . append ( R . styleable . ConstraintLayout_Layout_layout_editor_absoluteY , 50 ) ;
sparseIntArray . append ( R . styleable . ConstraintLayout_Layout_layout_constraintGuide_begin , 5 ) ;
sparseIntArray . append ( R . styleable . ConstraintLayout_Layout_layout_constraintGuide_end , 6 ) ;
sparseIntArray . append ( R . styleable . ConstraintLayout_Layout_layout_constraintGuide_percent , 7 ) ;
sparseIntArray . append ( R . styleable . ConstraintLayout_Layout_android_orientation , 1 ) ;
sparseIntArray . append ( R . styleable . ConstraintLayout_Layout_layout_constraintStart_toEndOf , 17 ) ;
sparseIntArray . append ( R . styleable . ConstraintLayout_Layout_layout_constraintStart_toStartOf , 18 ) ;
sparseIntArray . append ( R . styleable . ConstraintLayout_Layout_layout_constraintEnd_toStartOf , 19 ) ;
sparseIntArray . append ( R . styleable . ConstraintLayout_Layout_layout_constraintEnd_toEndOf , 20 ) ;
sparseIntArray . append ( R . styleable . ConstraintLayout_Layout_layout_goneMarginLeft , 21 ) ;
sparseIntArray . append ( R . styleable . ConstraintLayout_Layout_layout_goneMarginTop , 22 ) ;
sparseIntArray . append ( R . styleable . ConstraintLayout_Layout_layout_goneMarginRight , 23 ) ;
sparseIntArray . append ( R . styleable . ConstraintLayout_Layout_layout_goneMarginBottom , 24 ) ;
sparseIntArray . append ( R . styleable . ConstraintLayout_Layout_layout_goneMarginStart , 25 ) ;
sparseIntArray . append ( R . styleable . ConstraintLayout_Layout_layout_goneMarginEnd , 26 ) ;
sparseIntArray . append ( R . styleable . ConstraintLayout_Layout_layout_constraintHorizontal_bias , 29 ) ;
sparseIntArray . append ( R . styleable . ConstraintLayout_Layout_layout_constraintVertical_bias , 30 ) ;
sparseIntArray . append ( R . styleable . ConstraintLayout_Layout_layout_constraintDimensionRatio , 44 ) ;
sparseIntArray . append ( R . styleable . ConstraintLayout_Layout_layout_constraintHorizontal_weight , 45 ) ;
sparseIntArray . append ( R . styleable . ConstraintLayout_Layout_layout_constraintVertical_weight , 46 ) ;
sparseIntArray . append ( R . styleable . ConstraintLayout_Layout_layout_constraintHorizontal_chainStyle , 47 ) ;
sparseIntArray . append ( R . styleable . ConstraintLayout_Layout_layout_constraintVertical_chainStyle , 48 ) ;
sparseIntArray . append ( R . styleable . ConstraintLayout_Layout_layout_constrainedWidth , 27 ) ;
sparseIntArray . append ( R . styleable . ConstraintLayout_Layout_layout_constrainedHeight , 28 ) ;
sparseIntArray . append ( R . styleable . ConstraintLayout_Layout_layout_constraintWidth_default , 31 ) ;
sparseIntArray . append ( R . styleable . ConstraintLayout_Layout_layout_constraintHeight_default , 32 ) ;
sparseIntArray . append ( R . styleable . ConstraintLayout_Layout_layout_constraintWidth_min , 33 ) ;
sparseIntArray . append ( R . styleable . ConstraintLayout_Layout_layout_constraintWidth_max , 34 ) ;
sparseIntArray . append ( R . styleable . ConstraintLayout_Layout_layout_constraintWidth_percent , 35 ) ;
sparseIntArray . append ( R . styleable . ConstraintLayout_Layout_layout_constraintHeight_min , 36 ) ;
sparseIntArray . append ( R . styleable . ConstraintLayout_Layout_layout_constraintHeight_max , 37 ) ;
sparseIntArray . append ( R . styleable . ConstraintLayout_Layout_layout_constraintHeight_percent , 38 ) ;
sparseIntArray . append ( R . styleable . ConstraintLayout_Layout_layout_constraintLeft_creator , 39 ) ;
sparseIntArray . append ( R . styleable . ConstraintLayout_Layout_layout_constraintTop_creator , 40 ) ;
sparseIntArray . append ( R . styleable . ConstraintLayout_Layout_layout_constraintRight_creator , 41 ) ;
sparseIntArray . append ( R . styleable . ConstraintLayout_Layout_layout_constraintBottom_creator , 42 ) ;
sparseIntArray . append ( R . styleable . ConstraintLayout_Layout_layout_constraintBaseline_creator , 43 ) ;
map . append ( R . styleable . ConstraintLayout_Layout_layout_constraintTag , 51 ) ;
}
private Table ( ) {
}
}
public LayoutParams ( int i , int i2 ) {
super ( i , i2 ) ;
}
public LayoutParams ( Context context , AttributeSet attributeSet ) {
super ( context , attributeSet ) ;
int i ;
TypedArray obtainStyledAttributes = context . obtainStyledAttributes ( attributeSet , R . styleable . ConstraintLayout_Layout ) ;
int indexCount = obtainStyledAttributes . getIndexCount ( ) ;
for ( int i2 = 0 ; i2 < indexCount ; i2 + + ) {
int index = obtainStyledAttributes . getIndex ( i2 ) ;
int i3 = Table . map . get ( index ) ;
switch ( i3 ) {
case 1 :
this . orientation = obtainStyledAttributes . getInt ( index , this . orientation ) ;
break ;
case 2 :
int resourceId = obtainStyledAttributes . getResourceId ( index , this . circleConstraint ) ;
this . circleConstraint = resourceId ;
if ( resourceId = = - 1 ) {
this . circleConstraint = obtainStyledAttributes . getInt ( index , - 1 ) ;
break ;
} else {
break ;
}
case 3 :
this . circleRadius = obtainStyledAttributes . getDimensionPixelSize ( index , this . circleRadius ) ;
break ;
case 4 :
float f = obtainStyledAttributes . getFloat ( index , this . circleAngle ) % 360 . 0f ;
this . circleAngle = f ;
if ( f < 0 . 0f ) {
this . circleAngle = ( 360 . 0f - f ) % 360 . 0f ;
break ;
} else {
break ;
}
case 5 :
this . guideBegin = obtainStyledAttributes . getDimensionPixelOffset ( index , this . guideBegin ) ;
break ;
case 6 :
this . guideEnd = obtainStyledAttributes . getDimensionPixelOffset ( index , this . guideEnd ) ;
break ;
case 7 :
this . guidePercent = obtainStyledAttributes . getFloat ( index , this . guidePercent ) ;
break ;
case 8 :
int resourceId2 = obtainStyledAttributes . getResourceId ( index , this . leftToLeft ) ;
this . leftToLeft = resourceId2 ;
if ( resourceId2 = = - 1 ) {
this . leftToLeft = obtainStyledAttributes . getInt ( index , - 1 ) ;
break ;
} else {
break ;
}
case 9 :
int resourceId3 = obtainStyledAttributes . getResourceId ( index , this . leftToRight ) ;
this . leftToRight = resourceId3 ;
if ( resourceId3 = = - 1 ) {
this . leftToRight = obtainStyledAttributes . getInt ( index , - 1 ) ;
break ;
} else {
break ;
}
case 10 :
int resourceId4 = obtainStyledAttributes . getResourceId ( index , this . rightToLeft ) ;
this . rightToLeft = resourceId4 ;
if ( resourceId4 = = - 1 ) {
this . rightToLeft = obtainStyledAttributes . getInt ( index , - 1 ) ;
break ;
} else {
break ;
}
case 11 :
int resourceId5 = obtainStyledAttributes . getResourceId ( index , this . rightToRight ) ;
this . rightToRight = resourceId5 ;
if ( resourceId5 = = - 1 ) {
this . rightToRight = obtainStyledAttributes . getInt ( index , - 1 ) ;
break ;
} else {
break ;
}
case 12 :
int resourceId6 = obtainStyledAttributes . getResourceId ( index , this . topToTop ) ;
this . topToTop = resourceId6 ;
if ( resourceId6 = = - 1 ) {
this . topToTop = obtainStyledAttributes . getInt ( index , - 1 ) ;
break ;
} else {
break ;
}
case 13 :
int resourceId7 = obtainStyledAttributes . getResourceId ( index , this . topToBottom ) ;
this . topToBottom = resourceId7 ;
if ( resourceId7 = = - 1 ) {
this . topToBottom = obtainStyledAttributes . getInt ( index , - 1 ) ;
break ;
} else {
break ;
}
case 14 :
int resourceId8 = obtainStyledAttributes . getResourceId ( index , this . bottomToTop ) ;
this . bottomToTop = resourceId8 ;
if ( resourceId8 = = - 1 ) {
this . bottomToTop = obtainStyledAttributes . getInt ( index , - 1 ) ;
break ;
} else {
break ;
}
case 15 :
int resourceId9 = obtainStyledAttributes . getResourceId ( index , this . bottomToBottom ) ;
this . bottomToBottom = resourceId9 ;
if ( resourceId9 = = - 1 ) {
this . bottomToBottom = obtainStyledAttributes . getInt ( index , - 1 ) ;
break ;
} else {
break ;
}
case 16 :
int resourceId10 = obtainStyledAttributes . getResourceId ( index , this . baselineToBaseline ) ;
this . baselineToBaseline = resourceId10 ;
if ( resourceId10 = = - 1 ) {
this . baselineToBaseline = obtainStyledAttributes . getInt ( index , - 1 ) ;
break ;
} else {
break ;
}
case 17 :
int resourceId11 = obtainStyledAttributes . getResourceId ( index , this . startToEnd ) ;
this . startToEnd = resourceId11 ;
if ( resourceId11 = = - 1 ) {
this . startToEnd = obtainStyledAttributes . getInt ( index , - 1 ) ;
break ;
} else {
break ;
}
case 18 :
int resourceId12 = obtainStyledAttributes . getResourceId ( index , this . startToStart ) ;
this . startToStart = resourceId12 ;
if ( resourceId12 = = - 1 ) {
this . startToStart = obtainStyledAttributes . getInt ( index , - 1 ) ;
break ;
} else {
break ;
}
case 19 :
int resourceId13 = obtainStyledAttributes . getResourceId ( index , this . endToStart ) ;
this . endToStart = resourceId13 ;
if ( resourceId13 = = - 1 ) {
this . endToStart = obtainStyledAttributes . getInt ( index , - 1 ) ;
break ;
} else {
break ;
}
case 20 :
int resourceId14 = obtainStyledAttributes . getResourceId ( index , this . endToEnd ) ;
this . endToEnd = resourceId14 ;
if ( resourceId14 = = - 1 ) {
this . endToEnd = obtainStyledAttributes . getInt ( index , - 1 ) ;
break ;
} else {
break ;
}
case 21 :
this . goneLeftMargin = obtainStyledAttributes . getDimensionPixelSize ( index , this . goneLeftMargin ) ;
break ;
case 22 :
this . goneTopMargin = obtainStyledAttributes . getDimensionPixelSize ( index , this . goneTopMargin ) ;
break ;
case 23 :
this . goneRightMargin = obtainStyledAttributes . getDimensionPixelSize ( index , this . goneRightMargin ) ;
break ;
case 24 :
this . goneBottomMargin = obtainStyledAttributes . getDimensionPixelSize ( index , this . goneBottomMargin ) ;
break ;
case 25 :
this . goneStartMargin = obtainStyledAttributes . getDimensionPixelSize ( index , this . goneStartMargin ) ;
break ;
case 26 :
this . goneEndMargin = obtainStyledAttributes . getDimensionPixelSize ( index , this . goneEndMargin ) ;
break ;
case 27 :
this . constrainedWidth = obtainStyledAttributes . getBoolean ( index , this . constrainedWidth ) ;
break ;
case 28 :
this . constrainedHeight = obtainStyledAttributes . getBoolean ( index , this . constrainedHeight ) ;
break ;
case 29 :
this . horizontalBias = obtainStyledAttributes . getFloat ( index , this . horizontalBias ) ;
break ;
case 30 :
this . verticalBias = obtainStyledAttributes . getFloat ( index , this . verticalBias ) ;
break ;
case 31 :
int i4 = obtainStyledAttributes . getInt ( index , 0 ) ;
this . matchConstraintDefaultWidth = i4 ;
if ( i4 = = 1 ) {
2021-08-09 22:50:52 +00:00
Log . e ( ConstraintLayout . TAG , " layout_constraintWidth_default= \" wrap \" is deprecated. \ nUse layout_width= \" WRAP_CONTENT \" and layout_constrainedWidth= \" true \" instead. " ) ;
2021-07-24 02:37:17 +00:00
break ;
} else {
break ;
}
case 32 :
int i5 = obtainStyledAttributes . getInt ( index , 0 ) ;
this . matchConstraintDefaultHeight = i5 ;
if ( i5 = = 1 ) {
2021-08-09 22:50:52 +00:00
Log . e ( ConstraintLayout . TAG , " layout_constraintHeight_default= \" wrap \" is deprecated. \ nUse layout_height= \" WRAP_CONTENT \" and layout_constrainedHeight= \" true \" instead. " ) ;
2021-07-24 02:37:17 +00:00
break ;
} else {
break ;
}
case 33 :
try {
this . matchConstraintMinWidth = obtainStyledAttributes . getDimensionPixelSize ( index , this . matchConstraintMinWidth ) ;
break ;
} catch ( Exception unused ) {
if ( obtainStyledAttributes . getInt ( index , this . matchConstraintMinWidth ) = = - 2 ) {
this . matchConstraintMinWidth = - 2 ;
break ;
} else {
break ;
}
}
case 34 :
try {
this . matchConstraintMaxWidth = obtainStyledAttributes . getDimensionPixelSize ( index , this . matchConstraintMaxWidth ) ;
break ;
} catch ( Exception unused2 ) {
if ( obtainStyledAttributes . getInt ( index , this . matchConstraintMaxWidth ) = = - 2 ) {
this . matchConstraintMaxWidth = - 2 ;
break ;
} else {
break ;
}
}
case 35 :
this . matchConstraintPercentWidth = Math . max ( 0 . 0f , obtainStyledAttributes . getFloat ( index , this . matchConstraintPercentWidth ) ) ;
this . matchConstraintDefaultWidth = 2 ;
break ;
case 36 :
try {
this . matchConstraintMinHeight = obtainStyledAttributes . getDimensionPixelSize ( index , this . matchConstraintMinHeight ) ;
break ;
} catch ( Exception unused3 ) {
if ( obtainStyledAttributes . getInt ( index , this . matchConstraintMinHeight ) = = - 2 ) {
this . matchConstraintMinHeight = - 2 ;
break ;
} else {
break ;
}
}
case 37 :
try {
this . matchConstraintMaxHeight = obtainStyledAttributes . getDimensionPixelSize ( index , this . matchConstraintMaxHeight ) ;
break ;
} catch ( Exception unused4 ) {
if ( obtainStyledAttributes . getInt ( index , this . matchConstraintMaxHeight ) = = - 2 ) {
this . matchConstraintMaxHeight = - 2 ;
break ;
} else {
break ;
}
}
case 38 :
this . matchConstraintPercentHeight = Math . max ( 0 . 0f , obtainStyledAttributes . getFloat ( index , this . matchConstraintPercentHeight ) ) ;
this . matchConstraintDefaultHeight = 2 ;
break ;
default :
switch ( i3 ) {
case 44 :
String string = obtainStyledAttributes . getString ( index ) ;
this . dimensionRatio = string ;
this . dimensionRatioValue = Float . NaN ;
this . dimensionRatioSide = - 1 ;
if ( string ! = null ) {
int length = string . length ( ) ;
int indexOf = this . dimensionRatio . indexOf ( 44 ) ;
if ( indexOf < = 0 | | indexOf > = length - 1 ) {
i = 0 ;
} else {
String substring = this . dimensionRatio . substring ( 0 , indexOf ) ;
2021-08-09 22:50:52 +00:00
if ( substring . equalsIgnoreCase ( ExifInterface . LONGITUDE_WEST ) ) {
2021-07-24 02:37:17 +00:00
this . dimensionRatioSide = 0 ;
} else if ( substring . equalsIgnoreCase ( " H " ) ) {
this . dimensionRatioSide = 1 ;
}
i = indexOf + 1 ;
}
int indexOf2 = this . dimensionRatio . indexOf ( 58 ) ;
if ( indexOf2 < 0 | | indexOf2 > = length - 1 ) {
String substring2 = this . dimensionRatio . substring ( i ) ;
if ( substring2 . length ( ) > 0 ) {
this . dimensionRatioValue = Float . parseFloat ( substring2 ) ;
break ;
} else {
break ;
}
} else {
String substring3 = this . dimensionRatio . substring ( i , indexOf2 ) ;
String substring4 = this . dimensionRatio . substring ( indexOf2 + 1 ) ;
if ( substring3 . length ( ) > 0 & & substring4 . length ( ) > 0 ) {
try {
float parseFloat = Float . parseFloat ( substring3 ) ;
float parseFloat2 = Float . parseFloat ( substring4 ) ;
if ( parseFloat > 0 . 0f & & parseFloat2 > 0 . 0f ) {
if ( this . dimensionRatioSide = = 1 ) {
this . dimensionRatioValue = Math . abs ( parseFloat2 / parseFloat ) ;
break ;
} else {
this . dimensionRatioValue = Math . abs ( parseFloat / parseFloat2 ) ;
break ;
}
}
} catch ( NumberFormatException unused5 ) {
break ;
}
}
}
} else {
continue ;
}
break ;
case 45 :
this . horizontalWeight = obtainStyledAttributes . getFloat ( index , this . horizontalWeight ) ;
continue ;
case 46 :
this . verticalWeight = obtainStyledAttributes . getFloat ( index , this . verticalWeight ) ;
continue ;
case 47 :
this . horizontalChainStyle = obtainStyledAttributes . getInt ( index , 0 ) ;
continue ;
case 48 :
this . verticalChainStyle = obtainStyledAttributes . getInt ( index , 0 ) ;
continue ;
case 49 :
this . editorAbsoluteX = obtainStyledAttributes . getDimensionPixelOffset ( index , this . editorAbsoluteX ) ;
continue ;
case 50 :
this . editorAbsoluteY = obtainStyledAttributes . getDimensionPixelOffset ( index , this . editorAbsoluteY ) ;
continue ;
case 51 :
this . constraintTag = obtainStyledAttributes . getString ( index ) ;
continue ;
}
}
}
obtainStyledAttributes . recycle ( ) ;
validate ( ) ;
}
public LayoutParams ( ViewGroup . LayoutParams layoutParams ) {
super ( layoutParams ) ;
}
public LayoutParams ( LayoutParams layoutParams ) {
super ( ( ViewGroup . MarginLayoutParams ) layoutParams ) ;
this . guideBegin = layoutParams . guideBegin ;
this . guideEnd = layoutParams . guideEnd ;
this . guidePercent = layoutParams . guidePercent ;
this . leftToLeft = layoutParams . leftToLeft ;
this . leftToRight = layoutParams . leftToRight ;
this . rightToLeft = layoutParams . rightToLeft ;
this . rightToRight = layoutParams . rightToRight ;
this . topToTop = layoutParams . topToTop ;
this . topToBottom = layoutParams . topToBottom ;
this . bottomToTop = layoutParams . bottomToTop ;
this . bottomToBottom = layoutParams . bottomToBottom ;
this . baselineToBaseline = layoutParams . baselineToBaseline ;
this . circleConstraint = layoutParams . circleConstraint ;
this . circleRadius = layoutParams . circleRadius ;
this . circleAngle = layoutParams . circleAngle ;
this . startToEnd = layoutParams . startToEnd ;
this . startToStart = layoutParams . startToStart ;
this . endToStart = layoutParams . endToStart ;
this . endToEnd = layoutParams . endToEnd ;
this . goneLeftMargin = layoutParams . goneLeftMargin ;
this . goneTopMargin = layoutParams . goneTopMargin ;
this . goneRightMargin = layoutParams . goneRightMargin ;
this . goneBottomMargin = layoutParams . goneBottomMargin ;
this . goneStartMargin = layoutParams . goneStartMargin ;
this . goneEndMargin = layoutParams . goneEndMargin ;
this . horizontalBias = layoutParams . horizontalBias ;
this . verticalBias = layoutParams . verticalBias ;
this . dimensionRatio = layoutParams . dimensionRatio ;
this . dimensionRatioValue = layoutParams . dimensionRatioValue ;
this . dimensionRatioSide = layoutParams . dimensionRatioSide ;
this . horizontalWeight = layoutParams . horizontalWeight ;
this . verticalWeight = layoutParams . verticalWeight ;
this . horizontalChainStyle = layoutParams . horizontalChainStyle ;
this . verticalChainStyle = layoutParams . verticalChainStyle ;
this . constrainedWidth = layoutParams . constrainedWidth ;
this . constrainedHeight = layoutParams . constrainedHeight ;
this . matchConstraintDefaultWidth = layoutParams . matchConstraintDefaultWidth ;
this . matchConstraintDefaultHeight = layoutParams . matchConstraintDefaultHeight ;
this . matchConstraintMinWidth = layoutParams . matchConstraintMinWidth ;
this . matchConstraintMaxWidth = layoutParams . matchConstraintMaxWidth ;
this . matchConstraintMinHeight = layoutParams . matchConstraintMinHeight ;
this . matchConstraintMaxHeight = layoutParams . matchConstraintMaxHeight ;
this . matchConstraintPercentWidth = layoutParams . matchConstraintPercentWidth ;
this . matchConstraintPercentHeight = layoutParams . matchConstraintPercentHeight ;
this . editorAbsoluteX = layoutParams . editorAbsoluteX ;
this . editorAbsoluteY = layoutParams . editorAbsoluteY ;
this . orientation = layoutParams . orientation ;
this . horizontalDimensionFixed = layoutParams . horizontalDimensionFixed ;
this . verticalDimensionFixed = layoutParams . verticalDimensionFixed ;
this . needsBaseline = layoutParams . needsBaseline ;
this . isGuideline = layoutParams . isGuideline ;
this . resolvedLeftToLeft = layoutParams . resolvedLeftToLeft ;
this . resolvedLeftToRight = layoutParams . resolvedLeftToRight ;
this . resolvedRightToLeft = layoutParams . resolvedRightToLeft ;
this . resolvedRightToRight = layoutParams . resolvedRightToRight ;
this . resolveGoneLeftMargin = layoutParams . resolveGoneLeftMargin ;
this . resolveGoneRightMargin = layoutParams . resolveGoneRightMargin ;
this . resolvedHorizontalBias = layoutParams . resolvedHorizontalBias ;
this . constraintTag = layoutParams . constraintTag ;
this . widget = layoutParams . widget ;
}
public String getConstraintTag ( ) {
return this . constraintTag ;
}
public ConstraintWidget getConstraintWidget ( ) {
return this . widget ;
}
public void reset ( ) {
ConstraintWidget constraintWidget = this . widget ;
if ( constraintWidget ! = null ) {
constraintWidget . reset ( ) ;
}
}
/* JADX WARNING: Removed duplicated region for block: B:15:0x004c */
/* JADX WARNING: Removed duplicated region for block: B:18:0x0053 */
/* JADX WARNING: Removed duplicated region for block: B:21:0x005a */
/* JADX WARNING: Removed duplicated region for block: B:24:0x0060 */
/* JADX WARNING: Removed duplicated region for block: B:27:0x0066 */
/* JADX WARNING: Removed duplicated region for block: B:34:0x0078 */
/* JADX WARNING: Removed duplicated region for block: B:35:0x0080 */
@Override // android.view.ViewGroup.MarginLayoutParams, android.view.ViewGroup.LayoutParams
@TargetApi ( 17 )
public void resolveLayoutDirection ( int i ) {
int i2 ;
int i3 ;
int i4 ;
int i5 ;
int i6 = ( ( ViewGroup . MarginLayoutParams ) this ) . leftMargin ;
int i7 = ( ( ViewGroup . MarginLayoutParams ) this ) . rightMargin ;
super . resolveLayoutDirection ( i ) ;
boolean z2 = false ;
boolean z3 = 1 = = getLayoutDirection ( ) ;
this . resolvedRightToLeft = - 1 ;
this . resolvedRightToRight = - 1 ;
this . resolvedLeftToLeft = - 1 ;
this . resolvedLeftToRight = - 1 ;
this . resolveGoneLeftMargin = - 1 ;
this . resolveGoneRightMargin = - 1 ;
this . resolveGoneLeftMargin = this . goneLeftMargin ;
this . resolveGoneRightMargin = this . goneRightMargin ;
float f = this . horizontalBias ;
this . resolvedHorizontalBias = f ;
int i8 = this . guideBegin ;
this . resolvedGuideBegin = i8 ;
int i9 = this . guideEnd ;
this . resolvedGuideEnd = i9 ;
float f2 = this . guidePercent ;
this . resolvedGuidePercent = f2 ;
if ( z3 ) {
int i10 = this . startToEnd ;
if ( i10 ! = - 1 ) {
this . resolvedRightToLeft = i10 ;
} else {
int i11 = this . startToStart ;
if ( i11 ! = - 1 ) {
this . resolvedRightToRight = i11 ;
}
i2 = this . endToStart ;
if ( i2 ! = - 1 ) {
this . resolvedLeftToRight = i2 ;
z2 = true ;
}
i3 = this . endToEnd ;
if ( i3 ! = - 1 ) {
this . resolvedLeftToLeft = i3 ;
z2 = true ;
}
i4 = this . goneStartMargin ;
if ( i4 ! = - 1 ) {
this . resolveGoneRightMargin = i4 ;
}
i5 = this . goneEndMargin ;
if ( i5 ! = - 1 ) {
this . resolveGoneLeftMargin = i5 ;
}
if ( z2 ) {
this . resolvedHorizontalBias = 1 . 0f - f ;
}
if ( this . isGuideline & & this . orientation = = 1 ) {
if ( f2 = = - 1 . 0f ) {
this . resolvedGuidePercent = 1 . 0f - f2 ;
this . resolvedGuideBegin = - 1 ;
this . resolvedGuideEnd = - 1 ;
} else if ( i8 ! = - 1 ) {
this . resolvedGuideEnd = i8 ;
this . resolvedGuideBegin = - 1 ;
this . resolvedGuidePercent = - 1 . 0f ;
} else if ( i9 ! = - 1 ) {
this . resolvedGuideBegin = i9 ;
this . resolvedGuideEnd = - 1 ;
this . resolvedGuidePercent = - 1 . 0f ;
}
}
}
z2 = true ;
i2 = this . endToStart ;
if ( i2 ! = - 1 ) {
}
i3 = this . endToEnd ;
if ( i3 ! = - 1 ) {
}
i4 = this . goneStartMargin ;
if ( i4 ! = - 1 ) {
}
i5 = this . goneEndMargin ;
if ( i5 ! = - 1 ) {
}
if ( z2 ) {
}
if ( f2 = = - 1 . 0f ) {
}
} else {
int i12 = this . startToEnd ;
if ( i12 ! = - 1 ) {
this . resolvedLeftToRight = i12 ;
}
int i13 = this . startToStart ;
if ( i13 ! = - 1 ) {
this . resolvedLeftToLeft = i13 ;
}
int i14 = this . endToStart ;
if ( i14 ! = - 1 ) {
this . resolvedRightToLeft = i14 ;
}
int i15 = this . endToEnd ;
if ( i15 ! = - 1 ) {
this . resolvedRightToRight = i15 ;
}
int i16 = this . goneStartMargin ;
if ( i16 ! = - 1 ) {
this . resolveGoneLeftMargin = i16 ;
}
int i17 = this . goneEndMargin ;
if ( i17 ! = - 1 ) {
this . resolveGoneRightMargin = i17 ;
}
}
if ( this . endToStart = = - 1 & & this . endToEnd = = - 1 & & this . startToStart = = - 1 & & this . startToEnd = = - 1 ) {
int i18 = this . rightToLeft ;
if ( i18 ! = - 1 ) {
this . resolvedRightToLeft = i18 ;
if ( ( ( ViewGroup . MarginLayoutParams ) this ) . rightMargin < = 0 & & i7 > 0 ) {
( ( ViewGroup . MarginLayoutParams ) this ) . rightMargin = i7 ;
}
} else {
int i19 = this . rightToRight ;
if ( i19 ! = - 1 ) {
this . resolvedRightToRight = i19 ;
if ( ( ( ViewGroup . MarginLayoutParams ) this ) . rightMargin < = 0 & & i7 > 0 ) {
( ( ViewGroup . MarginLayoutParams ) this ) . rightMargin = i7 ;
}
}
}
int i20 = this . leftToLeft ;
if ( i20 ! = - 1 ) {
this . resolvedLeftToLeft = i20 ;
if ( ( ( ViewGroup . MarginLayoutParams ) this ) . leftMargin < = 0 & & i6 > 0 ) {
( ( ViewGroup . MarginLayoutParams ) this ) . leftMargin = i6 ;
return ;
}
return ;
}
int i21 = this . leftToRight ;
if ( i21 ! = - 1 ) {
this . resolvedLeftToRight = i21 ;
if ( ( ( ViewGroup . MarginLayoutParams ) this ) . leftMargin < = 0 & & i6 > 0 ) {
( ( ViewGroup . MarginLayoutParams ) this ) . leftMargin = i6 ;
}
}
}
}
public void setWidgetDebugName ( String str ) {
this . widget . setDebugName ( str ) ;
}
public void validate ( ) {
this . isGuideline = false ;
this . horizontalDimensionFixed = true ;
this . verticalDimensionFixed = true ;
int i = ( ( ViewGroup . MarginLayoutParams ) this ) . width ;
if ( i = = - 2 & & this . constrainedWidth ) {
this . horizontalDimensionFixed = false ;
if ( this . matchConstraintDefaultWidth = = 0 ) {
this . matchConstraintDefaultWidth = 1 ;
}
}
int i2 = ( ( ViewGroup . MarginLayoutParams ) this ) . height ;
if ( i2 = = - 2 & & this . constrainedHeight ) {
this . verticalDimensionFixed = false ;
if ( this . matchConstraintDefaultHeight = = 0 ) {
this . matchConstraintDefaultHeight = 1 ;
}
}
if ( i = = 0 | | i = = - 1 ) {
this . horizontalDimensionFixed = false ;
if ( i = = 0 & & this . matchConstraintDefaultWidth = = 1 ) {
( ( ViewGroup . MarginLayoutParams ) this ) . width = - 2 ;
this . constrainedWidth = true ;
}
}
if ( i2 = = 0 | | i2 = = - 1 ) {
this . verticalDimensionFixed = false ;
if ( i2 = = 0 & & this . matchConstraintDefaultHeight = = 1 ) {
( ( ViewGroup . MarginLayoutParams ) this ) . height = - 2 ;
this . constrainedHeight = true ;
}
}
if ( this . guidePercent ! = - 1 . 0f | | this . guideBegin ! = - 1 | | this . guideEnd ! = - 1 ) {
this . isGuideline = true ;
this . horizontalDimensionFixed = true ;
this . verticalDimensionFixed = true ;
if ( ! ( this . widget instanceof Guideline ) ) {
this . widget = new Guideline ( ) ;
}
( ( Guideline ) this . widget ) . setOrientation ( this . orientation ) ;
}
}
}
public class Measurer implements BasicMeasure . Measurer {
public ConstraintLayout layout ;
public int layoutHeightSpec ;
public int layoutWidthSpec ;
public int paddingBottom ;
public int paddingHeight ;
public int paddingTop ;
public int paddingWidth ;
public Measurer ( ConstraintLayout constraintLayout ) {
this . layout = constraintLayout ;
}
private boolean isSimilarSpec ( int i , int i2 , int i3 ) {
if ( i = = i2 ) {
return true ;
}
int mode = View . MeasureSpec . getMode ( i ) ;
View . MeasureSpec . getSize ( i ) ;
int mode2 = View . MeasureSpec . getMode ( i2 ) ;
int size = View . MeasureSpec . getSize ( i2 ) ;
if ( mode2 = = 1073741824 ) {
return ( mode = = Integer . MIN_VALUE | | mode = = 0 ) & & i3 = = size ;
}
return false ;
}
public void captureLayoutInfos ( int i , int i2 , int i3 , int i4 , int i5 , int i6 ) {
this . paddingTop = i3 ;
this . paddingBottom = i4 ;
this . paddingWidth = i5 ;
this . paddingHeight = i6 ;
this . layoutWidthSpec = i ;
this . layoutHeightSpec = i2 ;
}
@Override // androidx.constraintlayout.solver.widgets.analyzer.BasicMeasure.Measurer
public final void didMeasures ( ) {
int childCount = this . layout . getChildCount ( ) ;
for ( int i = 0 ; i < childCount ; i + + ) {
View childAt = this . layout . getChildAt ( i ) ;
if ( childAt instanceof Placeholder ) {
( ( Placeholder ) childAt ) . updatePostMeasure ( this . layout ) ;
}
}
int size = ConstraintLayout . access$100 ( this . layout ) . size ( ) ;
if ( size > 0 ) {
for ( int i2 = 0 ; i2 < size ; i2 + + ) {
( ( ConstraintHelper ) ConstraintLayout . access$100 ( this . layout ) . get ( i2 ) ) . updatePostMeasure ( this . layout ) ;
}
}
}
@Override // androidx.constraintlayout.solver.widgets.analyzer.BasicMeasure.Measurer
@SuppressLint ( { " WrongCall " } )
public final void measure ( ConstraintWidget constraintWidget , BasicMeasure . Measure measure ) {
int i ;
int i2 ;
int i3 ;
int i4 ;
int i5 ;
int i6 ;
int i7 ;
if ( constraintWidget ! = null ) {
if ( constraintWidget . getVisibility ( ) = = 8 & & ! constraintWidget . isInPlaceholder ( ) ) {
measure . measuredWidth = 0 ;
measure . measuredHeight = 0 ;
measure . measuredBaseline = 0 ;
} else if ( constraintWidget . getParent ( ) ! = null ) {
ConstraintWidget . DimensionBehaviour dimensionBehaviour = measure . horizontalBehavior ;
ConstraintWidget . DimensionBehaviour dimensionBehaviour2 = measure . verticalBehavior ;
int i8 = measure . horizontalDimension ;
int i9 = measure . verticalDimension ;
int i10 = this . paddingTop + this . paddingBottom ;
int i11 = this . paddingWidth ;
View view = ( View ) constraintWidget . getCompanionWidget ( ) ;
int ordinal = dimensionBehaviour . ordinal ( ) ;
if ( ordinal = = 0 ) {
2021-08-09 22:50:52 +00:00
i = View . MeasureSpec . makeMeasureSpec ( i8 , BasicMeasure . EXACTLY ) ;
2021-07-24 02:37:17 +00:00
} else if ( ordinal = = 1 ) {
i = ViewGroup . getChildMeasureSpec ( this . layoutWidthSpec , i11 , - 2 ) ;
} else if ( ordinal ! = 2 ) {
i = ordinal ! = 3 ? 0 : ViewGroup . getChildMeasureSpec ( this . layoutWidthSpec , constraintWidget . getHorizontalMargin ( ) + i11 , - 1 ) ;
} else {
i = ViewGroup . getChildMeasureSpec ( this . layoutWidthSpec , i11 , - 2 ) ;
boolean z2 = constraintWidget . mMatchConstraintDefaultWidth = = 1 ;
int i12 = measure . measureStrategy ;
if ( i12 = = BasicMeasure . Measure . TRY_GIVEN_DIMENSIONS | | i12 = = BasicMeasure . Measure . USE_GIVEN_DIMENSIONS ) {
if ( measure . measureStrategy = = BasicMeasure . Measure . USE_GIVEN_DIMENSIONS | | ! z2 | | ( z2 & & ( view . getMeasuredHeight ( ) = = constraintWidget . getHeight ( ) ) ) | | ( view instanceof Placeholder ) | | constraintWidget . isResolvedHorizontally ( ) ) {
2021-08-09 22:50:52 +00:00
i = View . MeasureSpec . makeMeasureSpec ( constraintWidget . getWidth ( ) , BasicMeasure . EXACTLY ) ;
2021-07-24 02:37:17 +00:00
}
}
}
int ordinal2 = dimensionBehaviour2 . ordinal ( ) ;
if ( ordinal2 = = 0 ) {
2021-08-09 22:50:52 +00:00
i2 = View . MeasureSpec . makeMeasureSpec ( i9 , BasicMeasure . EXACTLY ) ;
2021-07-24 02:37:17 +00:00
} else if ( ordinal2 = = 1 ) {
i2 = ViewGroup . getChildMeasureSpec ( this . layoutHeightSpec , i10 , - 2 ) ;
} else if ( ordinal2 ! = 2 ) {
i2 = ordinal2 ! = 3 ? 0 : ViewGroup . getChildMeasureSpec ( this . layoutHeightSpec , constraintWidget . getVerticalMargin ( ) + i10 , - 1 ) ;
} else {
i2 = ViewGroup . getChildMeasureSpec ( this . layoutHeightSpec , i10 , - 2 ) ;
boolean z3 = constraintWidget . mMatchConstraintDefaultHeight = = 1 ;
int i13 = measure . measureStrategy ;
if ( i13 = = BasicMeasure . Measure . TRY_GIVEN_DIMENSIONS | | i13 = = BasicMeasure . Measure . USE_GIVEN_DIMENSIONS ) {
if ( measure . measureStrategy = = BasicMeasure . Measure . USE_GIVEN_DIMENSIONS | | ! z3 | | ( z3 & & ( view . getMeasuredWidth ( ) = = constraintWidget . getWidth ( ) ) ) | | ( view instanceof Placeholder ) | | constraintWidget . isResolvedVertically ( ) ) {
2021-08-09 22:50:52 +00:00
i2 = View . MeasureSpec . makeMeasureSpec ( constraintWidget . getHeight ( ) , BasicMeasure . EXACTLY ) ;
2021-07-24 02:37:17 +00:00
}
}
}
ConstraintWidgetContainer constraintWidgetContainer = ( ConstraintWidgetContainer ) constraintWidget . getParent ( ) ;
if ( constraintWidgetContainer ! = null & & Optimizer . enabled ( ConstraintLayout . access$000 ( ConstraintLayout . this ) , 256 ) & & view . getMeasuredWidth ( ) = = constraintWidget . getWidth ( ) & & view . getMeasuredWidth ( ) < constraintWidgetContainer . getWidth ( ) & & view . getMeasuredHeight ( ) = = constraintWidget . getHeight ( ) & & view . getMeasuredHeight ( ) < constraintWidgetContainer . getHeight ( ) & & view . getBaseline ( ) = = constraintWidget . getBaselineDistance ( ) & & ! constraintWidget . isMeasureRequested ( ) ) {
if ( isSimilarSpec ( constraintWidget . getLastHorizontalMeasureSpec ( ) , i , constraintWidget . getWidth ( ) ) & & isSimilarSpec ( constraintWidget . getLastVerticalMeasureSpec ( ) , i2 , constraintWidget . getHeight ( ) ) ) {
measure . measuredWidth = constraintWidget . getWidth ( ) ;
measure . measuredHeight = constraintWidget . getHeight ( ) ;
measure . measuredBaseline = constraintWidget . getBaselineDistance ( ) ;
return ;
}
}
ConstraintWidget . DimensionBehaviour dimensionBehaviour3 = ConstraintWidget . DimensionBehaviour . MATCH_CONSTRAINT ;
boolean z4 = dimensionBehaviour = = dimensionBehaviour3 ;
boolean z5 = dimensionBehaviour2 = = dimensionBehaviour3 ;
ConstraintWidget . DimensionBehaviour dimensionBehaviour4 = ConstraintWidget . DimensionBehaviour . MATCH_PARENT ;
boolean z6 = dimensionBehaviour2 = = dimensionBehaviour4 | | dimensionBehaviour2 = = ConstraintWidget . DimensionBehaviour . FIXED ;
boolean z7 = dimensionBehaviour = = dimensionBehaviour4 | | dimensionBehaviour = = ConstraintWidget . DimensionBehaviour . FIXED ;
boolean z8 = z4 & & constraintWidget . mDimensionRatio > 0 . 0f ;
boolean z9 = z5 & & constraintWidget . mDimensionRatio > 0 . 0f ;
if ( view ! = null ) {
LayoutParams layoutParams = ( LayoutParams ) view . getLayoutParams ( ) ;
int i14 = measure . measureStrategy ;
if ( i14 = = BasicMeasure . Measure . TRY_GIVEN_DIMENSIONS | | i14 = = BasicMeasure . Measure . USE_GIVEN_DIMENSIONS | | ! z4 | | constraintWidget . mMatchConstraintDefaultWidth ! = 0 | | ! z5 | | constraintWidget . mMatchConstraintDefaultHeight ! = 0 ) {
if ( ! ( view instanceof VirtualLayout ) | | ! ( constraintWidget instanceof VirtualLayout ) ) {
view . measure ( i , i2 ) ;
} else {
( ( VirtualLayout ) view ) . onMeasure ( ( VirtualLayout ) constraintWidget , i , i2 ) ;
}
constraintWidget . setLastMeasureSpec ( i , i2 ) ;
int measuredWidth = view . getMeasuredWidth ( ) ;
int measuredHeight = view . getMeasuredHeight ( ) ;
i4 = view . getBaseline ( ) ;
int i15 = constraintWidget . mMatchConstraintMinWidth ;
i3 = i15 > 0 ? Math . max ( i15 , measuredWidth ) : measuredWidth ;
int i16 = constraintWidget . mMatchConstraintMaxWidth ;
if ( i16 > 0 ) {
i3 = Math . min ( i16 , i3 ) ;
}
int i17 = constraintWidget . mMatchConstraintMinHeight ;
if ( i17 > 0 ) {
i5 = Math . max ( i17 , measuredHeight ) ;
i7 = i ;
} else {
i7 = i ;
i5 = measuredHeight ;
}
int i18 = constraintWidget . mMatchConstraintMaxHeight ;
if ( i18 > 0 ) {
i5 = Math . min ( i18 , i5 ) ;
}
if ( ! Optimizer . enabled ( ConstraintLayout . access$000 ( ConstraintLayout . this ) , 1 ) ) {
if ( z8 & & z6 ) {
i3 = ( int ) ( ( ( ( float ) i5 ) * constraintWidget . mDimensionRatio ) + 0 . 5f ) ;
} else if ( z9 & & z7 ) {
i5 = ( int ) ( ( ( ( float ) i3 ) / constraintWidget . mDimensionRatio ) + 0 . 5f ) ;
}
}
if ( ! ( measuredWidth = = i3 & & measuredHeight = = i5 ) ) {
2021-08-09 22:50:52 +00:00
int makeMeasureSpec = measuredWidth ! = i3 ? View . MeasureSpec . makeMeasureSpec ( i3 , BasicMeasure . EXACTLY ) : i7 ;
2021-07-24 02:37:17 +00:00
if ( measuredHeight ! = i5 ) {
2021-08-09 22:50:52 +00:00
i2 = View . MeasureSpec . makeMeasureSpec ( i5 , BasicMeasure . EXACTLY ) ;
2021-07-24 02:37:17 +00:00
}
view . measure ( makeMeasureSpec , i2 ) ;
constraintWidget . setLastMeasureSpec ( makeMeasureSpec , i2 ) ;
i3 = view . getMeasuredWidth ( ) ;
i5 = view . getMeasuredHeight ( ) ;
i4 = view . getBaseline ( ) ;
}
i6 = - 1 ;
} else {
i6 = - 1 ;
i5 = 0 ;
i4 = 0 ;
i3 = 0 ;
}
boolean z10 = i4 ! = i6 ;
measure . measuredNeedsSolverPass = ( i3 = = measure . horizontalDimension & & i5 = = measure . verticalDimension ) ? false : true ;
if ( layoutParams . needsBaseline ) {
z10 = true ;
}
if ( ! ( ! z10 | | i4 = = - 1 | | constraintWidget . getBaselineDistance ( ) = = i4 ) ) {
measure . measuredNeedsSolverPass = true ;
}
measure . measuredWidth = i3 ;
measure . measuredHeight = i5 ;
measure . measuredHasBaseline = z10 ;
measure . measuredBaseline = i4 ;
}
}
}
}
}
public ConstraintLayout ( @NonNull Context context ) {
super ( context ) ;
init ( null , 0 , 0 ) ;
}
public ConstraintLayout ( @NonNull Context context , @Nullable AttributeSet attributeSet ) {
super ( context , attributeSet ) ;
init ( attributeSet , 0 , 0 ) ;
}
public ConstraintLayout ( @NonNull Context context , @Nullable AttributeSet attributeSet , int i ) {
super ( context , attributeSet , i ) ;
init ( attributeSet , i , 0 ) ;
}
@TargetApi ( 21 )
public ConstraintLayout ( @NonNull Context context , @Nullable AttributeSet attributeSet , int i , int i2 ) {
super ( context , attributeSet , i , i2 ) ;
init ( attributeSet , i , i2 ) ;
}
public static /* synthetic */ int access$000 ( ConstraintLayout constraintLayout ) {
return constraintLayout . mOptimizationLevel ;
}
public static /* synthetic */ ArrayList access$100 ( ConstraintLayout constraintLayout ) {
return constraintLayout . mConstraintHelpers ;
}
private int getPaddingWidth ( ) {
int max = Math . max ( 0 , getPaddingRight ( ) ) + Math . max ( 0 , getPaddingLeft ( ) ) ;
int max2 = Math . max ( 0 , getPaddingEnd ( ) ) + Math . max ( 0 , getPaddingStart ( ) ) ;
return max2 > 0 ? max2 : max ;
}
private final ConstraintWidget getTargetWidget ( int i ) {
if ( i = = 0 ) {
return this . mLayoutWidget ;
}
View view = this . mChildrenByIds . get ( i ) ;
if ( view = = null & & ( view = findViewById ( i ) ) ! = null & & view ! = this & & view . getParent ( ) = = this ) {
onViewAdded ( view ) ;
}
if ( view = = this ) {
return this . mLayoutWidget ;
}
if ( view = = null ) {
return null ;
}
return ( ( LayoutParams ) view . getLayoutParams ( ) ) . widget ;
}
private void init ( AttributeSet attributeSet , int i , int i2 ) {
this . mLayoutWidget . setCompanionWidget ( this ) ;
this . mLayoutWidget . setMeasurer ( this . mMeasurer ) ;
this . mChildrenByIds . put ( getId ( ) , this ) ;
this . mConstraintSet = null ;
if ( attributeSet ! = null ) {
TypedArray obtainStyledAttributes = getContext ( ) . obtainStyledAttributes ( attributeSet , R . styleable . ConstraintLayout_Layout , i , i2 ) ;
int indexCount = obtainStyledAttributes . getIndexCount ( ) ;
for ( int i3 = 0 ; i3 < indexCount ; i3 + + ) {
int index = obtainStyledAttributes . getIndex ( i3 ) ;
if ( index = = R . styleable . ConstraintLayout_Layout_android_minWidth ) {
this . mMinWidth = obtainStyledAttributes . getDimensionPixelOffset ( index , this . mMinWidth ) ;
} else if ( index = = R . styleable . ConstraintLayout_Layout_android_minHeight ) {
this . mMinHeight = obtainStyledAttributes . getDimensionPixelOffset ( index , this . mMinHeight ) ;
} else if ( index = = R . styleable . ConstraintLayout_Layout_android_maxWidth ) {
this . mMaxWidth = obtainStyledAttributes . getDimensionPixelOffset ( index , this . mMaxWidth ) ;
} else if ( index = = R . styleable . ConstraintLayout_Layout_android_maxHeight ) {
this . mMaxHeight = obtainStyledAttributes . getDimensionPixelOffset ( index , this . mMaxHeight ) ;
} else if ( index = = R . styleable . ConstraintLayout_Layout_layout_optimizationLevel ) {
this . mOptimizationLevel = obtainStyledAttributes . getInt ( index , this . mOptimizationLevel ) ;
} else if ( index = = R . styleable . ConstraintLayout_Layout_layoutDescription ) {
int resourceId = obtainStyledAttributes . getResourceId ( index , 0 ) ;
if ( resourceId ! = 0 ) {
try {
parseLayoutDescription ( resourceId ) ;
} catch ( Resources . NotFoundException unused ) {
this . mConstraintLayoutSpec = null ;
}
}
} else if ( index = = R . styleable . ConstraintLayout_Layout_constraintSet ) {
int resourceId2 = obtainStyledAttributes . getResourceId ( index , 0 ) ;
try {
ConstraintSet constraintSet = new ConstraintSet ( ) ;
this . mConstraintSet = constraintSet ;
constraintSet . load ( getContext ( ) , resourceId2 ) ;
} catch ( Resources . NotFoundException unused2 ) {
this . mConstraintSet = null ;
}
this . mConstraintSetId = resourceId2 ;
}
}
obtainStyledAttributes . recycle ( ) ;
}
this . mLayoutWidget . setOptimizationLevel ( this . mOptimizationLevel ) ;
}
private void markHierarchyDirty ( ) {
this . mDirtyHierarchy = true ;
this . mLastMeasureWidth = - 1 ;
this . mLastMeasureHeight = - 1 ;
this . mLastMeasureWidthSize = - 1 ;
this . mLastMeasureHeightSize = - 1 ;
this . mLastMeasureWidthMode = 0 ;
this . mLastMeasureHeightMode = 0 ;
}
private void setChildrenConstraints ( ) {
boolean isInEditMode = isInEditMode ( ) ;
int childCount = getChildCount ( ) ;
for ( int i = 0 ; i < childCount ; i + + ) {
ConstraintWidget viewWidget = getViewWidget ( getChildAt ( i ) ) ;
if ( viewWidget ! = null ) {
viewWidget . reset ( ) ;
}
}
if ( isInEditMode ) {
for ( int i2 = 0 ; i2 < childCount ; i2 + + ) {
View childAt = getChildAt ( i2 ) ;
try {
String resourceName = getResources ( ) . getResourceName ( childAt . getId ( ) ) ;
setDesignInformation ( 0 , resourceName , Integer . valueOf ( childAt . getId ( ) ) ) ;
int indexOf = resourceName . indexOf ( 47 ) ;
if ( indexOf ! = - 1 ) {
resourceName = resourceName . substring ( indexOf + 1 ) ;
}
getTargetWidget ( childAt . getId ( ) ) . setDebugName ( resourceName ) ;
} catch ( Resources . NotFoundException unused ) {
}
}
}
if ( this . mConstraintSetId ! = - 1 ) {
for ( int i3 = 0 ; i3 < childCount ; i3 + + ) {
View childAt2 = getChildAt ( i3 ) ;
if ( childAt2 . getId ( ) = = this . mConstraintSetId & & ( childAt2 instanceof Constraints ) ) {
this . mConstraintSet = ( ( Constraints ) childAt2 ) . getConstraintSet ( ) ;
}
}
}
ConstraintSet constraintSet = this . mConstraintSet ;
if ( constraintSet ! = null ) {
constraintSet . applyToInternal ( this , true ) ;
}
this . mLayoutWidget . removeAllChildren ( ) ;
int size = this . mConstraintHelpers . size ( ) ;
if ( size > 0 ) {
for ( int i4 = 0 ; i4 < size ; i4 + + ) {
this . mConstraintHelpers . get ( i4 ) . updatePreLayout ( this ) ;
}
}
for ( int i5 = 0 ; i5 < childCount ; i5 + + ) {
View childAt3 = getChildAt ( i5 ) ;
if ( childAt3 instanceof Placeholder ) {
( ( Placeholder ) childAt3 ) . updatePreLayout ( this ) ;
}
}
this . mTempMapIdToWidget . clear ( ) ;
this . mTempMapIdToWidget . put ( 0 , this . mLayoutWidget ) ;
this . mTempMapIdToWidget . put ( getId ( ) , this . mLayoutWidget ) ;
for ( int i6 = 0 ; i6 < childCount ; i6 + + ) {
View childAt4 = getChildAt ( i6 ) ;
this . mTempMapIdToWidget . put ( childAt4 . getId ( ) , getViewWidget ( childAt4 ) ) ;
}
for ( int i7 = 0 ; i7 < childCount ; i7 + + ) {
View childAt5 = getChildAt ( i7 ) ;
ConstraintWidget viewWidget2 = getViewWidget ( childAt5 ) ;
if ( viewWidget2 ! = null ) {
LayoutParams layoutParams = ( LayoutParams ) childAt5 . getLayoutParams ( ) ;
this . mLayoutWidget . add ( viewWidget2 ) ;
applyConstraintsFromLayoutParams ( isInEditMode , childAt5 , viewWidget2 , layoutParams , this . mTempMapIdToWidget ) ;
}
}
}
private boolean updateHierarchy ( ) {
int childCount = getChildCount ( ) ;
boolean z2 = false ;
int i = 0 ;
while ( true ) {
if ( i > = childCount ) {
break ;
} else if ( getChildAt ( i ) . isLayoutRequested ( ) ) {
z2 = true ;
break ;
} else {
i + + ;
}
}
if ( z2 ) {
setChildrenConstraints ( ) ;
}
return z2 ;
}
@Override // android.view.ViewGroup
public void addView ( View view , int i , ViewGroup . LayoutParams layoutParams ) {
super . addView ( view , i , layoutParams ) ;
}
public void applyConstraintsFromLayoutParams ( boolean z2 , View view , ConstraintWidget constraintWidget , LayoutParams layoutParams , SparseArray < ConstraintWidget > sparseArray ) {
int i ;
float f ;
ConstraintWidget constraintWidget2 ;
ConstraintWidget constraintWidget3 ;
ConstraintWidget constraintWidget4 ;
ConstraintWidget constraintWidget5 ;
layoutParams . validate ( ) ;
layoutParams . helped = false ;
constraintWidget . setVisibility ( view . getVisibility ( ) ) ;
if ( layoutParams . isInPlaceholder ) {
constraintWidget . setInPlaceholder ( true ) ;
constraintWidget . setVisibility ( 8 ) ;
}
constraintWidget . setCompanionWidget ( view ) ;
if ( view instanceof ConstraintHelper ) {
( ( ConstraintHelper ) view ) . resolveRtl ( constraintWidget , this . mLayoutWidget . isRtl ( ) ) ;
}
if ( layoutParams . isGuideline ) {
Guideline guideline = ( Guideline ) constraintWidget ;
int i2 = layoutParams . resolvedGuideBegin ;
int i3 = layoutParams . resolvedGuideEnd ;
float f2 = layoutParams . resolvedGuidePercent ;
if ( f2 ! = - 1 . 0f ) {
guideline . setGuidePercent ( f2 ) ;
} else if ( i2 ! = - 1 ) {
guideline . setGuideBegin ( i2 ) ;
} else if ( i3 ! = - 1 ) {
guideline . setGuideEnd ( i3 ) ;
}
} else {
int i4 = layoutParams . resolvedLeftToLeft ;
int i5 = layoutParams . resolvedLeftToRight ;
int i6 = layoutParams . resolvedRightToLeft ;
int i7 = layoutParams . resolvedRightToRight ;
int i8 = layoutParams . resolveGoneLeftMargin ;
int i9 = layoutParams . resolveGoneRightMargin ;
float f3 = layoutParams . resolvedHorizontalBias ;
int i10 = layoutParams . circleConstraint ;
if ( i10 ! = - 1 ) {
ConstraintWidget constraintWidget6 = sparseArray . get ( i10 ) ;
if ( constraintWidget6 ! = null ) {
constraintWidget . connectCircularConstraint ( constraintWidget6 , layoutParams . circleAngle , layoutParams . circleRadius ) ;
}
} else {
if ( i4 ! = - 1 ) {
ConstraintWidget constraintWidget7 = sparseArray . get ( i4 ) ;
if ( constraintWidget7 ! = null ) {
ConstraintAnchor . Type type = ConstraintAnchor . Type . LEFT ;
f = f3 ;
constraintWidget . immediateConnect ( type , constraintWidget7 , type , ( ( ViewGroup . MarginLayoutParams ) layoutParams ) . leftMargin , i8 ) ;
} else {
f = f3 ;
}
} else {
f = f3 ;
if ( ! ( i5 = = - 1 | | ( constraintWidget5 = sparseArray . get ( i5 ) ) = = null ) ) {
constraintWidget . immediateConnect ( ConstraintAnchor . Type . LEFT , constraintWidget5 , ConstraintAnchor . Type . RIGHT , ( ( ViewGroup . MarginLayoutParams ) layoutParams ) . leftMargin , i8 ) ;
}
}
if ( i6 ! = - 1 ) {
ConstraintWidget constraintWidget8 = sparseArray . get ( i6 ) ;
if ( constraintWidget8 ! = null ) {
constraintWidget . immediateConnect ( ConstraintAnchor . Type . RIGHT , constraintWidget8 , ConstraintAnchor . Type . LEFT , ( ( ViewGroup . MarginLayoutParams ) layoutParams ) . rightMargin , i9 ) ;
}
} else if ( ! ( i7 = = - 1 | | ( constraintWidget4 = sparseArray . get ( i7 ) ) = = null ) ) {
ConstraintAnchor . Type type2 = ConstraintAnchor . Type . RIGHT ;
constraintWidget . immediateConnect ( type2 , constraintWidget4 , type2 , ( ( ViewGroup . MarginLayoutParams ) layoutParams ) . rightMargin , i9 ) ;
}
int i11 = layoutParams . topToTop ;
if ( i11 ! = - 1 ) {
ConstraintWidget constraintWidget9 = sparseArray . get ( i11 ) ;
if ( constraintWidget9 ! = null ) {
ConstraintAnchor . Type type3 = ConstraintAnchor . Type . TOP ;
constraintWidget . immediateConnect ( type3 , constraintWidget9 , type3 , ( ( ViewGroup . MarginLayoutParams ) layoutParams ) . topMargin , layoutParams . goneTopMargin ) ;
}
} else {
int i12 = layoutParams . topToBottom ;
if ( ! ( i12 = = - 1 | | ( constraintWidget3 = sparseArray . get ( i12 ) ) = = null ) ) {
constraintWidget . immediateConnect ( ConstraintAnchor . Type . TOP , constraintWidget3 , ConstraintAnchor . Type . BOTTOM , ( ( ViewGroup . MarginLayoutParams ) layoutParams ) . topMargin , layoutParams . goneTopMargin ) ;
}
}
int i13 = layoutParams . bottomToTop ;
if ( i13 ! = - 1 ) {
ConstraintWidget constraintWidget10 = sparseArray . get ( i13 ) ;
if ( constraintWidget10 ! = null ) {
constraintWidget . immediateConnect ( ConstraintAnchor . Type . BOTTOM , constraintWidget10 , ConstraintAnchor . Type . TOP , ( ( ViewGroup . MarginLayoutParams ) layoutParams ) . bottomMargin , layoutParams . goneBottomMargin ) ;
}
} else {
int i14 = layoutParams . bottomToBottom ;
if ( ! ( i14 = = - 1 | | ( constraintWidget2 = sparseArray . get ( i14 ) ) = = null ) ) {
ConstraintAnchor . Type type4 = ConstraintAnchor . Type . BOTTOM ;
constraintWidget . immediateConnect ( type4 , constraintWidget2 , type4 , ( ( ViewGroup . MarginLayoutParams ) layoutParams ) . bottomMargin , layoutParams . goneBottomMargin ) ;
}
}
int i15 = layoutParams . baselineToBaseline ;
if ( i15 ! = - 1 ) {
View view2 = this . mChildrenByIds . get ( i15 ) ;
ConstraintWidget constraintWidget11 = sparseArray . get ( layoutParams . baselineToBaseline ) ;
if ( ! ( constraintWidget11 = = null | | view2 = = null | | ! ( view2 . getLayoutParams ( ) instanceof LayoutParams ) ) ) {
LayoutParams layoutParams2 = ( LayoutParams ) view2 . getLayoutParams ( ) ;
layoutParams . needsBaseline = true ;
layoutParams2 . needsBaseline = true ;
ConstraintAnchor . Type type5 = ConstraintAnchor . Type . BASELINE ;
constraintWidget . getAnchor ( type5 ) . connect ( constraintWidget11 . getAnchor ( type5 ) , 0 , - 1 , true ) ;
constraintWidget . setHasBaseline ( true ) ;
layoutParams2 . widget . setHasBaseline ( true ) ;
constraintWidget . getAnchor ( ConstraintAnchor . Type . TOP ) . reset ( ) ;
constraintWidget . getAnchor ( ConstraintAnchor . Type . BOTTOM ) . reset ( ) ;
}
}
if ( f > = 0 . 0f ) {
constraintWidget . setHorizontalBiasPercent ( f ) ;
}
float f4 = layoutParams . verticalBias ;
if ( f4 > = 0 . 0f ) {
constraintWidget . setVerticalBiasPercent ( f4 ) ;
}
}
if ( z2 & & ! ( ( i = layoutParams . editorAbsoluteX ) = = - 1 & & layoutParams . editorAbsoluteY = = - 1 ) ) {
constraintWidget . setOrigin ( i , layoutParams . editorAbsoluteY ) ;
}
if ( layoutParams . horizontalDimensionFixed ) {
constraintWidget . setHorizontalDimensionBehaviour ( ConstraintWidget . DimensionBehaviour . FIXED ) ;
constraintWidget . setWidth ( ( ( ViewGroup . MarginLayoutParams ) layoutParams ) . width ) ;
if ( ( ( ViewGroup . MarginLayoutParams ) layoutParams ) . width = = - 2 ) {
constraintWidget . setHorizontalDimensionBehaviour ( ConstraintWidget . DimensionBehaviour . WRAP_CONTENT ) ;
}
} else if ( ( ( ViewGroup . MarginLayoutParams ) layoutParams ) . width = = - 1 ) {
if ( layoutParams . constrainedWidth ) {
constraintWidget . setHorizontalDimensionBehaviour ( ConstraintWidget . DimensionBehaviour . MATCH_CONSTRAINT ) ;
} else {
constraintWidget . setHorizontalDimensionBehaviour ( ConstraintWidget . DimensionBehaviour . MATCH_PARENT ) ;
}
constraintWidget . getAnchor ( ConstraintAnchor . Type . LEFT ) . mMargin = ( ( ViewGroup . MarginLayoutParams ) layoutParams ) . leftMargin ;
constraintWidget . getAnchor ( ConstraintAnchor . Type . RIGHT ) . mMargin = ( ( ViewGroup . MarginLayoutParams ) layoutParams ) . rightMargin ;
} else {
constraintWidget . setHorizontalDimensionBehaviour ( ConstraintWidget . DimensionBehaviour . MATCH_CONSTRAINT ) ;
constraintWidget . setWidth ( 0 ) ;
}
if ( layoutParams . verticalDimensionFixed ) {
constraintWidget . setVerticalDimensionBehaviour ( ConstraintWidget . DimensionBehaviour . FIXED ) ;
constraintWidget . setHeight ( ( ( ViewGroup . MarginLayoutParams ) layoutParams ) . height ) ;
if ( ( ( ViewGroup . MarginLayoutParams ) layoutParams ) . height = = - 2 ) {
constraintWidget . setVerticalDimensionBehaviour ( ConstraintWidget . DimensionBehaviour . WRAP_CONTENT ) ;
}
} else if ( ( ( ViewGroup . MarginLayoutParams ) layoutParams ) . height = = - 1 ) {
if ( layoutParams . constrainedHeight ) {
constraintWidget . setVerticalDimensionBehaviour ( ConstraintWidget . DimensionBehaviour . MATCH_CONSTRAINT ) ;
} else {
constraintWidget . setVerticalDimensionBehaviour ( ConstraintWidget . DimensionBehaviour . MATCH_PARENT ) ;
}
constraintWidget . getAnchor ( ConstraintAnchor . Type . TOP ) . mMargin = ( ( ViewGroup . MarginLayoutParams ) layoutParams ) . topMargin ;
constraintWidget . getAnchor ( ConstraintAnchor . Type . BOTTOM ) . mMargin = ( ( ViewGroup . MarginLayoutParams ) layoutParams ) . bottomMargin ;
} else {
constraintWidget . setVerticalDimensionBehaviour ( ConstraintWidget . DimensionBehaviour . MATCH_CONSTRAINT ) ;
constraintWidget . setHeight ( 0 ) ;
}
constraintWidget . setDimensionRatio ( layoutParams . dimensionRatio ) ;
constraintWidget . setHorizontalWeight ( layoutParams . horizontalWeight ) ;
constraintWidget . setVerticalWeight ( layoutParams . verticalWeight ) ;
constraintWidget . setHorizontalChainStyle ( layoutParams . horizontalChainStyle ) ;
constraintWidget . setVerticalChainStyle ( layoutParams . verticalChainStyle ) ;
constraintWidget . setHorizontalMatchStyle ( layoutParams . matchConstraintDefaultWidth , layoutParams . matchConstraintMinWidth , layoutParams . matchConstraintMaxWidth , layoutParams . matchConstraintPercentWidth ) ;
constraintWidget . setVerticalMatchStyle ( layoutParams . matchConstraintDefaultHeight , layoutParams . matchConstraintMinHeight , layoutParams . matchConstraintMaxHeight , layoutParams . matchConstraintPercentHeight ) ;
}
}
@Override // android.view.ViewGroup
public boolean checkLayoutParams ( ViewGroup . LayoutParams layoutParams ) {
return layoutParams instanceof LayoutParams ;
}
@Override // android.view.ViewGroup, android.view.View
public void dispatchDraw ( Canvas canvas ) {
Object tag ;
int size ;
ArrayList < ConstraintHelper > arrayList = this . mConstraintHelpers ;
if ( arrayList ! = null & & ( size = arrayList . size ( ) ) > 0 ) {
for ( int i = 0 ; i < size ; i + + ) {
this . mConstraintHelpers . get ( i ) . updatePreDraw ( this ) ;
}
}
super . dispatchDraw ( canvas ) ;
if ( isInEditMode ( ) ) {
int childCount = getChildCount ( ) ;
float width = ( float ) getWidth ( ) ;
float height = ( float ) getHeight ( ) ;
for ( int i2 = 0 ; i2 < childCount ; i2 + + ) {
View childAt = getChildAt ( i2 ) ;
if ( ! ( childAt . getVisibility ( ) = = 8 | | ( tag = childAt . getTag ( ) ) = = null | | ! ( tag instanceof String ) ) ) {
String [ ] split = ( ( String ) tag ) . split ( " , " ) ;
if ( split . length = = 4 ) {
int parseInt = Integer . parseInt ( split [ 0 ] ) ;
int parseInt2 = Integer . parseInt ( split [ 1 ] ) ;
int parseInt3 = Integer . parseInt ( split [ 2 ] ) ;
int i3 = ( int ) ( ( ( ( float ) parseInt ) / 1080 . 0f ) * width ) ;
int i4 = ( int ) ( ( ( ( float ) parseInt2 ) / 1920 . 0f ) * height ) ;
Paint paint = new Paint ( ) ;
2021-08-09 22:50:52 +00:00
paint . setColor ( SupportMenu . CATEGORY_MASK ) ;
2021-07-24 02:37:17 +00:00
float f = ( float ) i3 ;
float f2 = ( float ) i4 ;
float f3 = ( float ) ( i3 + ( ( int ) ( ( ( ( float ) parseInt3 ) / 1080 . 0f ) * width ) ) ) ;
canvas . drawLine ( f , f2 , f3 , f2 , paint ) ;
float parseInt4 = ( float ) ( i4 + ( ( int ) ( ( ( ( float ) Integer . parseInt ( split [ 3 ] ) ) / 1920 . 0f ) * height ) ) ) ;
canvas . drawLine ( f3 , f2 , f3 , parseInt4 , paint ) ;
canvas . drawLine ( f3 , parseInt4 , f , parseInt4 , paint ) ;
canvas . drawLine ( f , parseInt4 , f , f2 , paint ) ;
paint . setColor ( - 16711936 ) ;
canvas . drawLine ( f , f2 , f3 , parseInt4 , paint ) ;
canvas . drawLine ( f , parseInt4 , f3 , f2 , paint ) ;
}
}
}
}
}
public void fillMetrics ( Metrics metrics ) {
this . mMetrics = metrics ;
this . mLayoutWidget . fillMetrics ( metrics ) ;
}
@Override // android.view.View
public void forceLayout ( ) {
markHierarchyDirty ( ) ;
super . forceLayout ( ) ;
}
@Override // android.view.ViewGroup
public LayoutParams generateDefaultLayoutParams ( ) {
return new LayoutParams ( - 2 , - 2 ) ;
}
@Override // android.view.ViewGroup
public ViewGroup . LayoutParams generateLayoutParams ( ViewGroup . LayoutParams layoutParams ) {
return new LayoutParams ( layoutParams ) ;
}
@Override // android.view.ViewGroup
public LayoutParams generateLayoutParams ( AttributeSet attributeSet ) {
return new LayoutParams ( getContext ( ) , attributeSet ) ;
}
public Object getDesignInformation ( int i , Object obj ) {
if ( i ! = 0 | | ! ( obj instanceof String ) ) {
return null ;
}
String str = ( String ) obj ;
HashMap < String , Integer > hashMap = this . mDesignIds ;
if ( hashMap = = null | | ! hashMap . containsKey ( str ) ) {
return null ;
}
return this . mDesignIds . get ( str ) ;
}
public int getMaxHeight ( ) {
return this . mMaxHeight ;
}
public int getMaxWidth ( ) {
return this . mMaxWidth ;
}
public int getMinHeight ( ) {
return this . mMinHeight ;
}
public int getMinWidth ( ) {
return this . mMinWidth ;
}
public int getOptimizationLevel ( ) {
return this . mLayoutWidget . getOptimizationLevel ( ) ;
}
public View getViewById ( int i ) {
return this . mChildrenByIds . get ( i ) ;
}
public final ConstraintWidget getViewWidget ( View view ) {
if ( view = = this ) {
return this . mLayoutWidget ;
}
if ( view = = null ) {
return null ;
}
return ( ( LayoutParams ) view . getLayoutParams ( ) ) . widget ;
}
public boolean isRtl ( ) {
return ( ( getContext ( ) . getApplicationInfo ( ) . flags & 4194304 ) ! = 0 ) & & 1 = = getLayoutDirection ( ) ;
}
public void loadLayoutDescription ( int i ) {
if ( i ! = 0 ) {
try {
this . mConstraintLayoutSpec = new ConstraintLayoutStates ( getContext ( ) , this , i ) ;
} catch ( Resources . NotFoundException unused ) {
this . mConstraintLayoutSpec = null ;
}
} else {
this . mConstraintLayoutSpec = null ;
}
}
@Override // android.view.ViewGroup, android.view.View
public void onLayout ( boolean z2 , int i , int i2 , int i3 , int i4 ) {
View content ;
int childCount = getChildCount ( ) ;
boolean isInEditMode = isInEditMode ( ) ;
for ( int i5 = 0 ; i5 < childCount ; i5 + + ) {
View childAt = getChildAt ( i5 ) ;
LayoutParams layoutParams = ( LayoutParams ) childAt . getLayoutParams ( ) ;
ConstraintWidget constraintWidget = layoutParams . widget ;
if ( ( childAt . getVisibility ( ) ! = 8 | | layoutParams . isGuideline | | layoutParams . isHelper | | layoutParams . isVirtualGroup | | isInEditMode ) & & ! layoutParams . isInPlaceholder ) {
int x2 = constraintWidget . getX ( ) ;
int y2 = constraintWidget . getY ( ) ;
int width = constraintWidget . getWidth ( ) + x2 ;
int height = constraintWidget . getHeight ( ) + y2 ;
childAt . layout ( x2 , y2 , width , height ) ;
if ( ( childAt instanceof Placeholder ) & & ( content = ( ( Placeholder ) childAt ) . getContent ( ) ) ! = null ) {
content . setVisibility ( 0 ) ;
content . layout ( x2 , y2 , width , height ) ;
}
}
}
int size = this . mConstraintHelpers . size ( ) ;
if ( size > 0 ) {
for ( int i6 = 0 ; i6 < size ; i6 + + ) {
this . mConstraintHelpers . get ( i6 ) . updatePostLayout ( this ) ;
}
}
}
@Override // android.view.View
public void onMeasure ( int i , int i2 ) {
if ( ! this . mDirtyHierarchy ) {
int childCount = getChildCount ( ) ;
int i3 = 0 ;
while ( true ) {
if ( i3 > = childCount ) {
break ;
} else if ( getChildAt ( i3 ) . isLayoutRequested ( ) ) {
this . mDirtyHierarchy = true ;
break ;
} else {
i3 + + ;
}
}
}
if ( ! this . mDirtyHierarchy ) {
int i4 = this . mOnMeasureWidthMeasureSpec ;
if ( i4 = = i & & this . mOnMeasureHeightMeasureSpec = = i2 ) {
resolveMeasuredDimension ( i , i2 , this . mLayoutWidget . getWidth ( ) , this . mLayoutWidget . getHeight ( ) , this . mLayoutWidget . isWidthMeasuredTooSmall ( ) , this . mLayoutWidget . isHeightMeasuredTooSmall ( ) ) ;
return ;
} else if ( i4 = = i & & View . MeasureSpec . getMode ( i ) = = 1073741824 & & View . MeasureSpec . getMode ( i2 ) = = Integer . MIN_VALUE & & View . MeasureSpec . getMode ( this . mOnMeasureHeightMeasureSpec ) = = Integer . MIN_VALUE & & View . MeasureSpec . getSize ( i2 ) > = this . mLayoutWidget . getHeight ( ) ) {
this . mOnMeasureWidthMeasureSpec = i ;
this . mOnMeasureHeightMeasureSpec = i2 ;
resolveMeasuredDimension ( i , i2 , this . mLayoutWidget . getWidth ( ) , this . mLayoutWidget . getHeight ( ) , this . mLayoutWidget . isWidthMeasuredTooSmall ( ) , this . mLayoutWidget . isHeightMeasuredTooSmall ( ) ) ;
return ;
}
}
this . mOnMeasureWidthMeasureSpec = i ;
this . mOnMeasureHeightMeasureSpec = i2 ;
this . mLayoutWidget . setRtl ( isRtl ( ) ) ;
if ( this . mDirtyHierarchy ) {
this . mDirtyHierarchy = false ;
if ( updateHierarchy ( ) ) {
this . mLayoutWidget . updateHierarchy ( ) ;
}
}
resolveSystem ( this . mLayoutWidget , this . mOptimizationLevel , i , i2 ) ;
resolveMeasuredDimension ( i , i2 , this . mLayoutWidget . getWidth ( ) , this . mLayoutWidget . getHeight ( ) , this . mLayoutWidget . isWidthMeasuredTooSmall ( ) , this . mLayoutWidget . isHeightMeasuredTooSmall ( ) ) ;
}
@Override // android.view.ViewGroup
public void onViewAdded ( View view ) {
super . onViewAdded ( view ) ;
ConstraintWidget viewWidget = getViewWidget ( view ) ;
if ( ( view instanceof Guideline ) & & ! ( viewWidget instanceof Guideline ) ) {
LayoutParams layoutParams = ( LayoutParams ) view . getLayoutParams ( ) ;
Guideline guideline = new Guideline ( ) ;
layoutParams . widget = guideline ;
layoutParams . isGuideline = true ;
guideline . setOrientation ( layoutParams . orientation ) ;
}
if ( view instanceof ConstraintHelper ) {
ConstraintHelper constraintHelper = ( ConstraintHelper ) view ;
constraintHelper . validateParams ( ) ;
( ( LayoutParams ) view . getLayoutParams ( ) ) . isHelper = true ;
if ( ! this . mConstraintHelpers . contains ( constraintHelper ) ) {
this . mConstraintHelpers . add ( constraintHelper ) ;
}
}
this . mChildrenByIds . put ( view . getId ( ) , view ) ;
this . mDirtyHierarchy = true ;
}
@Override // android.view.ViewGroup
public void onViewRemoved ( View view ) {
super . onViewRemoved ( view ) ;
this . mChildrenByIds . remove ( view . getId ( ) ) ;
this . mLayoutWidget . remove ( getViewWidget ( view ) ) ;
this . mConstraintHelpers . remove ( view ) ;
this . mDirtyHierarchy = true ;
}
public void parseLayoutDescription ( int i ) {
this . mConstraintLayoutSpec = new ConstraintLayoutStates ( getContext ( ) , this , i ) ;
}
@Override // android.view.ViewGroup, android.view.ViewManager
public void removeView ( View view ) {
super . removeView ( view ) ;
}
@Override // android.view.ViewParent, android.view.View
public void requestLayout ( ) {
markHierarchyDirty ( ) ;
super . requestLayout ( ) ;
}
public void resolveMeasuredDimension ( int i , int i2 , int i3 , int i4 , boolean z2 , boolean z3 ) {
Measurer measurer = this . mMeasurer ;
int i5 = measurer . paddingHeight ;
int resolveSizeAndState = ViewGroup . resolveSizeAndState ( i3 + measurer . paddingWidth , i , 0 ) ;
2021-08-09 22:50:52 +00:00
int resolveSizeAndState2 = ViewGroup . resolveSizeAndState ( i4 + i5 , i2 , 0 ) ;
int i6 = resolveSizeAndState & ViewCompat . MEASURED_SIZE_MASK ;
int i7 = resolveSizeAndState2 & ViewCompat . MEASURED_SIZE_MASK ;
int min = Math . min ( this . mMaxWidth , i6 ) ;
int min2 = Math . min ( this . mMaxHeight , i7 ) ;
2021-07-24 02:37:17 +00:00
if ( z2 ) {
min | = 16777216 ;
}
if ( z3 ) {
min2 | = 16777216 ;
}
setMeasuredDimension ( min , min2 ) ;
this . mLastMeasureWidth = min ;
this . mLastMeasureHeight = min2 ;
}
public void resolveSystem ( ConstraintWidgetContainer constraintWidgetContainer , int i , int i2 , int i3 ) {
int mode = View . MeasureSpec . getMode ( i2 ) ;
int size = View . MeasureSpec . getSize ( i2 ) ;
int mode2 = View . MeasureSpec . getMode ( i3 ) ;
int size2 = View . MeasureSpec . getSize ( i3 ) ;
int max = Math . max ( 0 , getPaddingTop ( ) ) ;
int max2 = Math . max ( 0 , getPaddingBottom ( ) ) ;
int i4 = max + max2 ;
int paddingWidth = getPaddingWidth ( ) ;
this . mMeasurer . captureLayoutInfos ( i2 , i3 , max , max2 , paddingWidth , i4 ) ;
int max3 = Math . max ( 0 , getPaddingStart ( ) ) ;
int max4 = Math . max ( 0 , getPaddingEnd ( ) ) ;
int max5 = ( max3 > 0 | | max4 > 0 ) ? isRtl ( ) ? max4 : max3 : Math . max ( 0 , getPaddingLeft ( ) ) ;
int i5 = size - paddingWidth ;
int i6 = size2 - i4 ;
setSelfDimensionBehaviour ( constraintWidgetContainer , mode , i5 , mode2 , i6 ) ;
constraintWidgetContainer . measure ( i , mode , i5 , mode2 , i6 , this . mLastMeasureWidth , this . mLastMeasureHeight , max5 , max ) ;
}
public void setConstraintSet ( ConstraintSet constraintSet ) {
this . mConstraintSet = constraintSet ;
}
public void setDesignInformation ( int i , Object obj , Object obj2 ) {
if ( i = = 0 & & ( obj instanceof String ) & & ( obj2 instanceof Integer ) ) {
if ( this . mDesignIds = = null ) {
this . mDesignIds = new HashMap < > ( ) ;
}
String str = ( String ) obj ;
2021-08-10 10:47:20 +00:00
int indexOf = str . indexOf ( AutocompleteViewModel . COMMAND_DISCOVER_TOKEN ) ;
2021-07-24 02:37:17 +00:00
if ( indexOf ! = - 1 ) {
str = str . substring ( indexOf + 1 ) ;
}
this . mDesignIds . put ( str , Integer . valueOf ( ( ( Integer ) obj2 ) . intValue ( ) ) ) ;
}
}
@Override // android.view.View
public void setId ( int i ) {
this . mChildrenByIds . remove ( getId ( ) ) ;
super . setId ( i ) ;
this . mChildrenByIds . put ( getId ( ) , this ) ;
}
public void setMaxHeight ( int i ) {
if ( i ! = this . mMaxHeight ) {
this . mMaxHeight = i ;
requestLayout ( ) ;
}
}
public void setMaxWidth ( int i ) {
if ( i ! = this . mMaxWidth ) {
this . mMaxWidth = i ;
requestLayout ( ) ;
}
}
public void setMinHeight ( int i ) {
if ( i ! = this . mMinHeight ) {
this . mMinHeight = i ;
requestLayout ( ) ;
}
}
public void setMinWidth ( int i ) {
if ( i ! = this . mMinWidth ) {
this . mMinWidth = i ;
requestLayout ( ) ;
}
}
public void setOnConstraintsChanged ( ConstraintsChangedListener constraintsChangedListener ) {
this . mConstraintsChangedListener = constraintsChangedListener ;
ConstraintLayoutStates constraintLayoutStates = this . mConstraintLayoutSpec ;
if ( constraintLayoutStates ! = null ) {
constraintLayoutStates . setOnConstraintsChanged ( constraintsChangedListener ) ;
}
}
public void setOptimizationLevel ( int i ) {
this . mOptimizationLevel = i ;
this . mLayoutWidget . setOptimizationLevel ( i ) ;
}
public void setSelfDimensionBehaviour ( ConstraintWidgetContainer constraintWidgetContainer , int i , int i2 , int i3 , int i4 ) {
ConstraintWidget . DimensionBehaviour dimensionBehaviour ;
Measurer measurer = this . mMeasurer ;
int i5 = measurer . paddingHeight ;
int i6 = measurer . paddingWidth ;
ConstraintWidget . DimensionBehaviour dimensionBehaviour2 = ConstraintWidget . DimensionBehaviour . FIXED ;
int childCount = getChildCount ( ) ;
if ( i ! = Integer . MIN_VALUE ) {
if ( i = = 0 ) {
dimensionBehaviour = ConstraintWidget . DimensionBehaviour . WRAP_CONTENT ;
if ( childCount = = 0 ) {
i2 = Math . max ( 0 , this . mMinWidth ) ;
}
} else if ( i ! = 1073741824 ) {
dimensionBehaviour = dimensionBehaviour2 ;
} else {
i2 = Math . min ( this . mMaxWidth - i6 , i2 ) ;
dimensionBehaviour = dimensionBehaviour2 ;
}
i2 = 0 ;
} else {
dimensionBehaviour = ConstraintWidget . DimensionBehaviour . WRAP_CONTENT ;
if ( childCount = = 0 ) {
i2 = Math . max ( 0 , this . mMinWidth ) ;
}
}
if ( i3 ! = Integer . MIN_VALUE ) {
if ( i3 = = 0 ) {
dimensionBehaviour2 = ConstraintWidget . DimensionBehaviour . WRAP_CONTENT ;
if ( childCount = = 0 ) {
i4 = Math . max ( 0 , this . mMinHeight ) ;
}
} else if ( i3 = = 1073741824 ) {
i4 = Math . min ( this . mMaxHeight - i5 , i4 ) ;
}
i4 = 0 ;
} else {
dimensionBehaviour2 = ConstraintWidget . DimensionBehaviour . WRAP_CONTENT ;
if ( childCount = = 0 ) {
i4 = Math . max ( 0 , this . mMinHeight ) ;
}
}
if ( ! ( i2 = = constraintWidgetContainer . getWidth ( ) & & i4 = = constraintWidgetContainer . getHeight ( ) ) ) {
constraintWidgetContainer . invalidateMeasures ( ) ;
}
constraintWidgetContainer . setX ( 0 ) ;
constraintWidgetContainer . setY ( 0 ) ;
constraintWidgetContainer . setMaxWidth ( this . mMaxWidth - i6 ) ;
constraintWidgetContainer . setMaxHeight ( this . mMaxHeight - i5 ) ;
constraintWidgetContainer . setMinWidth ( 0 ) ;
constraintWidgetContainer . setMinHeight ( 0 ) ;
constraintWidgetContainer . setHorizontalDimensionBehaviour ( dimensionBehaviour ) ;
constraintWidgetContainer . setWidth ( i2 ) ;
constraintWidgetContainer . setVerticalDimensionBehaviour ( dimensionBehaviour2 ) ;
constraintWidgetContainer . setHeight ( i4 ) ;
constraintWidgetContainer . setMinWidth ( this . mMinWidth - i6 ) ;
constraintWidgetContainer . setMinHeight ( this . mMinHeight - i5 ) ;
}
public void setState ( int i , int i2 , int i3 ) {
ConstraintLayoutStates constraintLayoutStates = this . mConstraintLayoutSpec ;
if ( constraintLayoutStates ! = null ) {
constraintLayoutStates . updateConstraints ( i , ( float ) i2 , ( float ) i3 ) ;
}
}
@Override // android.view.ViewGroup
public boolean shouldDelayChildPressedState ( ) {
return false ;
}
}