.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 (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;->()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