ConstraintLayout$Measurer.smali
.class Landroidx/constraintlayout/widget/ConstraintLayout$Measurer;
.super Ljava/lang/Object;
.source "SourceFile"
# interfaces
.implements Landroidx/constraintlayout/core/widgets/analyzer/BasicMeasure$Measurer;
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Landroidx/constraintlayout/widget/ConstraintLayout;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x0
name = "Measurer"
.end annotation
# instance fields
.field layout:Landroidx/constraintlayout/widget/ConstraintLayout;
.field layoutHeightSpec:I
.field layoutWidthSpec:I
.field paddingBottom:I
.field paddingHeight:I
.field paddingTop:I
.field paddingWidth:I
.field final synthetic this$0:Landroidx/constraintlayout/widget/ConstraintLayout;
# direct methods
.method public constructor <init>(Landroidx/constraintlayout/widget/ConstraintLayout;Landroidx/constraintlayout/widget/ConstraintLayout;)V
.registers 3
.line 637
iput-object p1, p0, Landroidx/constraintlayout/widget/ConstraintLayout$Measurer;->this$0:Landroidx/constraintlayout/widget/ConstraintLayout;
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
.line 638
iput-object p2, p0, Landroidx/constraintlayout/widget/ConstraintLayout$Measurer;->layout:Landroidx/constraintlayout/widget/ConstraintLayout;
return-void
.end method
.method private isSimilarSpec(III)Z
.registers 7
const/4 v0, 0x1
if-ne p1, p2, :cond_4
return v0
.line 909
:cond_4
invoke-static {p1}, Landroid/view/View$MeasureSpec;->getMode(I)I
move-result v1
.line 910
invoke-static {p1}, Landroid/view/View$MeasureSpec;->getSize(I)I
.line 911
invoke-static {p2}, Landroid/view/View$MeasureSpec;->getMode(I)I
move-result p1
.line 912
invoke-static {p2}, Landroid/view/View$MeasureSpec;->getSize(I)I
move-result p2
const/high16 v2, 0x40000000 # 2.0f
if-ne p1, v2, :cond_20
const/high16 p1, -0x80000000
if-eq v1, p1, :cond_1d
if-nez v1, :cond_20
:cond_1d
if-ne p3, p2, :cond_20
return v0
:cond_20
const/4 p1, 0x0
return p1
.end method
# virtual methods
.method public captureLayoutInfo(IIIIII)V
.registers 7
.line 629
iput p3, p0, Landroidx/constraintlayout/widget/ConstraintLayout$Measurer;->paddingTop:I
.line 630
iput p4, p0, Landroidx/constraintlayout/widget/ConstraintLayout$Measurer;->paddingBottom:I
.line 631
iput p5, p0, Landroidx/constraintlayout/widget/ConstraintLayout$Measurer;->paddingWidth:I
.line 632
iput p6, p0, Landroidx/constraintlayout/widget/ConstraintLayout$Measurer;->paddingHeight:I
.line 633
iput p1, p0, Landroidx/constraintlayout/widget/ConstraintLayout$Measurer;->layoutWidthSpec:I
.line 634
iput p2, p0, Landroidx/constraintlayout/widget/ConstraintLayout$Measurer;->layoutHeightSpec:I
return-void
.end method
.method public final didMeasures()V
.registers 6
.line 923
iget-object v0, p0, Landroidx/constraintlayout/widget/ConstraintLayout$Measurer;->layout:Landroidx/constraintlayout/widget/ConstraintLayout;
invoke-virtual {v0}, Landroidx/constraintlayout/widget/ConstraintLayout;->getChildCount()I
move-result v0
const/4 v1, 0x0
const/4 v2, 0x0
:goto_8
if-ge v2, v0, :cond_1e
.line 925
iget-object v3, p0, Landroidx/constraintlayout/widget/ConstraintLayout$Measurer;->layout:Landroidx/constraintlayout/widget/ConstraintLayout;
invoke-virtual {v3, v2}, Landroidx/constraintlayout/widget/ConstraintLayout;->getChildAt(I)Landroid/view/View;
move-result-object v3
.line 926
instance-of v4, v3, Landroidx/constraintlayout/widget/Placeholder;
if-eqz v4, :cond_1b
.line 927
check-cast v3, Landroidx/constraintlayout/widget/Placeholder;
iget-object v4, p0, Landroidx/constraintlayout/widget/ConstraintLayout$Measurer;->layout:Landroidx/constraintlayout/widget/ConstraintLayout;
invoke-virtual {v3, v4}, Landroidx/constraintlayout/widget/Placeholder;->updatePostMeasure(Landroidx/constraintlayout/widget/ConstraintLayout;)V
:cond_1b
add-int/lit8 v2, v2, 0x1
goto :goto_8
.line 931
:cond_1e
iget-object v0, p0, Landroidx/constraintlayout/widget/ConstraintLayout$Measurer;->layout:Landroidx/constraintlayout/widget/ConstraintLayout;
# getter for: Landroidx/constraintlayout/widget/ConstraintLayout;->mConstraintHelpers:Ljava/util/ArrayList;
invoke-static {v0}, Landroidx/constraintlayout/widget/ConstraintLayout;->access$100(Landroidx/constraintlayout/widget/ConstraintLayout;)Ljava/util/ArrayList;
move-result-object v0
invoke-virtual {v0}, Ljava/util/ArrayList;->size()I
move-result v0
if-lez v0, :cond_40
:goto_2a
if-ge v1, v0, :cond_40
.line 934
iget-object v2, p0, Landroidx/constraintlayout/widget/ConstraintLayout$Measurer;->layout:Landroidx/constraintlayout/widget/ConstraintLayout;
# getter for: Landroidx/constraintlayout/widget/ConstraintLayout;->mConstraintHelpers:Ljava/util/ArrayList;
invoke-static {v2}, Landroidx/constraintlayout/widget/ConstraintLayout;->access$100(Landroidx/constraintlayout/widget/ConstraintLayout;)Ljava/util/ArrayList;
move-result-object v2
invoke-virtual {v2, v1}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object;
move-result-object v2
check-cast v2, Landroidx/constraintlayout/widget/ConstraintHelper;
.line 935
iget-object v3, p0, Landroidx/constraintlayout/widget/ConstraintLayout$Measurer;->layout:Landroidx/constraintlayout/widget/ConstraintLayout;
invoke-virtual {v2, v3}, Landroidx/constraintlayout/widget/ConstraintHelper;->updatePostMeasure(Landroidx/constraintlayout/widget/ConstraintLayout;)V
add-int/lit8 v1, v1, 0x1
goto :goto_2a
:cond_40
return-void
.end method
.method public final measure(Landroidx/constraintlayout/core/widgets/ConstraintWidget;Landroidx/constraintlayout/core/widgets/analyzer/BasicMeasure$Measure;)V
.registers 20
move-object/from16 v0, p0
move-object/from16 v1, p1
move-object/from16 v2, p2
if-nez v1, :cond_9
return-void
.line 648
:cond_9
invoke-virtual/range {p1 .. p1}, Landroidx/constraintlayout/core/widgets/ConstraintWidget;->getVisibility()I
move-result v3
const/16 v4, 0x8
const/4 v5, 0x0
if-ne v3, v4, :cond_1f
invoke-virtual/range {p1 .. p1}, Landroidx/constraintlayout/core/widgets/ConstraintWidget;->isInPlaceholder()Z
move-result v3
if-nez v3, :cond_1f
.line 649
iput v5, v2, Landroidx/constraintlayout/core/widgets/analyzer/BasicMeasure$Measure;->measuredWidth:I
.line 650
iput v5, v2, Landroidx/constraintlayout/core/widgets/analyzer/BasicMeasure$Measure;->measuredHeight:I
.line 651
iput v5, v2, Landroidx/constraintlayout/core/widgets/analyzer/BasicMeasure$Measure;->measuredBaseline:I
return-void
.line 654
:cond_1f
invoke-virtual/range {p1 .. p1}, Landroidx/constraintlayout/core/widgets/ConstraintWidget;->getParent()Landroidx/constraintlayout/core/widgets/ConstraintWidget;
move-result-object v3
if-nez v3, :cond_26
return-void
.line 665
:cond_26
iget-object v3, v2, Landroidx/constraintlayout/core/widgets/analyzer/BasicMeasure$Measure;->horizontalBehavior:Landroidx/constraintlayout/core/widgets/ConstraintWidget$DimensionBehaviour;
.line 666
iget-object v4, v2, Landroidx/constraintlayout/core/widgets/analyzer/BasicMeasure$Measure;->verticalBehavior:Landroidx/constraintlayout/core/widgets/ConstraintWidget$DimensionBehaviour;
.line 668
iget v6, v2, Landroidx/constraintlayout/core/widgets/analyzer/BasicMeasure$Measure;->horizontalDimension:I
.line 669
iget v7, v2, Landroidx/constraintlayout/core/widgets/analyzer/BasicMeasure$Measure;->verticalDimension:I
.line 674
iget v8, v0, Landroidx/constraintlayout/widget/ConstraintLayout$Measurer;->paddingTop:I
iget v9, v0, Landroidx/constraintlayout/widget/ConstraintLayout$Measurer;->paddingBottom:I
add-int/2addr v8, v9
.line 675
iget v9, v0, Landroidx/constraintlayout/widget/ConstraintLayout$Measurer;->paddingWidth:I
.line 677
invoke-virtual/range {p1 .. p1}, Landroidx/constraintlayout/core/widgets/ConstraintWidget;->getCompanionWidget()Ljava/lang/Object;
move-result-object v10
check-cast v10, Landroid/view/View;
.line 679
sget-object v11, Landroidx/constraintlayout/widget/ConstraintLayout$1;->$SwitchMap$androidx$constraintlayout$core$widgets$ConstraintWidget$DimensionBehaviour:[I
invoke-virtual {v3}, Landroidx/constraintlayout/core/widgets/ConstraintWidget$DimensionBehaviour;->ordinal()I
move-result v12
aget v11, v11, v12
const/4 v12, 0x4
const/4 v13, 0x3
const/4 v14, 0x2
const/4 v5, -0x2
const/4 v15, 0x1
if-eq v11, v15, :cond_b4
if-eq v11, v14, :cond_ad
if-eq v11, v13, :cond_a0
if-eq v11, v12, :cond_53
const/4 v6, 0x0
goto/16 :goto_ba
.line 695
:cond_53
iget v6, v0, Landroidx/constraintlayout/widget/ConstraintLayout$Measurer;->layoutWidthSpec:I
invoke-static {v6, v9, v5}, Landroid/view/ViewGroup;->getChildMeasureSpec(III)I
move-result v6
.line 696
iget v9, v1, Landroidx/constraintlayout/core/widgets/ConstraintWidget;->mMatchConstraintDefaultWidth:I
if-ne v9, v15, :cond_5f
const/4 v9, 0x1
goto :goto_60
:cond_5f
const/4 v9, 0x0
.line 697
:goto_60
iget v11, v2, Landroidx/constraintlayout/core/widgets/analyzer/BasicMeasure$Measure;->measureStrategy:I
sget v12, Landroidx/constraintlayout/core/widgets/analyzer/BasicMeasure$Measure;->TRY_GIVEN_DIMENSIONS:I
if-eq v11, v12, :cond_6c
iget v11, v2, Landroidx/constraintlayout/core/widgets/analyzer/BasicMeasure$Measure;->measureStrategy:I
sget v12, Landroidx/constraintlayout/core/widgets/analyzer/BasicMeasure$Measure;->USE_GIVEN_DIMENSIONS:I
if-ne v11, v12, :cond_ba
.line 703
:cond_6c
invoke-virtual {v10}, Landroid/view/View;->getMeasuredHeight()I
move-result v11
invoke-virtual/range {p1 .. p1}, Landroidx/constraintlayout/core/widgets/ConstraintWidget;->getHeight()I
move-result v12
if-ne v11, v12, :cond_78
const/4 v11, 0x1
goto :goto_79
:cond_78
const/4 v11, 0x0
.line 704
:goto_79
iget v12, v2, Landroidx/constraintlayout/core/widgets/analyzer/BasicMeasure$Measure;->measureStrategy:I
sget v13, Landroidx/constraintlayout/core/widgets/analyzer/BasicMeasure$Measure;->USE_GIVEN_DIMENSIONS:I
if-eq v12, v13, :cond_92
if-eqz v9, :cond_92
if-eqz v9, :cond_85
if-nez v11, :cond_92
:cond_85
instance-of v9, v10, Landroidx/constraintlayout/widget/Placeholder;
if-nez v9, :cond_92
.line 708
invoke-virtual/range {p1 .. p1}, Landroidx/constraintlayout/core/widgets/ConstraintWidget;->isResolvedHorizontally()Z
move-result v9
if-eqz v9, :cond_90
goto :goto_92
:cond_90
const/4 v9, 0x0
goto :goto_93
:cond_92
:goto_92
const/4 v9, 0x1
:goto_93
if-eqz v9, :cond_ba
.line 710
invoke-virtual/range {p1 .. p1}, Landroidx/constraintlayout/core/widgets/ConstraintWidget;->getWidth()I
move-result v6
const/high16 v9, 0x40000000 # 2.0f
invoke-static {v6, v9}, Landroid/view/View$MeasureSpec;->makeMeasureSpec(II)I
move-result v6
goto :goto_ba
.line 690
:cond_a0
iget v6, v0, Landroidx/constraintlayout/widget/ConstraintLayout$Measurer;->layoutWidthSpec:I
.line 691
invoke-virtual/range {p1 .. p1}, Landroidx/constraintlayout/core/widgets/ConstraintWidget;->getHorizontalMargin()I
move-result v11
add-int/2addr v9, v11
const/4 v11, -0x1
.line 690
invoke-static {v6, v9, v11}, Landroid/view/ViewGroup;->getChildMeasureSpec(III)I
move-result v6
goto :goto_ba
.line 685
:cond_ad
iget v6, v0, Landroidx/constraintlayout/widget/ConstraintLayout$Measurer;->layoutWidthSpec:I
invoke-static {v6, v9, v5}, Landroid/view/ViewGroup;->getChildMeasureSpec(III)I
move-result v6
goto :goto_ba
:cond_b4
const/high16 v9, 0x40000000 # 2.0f
.line 681
invoke-static {v6, v9}, Landroid/view/View$MeasureSpec;->makeMeasureSpec(II)I
move-result v6
.line 717
:cond_ba
:goto_ba
sget-object v9, Landroidx/constraintlayout/widget/ConstraintLayout$1;->$SwitchMap$androidx$constraintlayout$core$widgets$ConstraintWidget$DimensionBehaviour:[I
invoke-virtual {v4}, Landroidx/constraintlayout/core/widgets/ConstraintWidget$DimensionBehaviour;->ordinal()I
move-result v11
aget v9, v9, v11
if-eq v9, v15, :cond_130
if-eq v9, v14, :cond_129
const/4 v7, 0x3
if-eq v9, v7, :cond_11c
const/4 v7, 0x4
if-eq v9, v7, :cond_cf
const/4 v5, 0x0
goto/16 :goto_137
.line 734
:cond_cf
iget v7, v0, Landroidx/constraintlayout/widget/ConstraintLayout$Measurer;->layoutHeightSpec:I
invoke-static {v7, v8, v5}, Landroid/view/ViewGroup;->getChildMeasureSpec(III)I
move-result v5
.line 736
iget v7, v1, Landroidx/constraintlayout/core/widgets/ConstraintWidget;->mMatchConstraintDefaultHeight:I
if-ne v7, v15, :cond_db
const/4 v7, 0x1
goto :goto_dc
:cond_db
const/4 v7, 0x0
.line 737
:goto_dc
iget v8, v2, Landroidx/constraintlayout/core/widgets/analyzer/BasicMeasure$Measure;->measureStrategy:I
sget v9, Landroidx/constraintlayout/core/widgets/analyzer/BasicMeasure$Measure;->TRY_GIVEN_DIMENSIONS:I
if-eq v8, v9, :cond_e8
iget v8, v2, Landroidx/constraintlayout/core/widgets/analyzer/BasicMeasure$Measure;->measureStrategy:I
sget v9, Landroidx/constraintlayout/core/widgets/analyzer/BasicMeasure$Measure;->USE_GIVEN_DIMENSIONS:I
if-ne v8, v9, :cond_137
.line 743
:cond_e8
invoke-virtual {v10}, Landroid/view/View;->getMeasuredWidth()I
move-result v8
invoke-virtual/range {p1 .. p1}, Landroidx/constraintlayout/core/widgets/ConstraintWidget;->getWidth()I
move-result v9
if-ne v8, v9, :cond_f4
const/4 v8, 0x1
goto :goto_f5
:cond_f4
const/4 v8, 0x0
.line 744
:goto_f5
iget v9, v2, Landroidx/constraintlayout/core/widgets/analyzer/BasicMeasure$Measure;->measureStrategy:I
sget v11, Landroidx/constraintlayout/core/widgets/analyzer/BasicMeasure$Measure;->USE_GIVEN_DIMENSIONS:I
if-eq v9, v11, :cond_10e
if-eqz v7, :cond_10e
if-eqz v7, :cond_101
if-nez v8, :cond_10e
:cond_101
instance-of v7, v10, Landroidx/constraintlayout/widget/Placeholder;
if-nez v7, :cond_10e
.line 748
invoke-virtual/range {p1 .. p1}, Landroidx/constraintlayout/core/widgets/ConstraintWidget;->isResolvedVertically()Z
move-result v7
if-eqz v7, :cond_10c
goto :goto_10e
:cond_10c
const/4 v7, 0x0
goto :goto_10f
:cond_10e
:goto_10e
const/4 v7, 0x1
:goto_10f
if-eqz v7, :cond_137
.line 750
invoke-virtual/range {p1 .. p1}, Landroidx/constraintlayout/core/widgets/ConstraintWidget;->getHeight()I
move-result v5
const/high16 v7, 0x40000000 # 2.0f
invoke-static {v5, v7}, Landroid/view/View$MeasureSpec;->makeMeasureSpec(II)I
move-result v5
goto :goto_137
.line 729
:cond_11c
iget v5, v0, Landroidx/constraintlayout/widget/ConstraintLayout$Measurer;->layoutHeightSpec:I
.line 730
invoke-virtual/range {p1 .. p1}, Landroidx/constraintlayout/core/widgets/ConstraintWidget;->getVerticalMargin()I
move-result v7
add-int/2addr v8, v7
const/4 v7, -0x1
.line 729
invoke-static {v5, v8, v7}, Landroid/view/ViewGroup;->getChildMeasureSpec(III)I
move-result v5
goto :goto_137
.line 723
:cond_129
iget v7, v0, Landroidx/constraintlayout/widget/ConstraintLayout$Measurer;->layoutHeightSpec:I
invoke-static {v7, v8, v5}, Landroid/view/ViewGroup;->getChildMeasureSpec(III)I
move-result v5
goto :goto_137
:cond_130
const/high16 v5, 0x40000000 # 2.0f
.line 719
invoke-static {v7, v5}, Landroid/view/View$MeasureSpec;->makeMeasureSpec(II)I
move-result v7
move v5, v7
.line 757
:cond_137
:goto_137
invoke-virtual/range {p1 .. p1}, Landroidx/constraintlayout/core/widgets/ConstraintWidget;->getParent()Landroidx/constraintlayout/core/widgets/ConstraintWidget;
move-result-object v7
check-cast v7, Landroidx/constraintlayout/core/widgets/ConstraintWidgetContainer;
if-eqz v7, :cond_1b9
.line 758
iget-object v8, v0, Landroidx/constraintlayout/widget/ConstraintLayout$Measurer;->this$0:Landroidx/constraintlayout/widget/ConstraintLayout;
# getter for: Landroidx/constraintlayout/widget/ConstraintLayout;->mOptimizationLevel:I
invoke-static {v8}, Landroidx/constraintlayout/widget/ConstraintLayout;->access$000(Landroidx/constraintlayout/widget/ConstraintLayout;)I
move-result v8
const/16 v9, 0x100
invoke-static {v8, v9}, Landroidx/constraintlayout/core/widgets/Optimizer;->enabled(II)Z
move-result v8
if-eqz v8, :cond_1b9
.line 759
invoke-virtual {v10}, Landroid/view/View;->getMeasuredWidth()I
move-result v8
invoke-virtual/range {p1 .. p1}, Landroidx/constraintlayout/core/widgets/ConstraintWidget;->getWidth()I
move-result v9
if-ne v8, v9, :cond_1b9
.line 762
invoke-virtual {v10}, Landroid/view/View;->getMeasuredWidth()I
move-result v8
invoke-virtual {v7}, Landroidx/constraintlayout/core/widgets/ConstraintWidgetContainer;->getWidth()I
move-result v9
if-ge v8, v9, :cond_1b9
.line 763
invoke-virtual {v10}, Landroid/view/View;->getMeasuredHeight()I
move-result v8
invoke-virtual/range {p1 .. p1}, Landroidx/constraintlayout/core/widgets/ConstraintWidget;->getHeight()I
move-result v9
if-ne v8, v9, :cond_1b9
.line 764
invoke-virtual {v10}, Landroid/view/View;->getMeasuredHeight()I
move-result v8
invoke-virtual {v7}, Landroidx/constraintlayout/core/widgets/ConstraintWidgetContainer;->getHeight()I
move-result v7
if-ge v8, v7, :cond_1b9
.line 765
invoke-virtual {v10}, Landroid/view/View;->getBaseline()I
move-result v7
invoke-virtual/range {p1 .. p1}, Landroidx/constraintlayout/core/widgets/ConstraintWidget;->getBaselineDistance()I
move-result v8
if-ne v7, v8, :cond_1b9
.line 766
invoke-virtual/range {p1 .. p1}, Landroidx/constraintlayout/core/widgets/ConstraintWidget;->isMeasureRequested()Z
move-result v7
if-nez v7, :cond_1b9
.line 768
invoke-virtual/range {p1 .. p1}, Landroidx/constraintlayout/core/widgets/ConstraintWidget;->getLastHorizontalMeasureSpec()I
move-result v7
invoke-virtual/range {p1 .. p1}, Landroidx/constraintlayout/core/widgets/ConstraintWidget;->getWidth()I
move-result v8
invoke-direct {v0, v7, v6, v8}, Landroidx/constraintlayout/widget/ConstraintLayout$Measurer;->isSimilarSpec(III)Z
move-result v7
if-eqz v7, :cond_1a3
.line 769
invoke-virtual/range {p1 .. p1}, Landroidx/constraintlayout/core/widgets/ConstraintWidget;->getLastVerticalMeasureSpec()I
move-result v7
invoke-virtual/range {p1 .. p1}, Landroidx/constraintlayout/core/widgets/ConstraintWidget;->getHeight()I
move-result v8
invoke-direct {v0, v7, v5, v8}, Landroidx/constraintlayout/widget/ConstraintLayout$Measurer;->isSimilarSpec(III)Z
move-result v7
if-eqz v7, :cond_1a3
const/4 v7, 0x1
goto :goto_1a4
:cond_1a3
const/4 v7, 0x0
:goto_1a4
if-eqz v7, :cond_1b9
.line 771
invoke-virtual/range {p1 .. p1}, Landroidx/constraintlayout/core/widgets/ConstraintWidget;->getWidth()I
move-result v3
iput v3, v2, Landroidx/constraintlayout/core/widgets/analyzer/BasicMeasure$Measure;->measuredWidth:I
.line 772
invoke-virtual/range {p1 .. p1}, Landroidx/constraintlayout/core/widgets/ConstraintWidget;->getHeight()I
move-result v3
iput v3, v2, Landroidx/constraintlayout/core/widgets/analyzer/BasicMeasure$Measure;->measuredHeight:I
.line 773
invoke-virtual/range {p1 .. p1}, Landroidx/constraintlayout/core/widgets/ConstraintWidget;->getBaselineDistance()I
move-result v1
iput v1, v2, Landroidx/constraintlayout/core/widgets/analyzer/BasicMeasure$Measure;->measuredBaseline:I
return-void
.line 783
:cond_1b9
sget-object v7, Landroidx/constraintlayout/core/widgets/ConstraintWidget$DimensionBehaviour;->MATCH_CONSTRAINT:Landroidx/constraintlayout/core/widgets/ConstraintWidget$DimensionBehaviour;
if-ne v3, v7, :cond_1bf
const/4 v7, 0x1
goto :goto_1c0
:cond_1bf
const/4 v7, 0x0
.line 784
:goto_1c0
sget-object v8, Landroidx/constraintlayout/core/widgets/ConstraintWidget$DimensionBehaviour;->MATCH_CONSTRAINT:Landroidx/constraintlayout/core/widgets/ConstraintWidget$DimensionBehaviour;
if-ne v4, v8, :cond_1c6
const/4 v8, 0x1
goto :goto_1c7
:cond_1c6
const/4 v8, 0x0
.line 786
:goto_1c7
sget-object v9, Landroidx/constraintlayout/core/widgets/ConstraintWidget$DimensionBehaviour;->MATCH_PARENT:Landroidx/constraintlayout/core/widgets/ConstraintWidget$DimensionBehaviour;
if-eq v4, v9, :cond_1d2
sget-object v9, Landroidx/constraintlayout/core/widgets/ConstraintWidget$DimensionBehaviour;->FIXED:Landroidx/constraintlayout/core/widgets/ConstraintWidget$DimensionBehaviour;
if-ne v4, v9, :cond_1d0
goto :goto_1d2
:cond_1d0
const/4 v4, 0x0
goto :goto_1d3
:cond_1d2
:goto_1d2
const/4 v4, 0x1
.line 788
:goto_1d3
sget-object v9, Landroidx/constraintlayout/core/widgets/ConstraintWidget$DimensionBehaviour;->MATCH_PARENT:Landroidx/constraintlayout/core/widgets/ConstraintWidget$DimensionBehaviour;
if-eq v3, v9, :cond_1de
sget-object v9, Landroidx/constraintlayout/core/widgets/ConstraintWidget$DimensionBehaviour;->FIXED:Landroidx/constraintlayout/core/widgets/ConstraintWidget$DimensionBehaviour;
if-ne v3, v9, :cond_1dc
goto :goto_1de
:cond_1dc
const/4 v3, 0x0
goto :goto_1df
:cond_1de
:goto_1de
const/4 v3, 0x1
:goto_1df
const/4 v9, 0x0
if-eqz v7, :cond_1ea
.line 790
iget v11, v1, Landroidx/constraintlayout/core/widgets/ConstraintWidget;->mDimensionRatio:F
cmpl-float v11, v11, v9
if-lez v11, :cond_1ea
const/4 v11, 0x1
goto :goto_1eb
:cond_1ea
const/4 v11, 0x0
:goto_1eb
if-eqz v8, :cond_1f5
.line 791
iget v12, v1, Landroidx/constraintlayout/core/widgets/ConstraintWidget;->mDimensionRatio:F
cmpl-float v9, v12, v9
if-lez v9, :cond_1f5
const/4 v9, 0x1
goto :goto_1f6
:cond_1f5
const/4 v9, 0x0
:goto_1f6
if-nez v10, :cond_1f9
return-void
.line 796
:cond_1f9
invoke-virtual {v10}, Landroid/view/View;->getLayoutParams()Landroid/view/ViewGroup$LayoutParams;
move-result-object v12
check-cast v12, Landroidx/constraintlayout/widget/ConstraintLayout$LayoutParams;
.line 802
iget v13, v2, Landroidx/constraintlayout/core/widgets/analyzer/BasicMeasure$Measure;->measureStrategy:I
sget v14, Landroidx/constraintlayout/core/widgets/analyzer/BasicMeasure$Measure;->TRY_GIVEN_DIMENSIONS:I
if-eq v13, v14, :cond_21e
iget v13, v2, Landroidx/constraintlayout/core/widgets/analyzer/BasicMeasure$Measure;->measureStrategy:I
sget v14, Landroidx/constraintlayout/core/widgets/analyzer/BasicMeasure$Measure;->USE_GIVEN_DIMENSIONS:I
if-eq v13, v14, :cond_21e
if-eqz v7, :cond_21e
iget v7, v1, Landroidx/constraintlayout/core/widgets/ConstraintWidget;->mMatchConstraintDefaultWidth:I
if-nez v7, :cond_21e
if-eqz v8, :cond_21e
iget v7, v1, Landroidx/constraintlayout/core/widgets/ConstraintWidget;->mMatchConstraintDefaultHeight:I
if-eqz v7, :cond_218
goto :goto_21e
:cond_218
const/4 v0, -0x1
const/4 v13, 0x0
const/4 v14, 0x0
const/4 v15, 0x0
goto/16 :goto_2c2
.line 807
:cond_21e
:goto_21e
instance-of v7, v10, Landroidx/constraintlayout/widget/VirtualLayout;
if-eqz v7, :cond_230
instance-of v7, v1, Landroidx/constraintlayout/core/widgets/VirtualLayout;
if-eqz v7, :cond_230
.line 808
move-object v7, v1
check-cast v7, Landroidx/constraintlayout/core/widgets/VirtualLayout;
.line 809
move-object v8, v10
check-cast v8, Landroidx/constraintlayout/widget/VirtualLayout;
invoke-virtual {v8, v7, v6, v5}, Landroidx/constraintlayout/widget/VirtualLayout;->onMeasure(Landroidx/constraintlayout/core/widgets/VirtualLayout;II)V
goto :goto_233
.line 811
:cond_230
invoke-virtual {v10, v6, v5}, Landroid/view/View;->measure(II)V
.line 813
:goto_233
invoke-virtual {v1, v6, v5}, Landroidx/constraintlayout/core/widgets/ConstraintWidget;->setLastMeasureSpec(II)V
.line 815
invoke-virtual {v10}, Landroid/view/View;->getMeasuredWidth()I
move-result v7
.line 816
invoke-virtual {v10}, Landroid/view/View;->getMeasuredHeight()I
move-result v8
.line 817
invoke-virtual {v10}, Landroid/view/View;->getBaseline()I
move-result v13
.line 827
iget v14, v1, Landroidx/constraintlayout/core/widgets/ConstraintWidget;->mMatchConstraintMinWidth:I
if-lez v14, :cond_24d
.line 828
iget v14, v1, Landroidx/constraintlayout/core/widgets/ConstraintWidget;->mMatchConstraintMinWidth:I
invoke-static {v14, v7}, Ljava/lang/Math;->max(II)I
move-result v14
goto :goto_24e
:cond_24d
move v14, v7
.line 830
:goto_24e
iget v15, v1, Landroidx/constraintlayout/core/widgets/ConstraintWidget;->mMatchConstraintMaxWidth:I
if-lez v15, :cond_258
.line 831
iget v15, v1, Landroidx/constraintlayout/core/widgets/ConstraintWidget;->mMatchConstraintMaxWidth:I
invoke-static {v15, v14}, Ljava/lang/Math;->min(II)I
move-result v14
.line 833
:cond_258
iget v15, v1, Landroidx/constraintlayout/core/widgets/ConstraintWidget;->mMatchConstraintMinHeight:I
if-lez v15, :cond_265
.line 834
iget v15, v1, Landroidx/constraintlayout/core/widgets/ConstraintWidget;->mMatchConstraintMinHeight:I
invoke-static {v15, v8}, Ljava/lang/Math;->max(II)I
move-result v15
move/from16 v16, v5
goto :goto_268
:cond_265
move/from16 v16, v5
move v15, v8
.line 836
:goto_268
iget v5, v1, Landroidx/constraintlayout/core/widgets/ConstraintWidget;->mMatchConstraintMaxHeight:I
if-lez v5, :cond_272
.line 837
iget v5, v1, Landroidx/constraintlayout/core/widgets/ConstraintWidget;->mMatchConstraintMaxHeight:I
invoke-static {v5, v15}, Ljava/lang/Math;->min(II)I
move-result v15
.line 840
:cond_272
iget-object v5, v0, Landroidx/constraintlayout/widget/ConstraintLayout$Measurer;->this$0:Landroidx/constraintlayout/widget/ConstraintLayout;
# getter for: Landroidx/constraintlayout/widget/ConstraintLayout;->mOptimizationLevel:I
invoke-static {v5}, Landroidx/constraintlayout/widget/ConstraintLayout;->access$000(Landroidx/constraintlayout/widget/ConstraintLayout;)I
move-result v5
const/4 v0, 0x1
invoke-static {v5, v0}, Landroidx/constraintlayout/core/widgets/Optimizer;->enabled(II)Z
move-result v5
if-nez v5, :cond_297
const/high16 v0, 0x3f000000 # 0.5f
if-eqz v11, :cond_28d
if-eqz v4, :cond_28d
.line 843
iget v3, v1, Landroidx/constraintlayout/core/widgets/ConstraintWidget;->mDimensionRatio:F
int-to-float v4, v15
mul-float v4, v4, v3
add-float/2addr v4, v0
float-to-int v14, v4
goto :goto_297
:cond_28d
if-eqz v9, :cond_297
if-eqz v3, :cond_297
.line 846
iget v3, v1, Landroidx/constraintlayout/core/widgets/ConstraintWidget;->mDimensionRatio:F
int-to-float v4, v14
div-float/2addr v4, v3
add-float/2addr v4, v0
float-to-int v15, v4
:cond_297
:goto_297
if-ne v7, v14, :cond_29e
if-eq v8, v15, :cond_29c
goto :goto_29e
:cond_29c
:goto_29c
const/4 v0, -0x1
goto :goto_2c2
:cond_29e
:goto_29e
const/high16 v0, 0x40000000 # 2.0f
if-eq v7, v14, :cond_2a6
.line 853
invoke-static {v14, v0}, Landroid/view/View$MeasureSpec;->makeMeasureSpec(II)I
move-result v6
:cond_2a6
if-eq v8, v15, :cond_2ad
.line 856
invoke-static {v15, v0}, Landroid/view/View$MeasureSpec;->makeMeasureSpec(II)I
move-result v5
goto :goto_2af
:cond_2ad
move/from16 v5, v16
.line 858
:goto_2af
invoke-virtual {v10, v6, v5}, Landroid/view/View;->measure(II)V
.line 860
invoke-virtual {v1, v6, v5}, Landroidx/constraintlayout/core/widgets/ConstraintWidget;->setLastMeasureSpec(II)V
.line 861
invoke-virtual {v10}, Landroid/view/View;->getMeasuredWidth()I
move-result v14
.line 862
invoke-virtual {v10}, Landroid/view/View;->getMeasuredHeight()I
move-result v15
.line 863
invoke-virtual {v10}, Landroid/view/View;->getBaseline()I
move-result v13
goto :goto_29c
:goto_2c2
if-eq v13, v0, :cond_2c6
const/4 v0, 0x1
goto :goto_2c7
:cond_2c6
const/4 v0, 0x0
.line 874
:goto_2c7
iget v3, v2, Landroidx/constraintlayout/core/widgets/analyzer/BasicMeasure$Measure;->horizontalDimension:I
if-ne v14, v3, :cond_2d2
iget v3, v2, Landroidx/constraintlayout/core/widgets/analyzer/BasicMeasure$Measure;->verticalDimension:I
if-eq v15, v3, :cond_2d0
goto :goto_2d2
:cond_2d0
const/4 v5, 0x0
goto :goto_2d3
:cond_2d2
:goto_2d2
const/4 v5, 0x1
:goto_2d3
iput-boolean v5, v2, Landroidx/constraintlayout/core/widgets/analyzer/BasicMeasure$Measure;->measuredNeedsSolverPass:Z
.line 876
iget-boolean v3, v12, Landroidx/constraintlayout/widget/ConstraintLayout$LayoutParams;->needsBaseline:Z
if-eqz v3, :cond_2da
const/4 v0, 0x1
:cond_2da
if-eqz v0, :cond_2e8
const/4 v3, -0x1
if-eq v13, v3, :cond_2e8
.line 879
invoke-virtual/range {p1 .. p1}, Landroidx/constraintlayout/core/widgets/ConstraintWidget;->getBaselineDistance()I
move-result v1
if-eq v1, v13, :cond_2e8
const/4 v1, 0x1
.line 880
iput-boolean v1, v2, Landroidx/constraintlayout/core/widgets/analyzer/BasicMeasure$Measure;->measuredNeedsSolverPass:Z
.line 882
:cond_2e8
iput v14, v2, Landroidx/constraintlayout/core/widgets/analyzer/BasicMeasure$Measure;->measuredWidth:I
.line 883
iput v15, v2, Landroidx/constraintlayout/core/widgets/analyzer/BasicMeasure$Measure;->measuredHeight:I
.line 884
iput-boolean v0, v2, Landroidx/constraintlayout/core/widgets/analyzer/BasicMeasure$Measure;->measuredHasBaseline:Z
.line 885
iput v13, v2, Landroidx/constraintlayout/core/widgets/analyzer/BasicMeasure$Measure;->measuredBaseline:I
return-void
.end method