Files
ctf/2024/insomnihack/mobile/Notes/smali/androidx/constraintlayout/widget/ConstraintLayout$Measurer.smali
2025-06-06 03:13:31 +02:00

1269 lines
31 KiB
Smali

.class Landroidx/constraintlayout/widget/ConstraintLayout$Measurer;
.super Ljava/lang/Object;
.source "ConstraintLayout.java"
# 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
.locals 0
.annotation system Ldalvik/annotation/MethodParameters;
accessFlags = {
0x8010,
0x0
}
names = {
"this$0",
"l"
}
.end annotation
.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
.locals 3
.annotation system Ldalvik/annotation/MethodParameters;
accessFlags = {
0x0,
0x0,
0x0
}
names = {
"lastMeasureSpec",
"spec",
"widgetSize"
}
.end annotation
const/4 v0, 0x1
if-ne p1, p2, :cond_0
return v0
.line 909
:cond_0
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_2
const/high16 p1, -0x80000000
if-eq v1, p1, :cond_1
if-nez v1, :cond_2
:cond_1
if-ne p3, p2, :cond_2
return v0
:cond_2
const/4 p1, 0x0
return p1
.end method
# virtual methods
.method public captureLayoutInfo(IIIIII)V
.locals 0
.annotation system Ldalvik/annotation/MethodParameters;
accessFlags = {
0x0,
0x0,
0x0,
0x0,
0x0,
0x0
}
names = {
"widthSpec",
"heightSpec",
"top",
"bottom",
"width",
"height"
}
.end annotation
.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
.locals 5
.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
move v2, v1
:goto_0
if-ge v2, v0, :cond_1
.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_0
.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_0
add-int/lit8 v2, v2, 0x1
goto :goto_0
.line 931
:cond_1
iget-object v0, p0, Landroidx/constraintlayout/widget/ConstraintLayout$Measurer;->layout:Landroidx/constraintlayout/widget/ConstraintLayout;
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_2
:goto_1
if-ge v1, v0, :cond_2
.line 934
iget-object v2, p0, Landroidx/constraintlayout/widget/ConstraintLayout$Measurer;->layout:Landroidx/constraintlayout/widget/ConstraintLayout;
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_1
:cond_2
return-void
.end method
.method public final measure(Landroidx/constraintlayout/core/widgets/ConstraintWidget;Landroidx/constraintlayout/core/widgets/analyzer/BasicMeasure$Measure;)V
.locals 17
.annotation system Ldalvik/annotation/MethodParameters;
accessFlags = {
0x0,
0x0
}
names = {
"widget",
"measure"
}
.end annotation
move-object/from16 v0, p0
move-object/from16 v1, p1
move-object/from16 v2, p2
if-nez v1, :cond_0
return-void
.line 648
:cond_0
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_1
invoke-virtual/range {p1 .. p1}, Landroidx/constraintlayout/core/widgets/ConstraintWidget;->isInPlaceholder()Z
move-result v3
if-nez v3, :cond_1
.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_1
invoke-virtual/range {p1 .. p1}, Landroidx/constraintlayout/core/widgets/ConstraintWidget;->getParent()Landroidx/constraintlayout/core/widgets/ConstraintWidget;
move-result-object v3
if-nez v3, :cond_2
return-void
.line 665
:cond_2
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_b
if-eq v11, v14, :cond_a
if-eq v11, v13, :cond_9
if-eq v11, v12, :cond_3
const/4 v6, 0x0
goto/16 :goto_2
.line 695
:cond_3
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_4
move v9, v15
goto :goto_0
:cond_4
const/4 v9, 0x0
.line 697
:goto_0
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_5
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_c
.line 703
:cond_5
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_6
move v11, v15
goto :goto_1
:cond_6
const/4 v11, 0x0
.line 704
:goto_1
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_8
if-eqz v9, :cond_8
if-eqz v9, :cond_7
if-nez v11, :cond_8
:cond_7
instance-of v9, v10, Landroidx/constraintlayout/widget/Placeholder;
if-nez v9, :cond_8
.line 708
invoke-virtual/range {p1 .. p1}, Landroidx/constraintlayout/core/widgets/ConstraintWidget;->isResolvedHorizontally()Z
move-result v9
if-eqz v9, :cond_c
.line 710
:cond_8
invoke-virtual/range {p1 .. p1}, Landroidx/constraintlayout/core/widgets/ConstraintWidget;->getWidth()I
move-result v6
const/high16 v11, 0x40000000 # 2.0f
invoke-static {v6, v11}, Landroid/view/View$MeasureSpec;->makeMeasureSpec(II)I
move-result v6
goto :goto_2
:cond_9
const/high16 v11, 0x40000000 # 2.0f
.line 690
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 v12
add-int/2addr v9, v12
const/4 v12, -0x1
.line 690
invoke-static {v6, v9, v12}, Landroid/view/ViewGroup;->getChildMeasureSpec(III)I
move-result v6
goto :goto_2
:cond_a
const/high16 v11, 0x40000000 # 2.0f
.line 685
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_2
:cond_b
const/high16 v11, 0x40000000 # 2.0f
.line 681
invoke-static {v6, v11}, Landroid/view/View$MeasureSpec;->makeMeasureSpec(II)I
move-result v6
.line 717
:cond_c
:goto_2
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_15
if-eq v9, v14, :cond_14
const/4 v7, 0x3
if-eq v9, v7, :cond_13
const/4 v7, 0x4
if-eq v9, v7, :cond_d
const/4 v5, 0x0
goto/16 :goto_5
.line 734
:cond_d
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_e
move v7, v15
goto :goto_3
:cond_e
const/4 v7, 0x0
.line 737
:goto_3
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_f
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_16
.line 743
:cond_f
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_10
move v8, v15
goto :goto_4
:cond_10
const/4 v8, 0x0
.line 744
:goto_4
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_12
if-eqz v7, :cond_12
if-eqz v7, :cond_11
if-nez v8, :cond_12
:cond_11
instance-of v7, v10, Landroidx/constraintlayout/widget/Placeholder;
if-nez v7, :cond_12
.line 748
invoke-virtual/range {p1 .. p1}, Landroidx/constraintlayout/core/widgets/ConstraintWidget;->isResolvedVertically()Z
move-result v7
if-eqz v7, :cond_16
.line 750
:cond_12
invoke-virtual/range {p1 .. p1}, Landroidx/constraintlayout/core/widgets/ConstraintWidget;->getHeight()I
move-result v5
const/high16 v9, 0x40000000 # 2.0f
invoke-static {v5, v9}, Landroid/view/View$MeasureSpec;->makeMeasureSpec(II)I
move-result v5
goto :goto_5
:cond_13
const/high16 v9, 0x40000000 # 2.0f
.line 729
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_5
:cond_14
const/high16 v9, 0x40000000 # 2.0f
.line 723
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_5
:cond_15
const/high16 v9, 0x40000000 # 2.0f
.line 719
invoke-static {v7, v9}, Landroid/view/View$MeasureSpec;->makeMeasureSpec(II)I
move-result v5
.line 757
:cond_16
:goto_5
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_17
.line 758
iget-object v8, v0, Landroidx/constraintlayout/widget/ConstraintLayout$Measurer;->this$0:Landroidx/constraintlayout/widget/ConstraintLayout;
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_17
.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_17
.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_17
.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_17
.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_17
.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_17
.line 766
invoke-virtual/range {p1 .. p1}, Landroidx/constraintlayout/core/widgets/ConstraintWidget;->isMeasureRequested()Z
move-result v7
if-nez v7, :cond_17
.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_17
.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_17
.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_17
sget-object v7, Landroidx/constraintlayout/core/widgets/ConstraintWidget$DimensionBehaviour;->MATCH_CONSTRAINT:Landroidx/constraintlayout/core/widgets/ConstraintWidget$DimensionBehaviour;
if-ne v3, v7, :cond_18
move v7, v15
goto :goto_6
:cond_18
const/4 v7, 0x0
.line 784
:goto_6
sget-object v8, Landroidx/constraintlayout/core/widgets/ConstraintWidget$DimensionBehaviour;->MATCH_CONSTRAINT:Landroidx/constraintlayout/core/widgets/ConstraintWidget$DimensionBehaviour;
if-ne v4, v8, :cond_19
move v8, v15
goto :goto_7
:cond_19
const/4 v8, 0x0
.line 786
:goto_7
sget-object v9, Landroidx/constraintlayout/core/widgets/ConstraintWidget$DimensionBehaviour;->MATCH_PARENT:Landroidx/constraintlayout/core/widgets/ConstraintWidget$DimensionBehaviour;
if-eq v4, v9, :cond_1b
sget-object v9, Landroidx/constraintlayout/core/widgets/ConstraintWidget$DimensionBehaviour;->FIXED:Landroidx/constraintlayout/core/widgets/ConstraintWidget$DimensionBehaviour;
if-ne v4, v9, :cond_1a
goto :goto_8
:cond_1a
const/4 v4, 0x0
goto :goto_9
:cond_1b
:goto_8
move v4, v15
.line 788
:goto_9
sget-object v9, Landroidx/constraintlayout/core/widgets/ConstraintWidget$DimensionBehaviour;->MATCH_PARENT:Landroidx/constraintlayout/core/widgets/ConstraintWidget$DimensionBehaviour;
if-eq v3, v9, :cond_1d
sget-object v9, Landroidx/constraintlayout/core/widgets/ConstraintWidget$DimensionBehaviour;->FIXED:Landroidx/constraintlayout/core/widgets/ConstraintWidget$DimensionBehaviour;
if-ne v3, v9, :cond_1c
goto :goto_a
:cond_1c
const/4 v3, 0x0
goto :goto_b
:cond_1d
:goto_a
move v3, v15
:goto_b
const/4 v9, 0x0
if-eqz v7, :cond_1e
.line 790
iget v11, v1, Landroidx/constraintlayout/core/widgets/ConstraintWidget;->mDimensionRatio:F
cmpl-float v11, v11, v9
if-lez v11, :cond_1e
move v11, v15
goto :goto_c
:cond_1e
const/4 v11, 0x0
:goto_c
if-eqz v8, :cond_1f
.line 791
iget v12, v1, Landroidx/constraintlayout/core/widgets/ConstraintWidget;->mDimensionRatio:F
cmpl-float v9, v12, v9
if-lez v9, :cond_1f
move v9, v15
goto :goto_d
:cond_1f
const/4 v9, 0x0
:goto_d
if-nez v10, :cond_20
return-void
.line 796
:cond_20
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_22
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_22
if-eqz v7, :cond_22
iget v7, v1, Landroidx/constraintlayout/core/widgets/ConstraintWidget;->mMatchConstraintDefaultWidth:I
if-nez v7, :cond_22
if-eqz v8, :cond_22
iget v7, v1, Landroidx/constraintlayout/core/widgets/ConstraintWidget;->mMatchConstraintDefaultHeight:I
if-eqz v7, :cond_21
goto :goto_e
:cond_21
const/4 v0, -0x1
const/4 v13, 0x0
const/4 v14, 0x0
const/4 v15, 0x0
goto/16 :goto_16
.line 807
:cond_22
:goto_e
instance-of v7, v10, Landroidx/constraintlayout/widget/VirtualLayout;
if-eqz v7, :cond_23
instance-of v7, v1, Landroidx/constraintlayout/core/widgets/VirtualLayout;
if-eqz v7, :cond_23
.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_f
.line 811
:cond_23
invoke-virtual {v10, v6, v5}, Landroid/view/View;->measure(II)V
.line 813
:goto_f
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_24
.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_10
:cond_24
move v14, v7
.line 830
:goto_10
iget v15, v1, Landroidx/constraintlayout/core/widgets/ConstraintWidget;->mMatchConstraintMaxWidth:I
if-lez v15, :cond_25
.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_25
iget v15, v1, Landroidx/constraintlayout/core/widgets/ConstraintWidget;->mMatchConstraintMinHeight:I
if-lez v15, :cond_26
.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_11
:cond_26
move/from16 v16, v5
move v15, v8
.line 836
:goto_11
iget v5, v1, Landroidx/constraintlayout/core/widgets/ConstraintWidget;->mMatchConstraintMaxHeight:I
if-lez v5, :cond_27
.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_27
iget-object v5, v0, Landroidx/constraintlayout/widget/ConstraintLayout$Measurer;->this$0:Landroidx/constraintlayout/widget/ConstraintLayout;
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_29
const/high16 v0, 0x3f000000 # 0.5f
if-eqz v11, :cond_28
if-eqz v4, :cond_28
.line 843
iget v3, v1, Landroidx/constraintlayout/core/widgets/ConstraintWidget;->mDimensionRatio:F
int-to-float v4, v15
mul-float/2addr v4, v3
add-float/2addr v4, v0
float-to-int v14, v4
goto :goto_12
:cond_28
if-eqz v9, :cond_29
if-eqz v3, :cond_29
.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_29
:goto_12
if-ne v7, v14, :cond_2b
if-eq v8, v15, :cond_2a
goto :goto_14
:cond_2a
:goto_13
const/4 v0, -0x1
goto :goto_16
:cond_2b
:goto_14
const/high16 v0, 0x40000000 # 2.0f
if-eq v7, v14, :cond_2c
.line 853
invoke-static {v14, v0}, Landroid/view/View$MeasureSpec;->makeMeasureSpec(II)I
move-result v6
:cond_2c
if-eq v8, v15, :cond_2d
.line 856
invoke-static {v15, v0}, Landroid/view/View$MeasureSpec;->makeMeasureSpec(II)I
move-result v5
goto :goto_15
:cond_2d
move/from16 v5, v16
.line 858
:goto_15
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_13
:goto_16
if-eq v13, v0, :cond_2e
const/4 v0, 0x1
goto :goto_17
:cond_2e
const/4 v0, 0x0
.line 874
:goto_17
iget v3, v2, Landroidx/constraintlayout/core/widgets/analyzer/BasicMeasure$Measure;->horizontalDimension:I
if-ne v14, v3, :cond_30
iget v3, v2, Landroidx/constraintlayout/core/widgets/analyzer/BasicMeasure$Measure;->verticalDimension:I
if-eq v15, v3, :cond_2f
goto :goto_18
:cond_2f
const/4 v5, 0x0
goto :goto_19
:cond_30
:goto_18
const/4 v5, 0x1
:goto_19
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_31
const/4 v0, 0x1
:cond_31
if-eqz v0, :cond_32
const/4 v3, -0x1
if-eq v13, v3, :cond_32
.line 879
invoke-virtual/range {p1 .. p1}, Landroidx/constraintlayout/core/widgets/ConstraintWidget;->getBaselineDistance()I
move-result v1
if-eq v1, v13, :cond_32
const/4 v1, 0x1
.line 880
iput-boolean v1, v2, Landroidx/constraintlayout/core/widgets/analyzer/BasicMeasure$Measure;->measuredNeedsSolverPass:Z
.line 882
:cond_32
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