Path: blob/master/Compiled_apk/smali/androidx/constraintlayout/solver/widgets/ConstraintWidgetContainer.smali
2476 views
.class public Landroidx/constraintlayout/solver/widgets/ConstraintWidgetContainer; .super Landroidx/constraintlayout/solver/widgets/WidgetContainer; .source "ConstraintWidgetContainer.java" # static fields .field private static final DEBUG:Z = false .field static final DEBUG_GRAPH:Z = false .field private static final DEBUG_LAYOUT:Z = false .field private static final MAX_ITERATIONS:I = 0x8 .field private static final USE_SNAPSHOT:Z = true # instance fields .field mDebugSolverPassCount:I .field public mGroupsWrapOptimized:Z .field private mHeightMeasuredTooSmall:Z .field mHorizontalChainsArray:[Landroidx/constraintlayout/solver/widgets/ChainHead; .field mHorizontalChainsSize:I .field public mHorizontalWrapOptimized:Z .field private mIsRtl:Z .field private mOptimizationLevel:I .field mPaddingBottom:I .field mPaddingLeft:I .field mPaddingRight:I .field mPaddingTop:I .field public mSkipSolver:Z .field private mSnapshot:Landroidx/constraintlayout/solver/widgets/Snapshot; .field protected mSystem:Landroidx/constraintlayout/solver/LinearSystem; .field mVerticalChainsArray:[Landroidx/constraintlayout/solver/widgets/ChainHead; .field mVerticalChainsSize:I .field public mVerticalWrapOptimized:Z .field public mWidgetGroups:Ljava/util/List; .annotation system Ldalvik/annotation/Signature; value = { "Ljava/util/List<", "Landroidx/constraintlayout/solver/widgets/ConstraintWidgetGroup;", ">;" } .end annotation .end field .field private mWidthMeasuredTooSmall:Z .field public mWrapFixedHeight:I .field public mWrapFixedWidth:I # direct methods .method public constructor <init>()V .locals 3 .line 82 invoke-direct {p0}, Landroidx/constraintlayout/solver/widgets/WidgetContainer;-><init>()V .line 41 const/4 v0, 0x0 iput-boolean v0, p0, Landroidx/constraintlayout/solver/widgets/ConstraintWidgetContainer;->mIsRtl:Z .line 47 new-instance v1, Landroidx/constraintlayout/solver/LinearSystem; invoke-direct {v1}, Landroidx/constraintlayout/solver/LinearSystem;-><init>()V iput-object v1, p0, Landroidx/constraintlayout/solver/widgets/ConstraintWidgetContainer;->mSystem:Landroidx/constraintlayout/solver/LinearSystem; .line 56 iput v0, p0, Landroidx/constraintlayout/solver/widgets/ConstraintWidgetContainer;->mHorizontalChainsSize:I .line 57 iput v0, p0, Landroidx/constraintlayout/solver/widgets/ConstraintWidgetContainer;->mVerticalChainsSize:I .line 59 const/4 v1, 0x4 new-array v2, v1, [Landroidx/constraintlayout/solver/widgets/ChainHead; iput-object v2, p0, Landroidx/constraintlayout/solver/widgets/ConstraintWidgetContainer;->mVerticalChainsArray:[Landroidx/constraintlayout/solver/widgets/ChainHead; .line 60 new-array v1, v1, [Landroidx/constraintlayout/solver/widgets/ChainHead; iput-object v1, p0, Landroidx/constraintlayout/solver/widgets/ConstraintWidgetContainer;->mHorizontalChainsArray:[Landroidx/constraintlayout/solver/widgets/ChainHead; .line 62 new-instance v1, Ljava/util/ArrayList; invoke-direct {v1}, Ljava/util/ArrayList;-><init>()V iput-object v1, p0, Landroidx/constraintlayout/solver/widgets/ConstraintWidgetContainer;->mWidgetGroups:Ljava/util/List; .line 63 iput-boolean v0, p0, Landroidx/constraintlayout/solver/widgets/ConstraintWidgetContainer;->mGroupsWrapOptimized:Z .line 64 iput-boolean v0, p0, Landroidx/constraintlayout/solver/widgets/ConstraintWidgetContainer;->mHorizontalWrapOptimized:Z .line 65 iput-boolean v0, p0, Landroidx/constraintlayout/solver/widgets/ConstraintWidgetContainer;->mVerticalWrapOptimized:Z .line 66 iput v0, p0, Landroidx/constraintlayout/solver/widgets/ConstraintWidgetContainer;->mWrapFixedWidth:I .line 67 iput v0, p0, Landroidx/constraintlayout/solver/widgets/ConstraintWidgetContainer;->mWrapFixedHeight:I .line 69 const/4 v1, 0x7 iput v1, p0, Landroidx/constraintlayout/solver/widgets/ConstraintWidgetContainer;->mOptimizationLevel:I .line 70 iput-boolean v0, p0, Landroidx/constraintlayout/solver/widgets/ConstraintWidgetContainer;->mSkipSolver:Z .line 72 iput-boolean v0, p0, Landroidx/constraintlayout/solver/widgets/ConstraintWidgetContainer;->mWidthMeasuredTooSmall:Z .line 73 iput-boolean v0, p0, Landroidx/constraintlayout/solver/widgets/ConstraintWidgetContainer;->mHeightMeasuredTooSmall:Z .line 166 iput v0, p0, Landroidx/constraintlayout/solver/widgets/ConstraintWidgetContainer;->mDebugSolverPassCount:I .line 83 return-void .end method .method public constructor <init>(II)V .locals 3 .param p1, "width" # I .param p2, "height" # I .line 104 invoke-direct {p0, p1, p2}, Landroidx/constraintlayout/solver/widgets/WidgetContainer;-><init>(II)V .line 41 const/4 v0, 0x0 iput-boolean v0, p0, Landroidx/constraintlayout/solver/widgets/ConstraintWidgetContainer;->mIsRtl:Z .line 47 new-instance v1, Landroidx/constraintlayout/solver/LinearSystem; invoke-direct {v1}, Landroidx/constraintlayout/solver/LinearSystem;-><init>()V iput-object v1, p0, Landroidx/constraintlayout/solver/widgets/ConstraintWidgetContainer;->mSystem:Landroidx/constraintlayout/solver/LinearSystem; .line 56 iput v0, p0, Landroidx/constraintlayout/solver/widgets/ConstraintWidgetContainer;->mHorizontalChainsSize:I .line 57 iput v0, p0, Landroidx/constraintlayout/solver/widgets/ConstraintWidgetContainer;->mVerticalChainsSize:I .line 59 const/4 v1, 0x4 new-array v2, v1, [Landroidx/constraintlayout/solver/widgets/ChainHead; iput-object v2, p0, Landroidx/constraintlayout/solver/widgets/ConstraintWidgetContainer;->mVerticalChainsArray:[Landroidx/constraintlayout/solver/widgets/ChainHead; .line 60 new-array v1, v1, [Landroidx/constraintlayout/solver/widgets/ChainHead; iput-object v1, p0, Landroidx/constraintlayout/solver/widgets/ConstraintWidgetContainer;->mHorizontalChainsArray:[Landroidx/constraintlayout/solver/widgets/ChainHead; .line 62 new-instance v1, Ljava/util/ArrayList; invoke-direct {v1}, Ljava/util/ArrayList;-><init>()V iput-object v1, p0, Landroidx/constraintlayout/solver/widgets/ConstraintWidgetContainer;->mWidgetGroups:Ljava/util/List; .line 63 iput-boolean v0, p0, Landroidx/constraintlayout/solver/widgets/ConstraintWidgetContainer;->mGroupsWrapOptimized:Z .line 64 iput-boolean v0, p0, Landroidx/constraintlayout/solver/widgets/ConstraintWidgetContainer;->mHorizontalWrapOptimized:Z .line 65 iput-boolean v0, p0, Landroidx/constraintlayout/solver/widgets/ConstraintWidgetContainer;->mVerticalWrapOptimized:Z .line 66 iput v0, p0, Landroidx/constraintlayout/solver/widgets/ConstraintWidgetContainer;->mWrapFixedWidth:I .line 67 iput v0, p0, Landroidx/constraintlayout/solver/widgets/ConstraintWidgetContainer;->mWrapFixedHeight:I .line 69 const/4 v1, 0x7 iput v1, p0, Landroidx/constraintlayout/solver/widgets/ConstraintWidgetContainer;->mOptimizationLevel:I .line 70 iput-boolean v0, p0, Landroidx/constraintlayout/solver/widgets/ConstraintWidgetContainer;->mSkipSolver:Z .line 72 iput-boolean v0, p0, Landroidx/constraintlayout/solver/widgets/ConstraintWidgetContainer;->mWidthMeasuredTooSmall:Z .line 73 iput-boolean v0, p0, Landroidx/constraintlayout/solver/widgets/ConstraintWidgetContainer;->mHeightMeasuredTooSmall:Z .line 166 iput v0, p0, Landroidx/constraintlayout/solver/widgets/ConstraintWidgetContainer;->mDebugSolverPassCount:I .line 105 return-void .end method .method public constructor <init>(IIII)V .locals 3 .param p1, "x" # I .param p2, "y" # I .param p3, "width" # I .param p4, "height" # I .line 94 invoke-direct {p0, p1, p2, p3, p4}, Landroidx/constraintlayout/solver/widgets/WidgetContainer;-><init>(IIII)V .line 41 const/4 v0, 0x0 iput-boolean v0, p0, Landroidx/constraintlayout/solver/widgets/ConstraintWidgetContainer;->mIsRtl:Z .line 47 new-instance v1, Landroidx/constraintlayout/solver/LinearSystem; invoke-direct {v1}, Landroidx/constraintlayout/solver/LinearSystem;-><init>()V iput-object v1, p0, Landroidx/constraintlayout/solver/widgets/ConstraintWidgetContainer;->mSystem:Landroidx/constraintlayout/solver/LinearSystem; .line 56 iput v0, p0, Landroidx/constraintlayout/solver/widgets/ConstraintWidgetContainer;->mHorizontalChainsSize:I .line 57 iput v0, p0, Landroidx/constraintlayout/solver/widgets/ConstraintWidgetContainer;->mVerticalChainsSize:I .line 59 const/4 v1, 0x4 new-array v2, v1, [Landroidx/constraintlayout/solver/widgets/ChainHead; iput-object v2, p0, Landroidx/constraintlayout/solver/widgets/ConstraintWidgetContainer;->mVerticalChainsArray:[Landroidx/constraintlayout/solver/widgets/ChainHead; .line 60 new-array v1, v1, [Landroidx/constraintlayout/solver/widgets/ChainHead; iput-object v1, p0, Landroidx/constraintlayout/solver/widgets/ConstraintWidgetContainer;->mHorizontalChainsArray:[Landroidx/constraintlayout/solver/widgets/ChainHead; .line 62 new-instance v1, Ljava/util/ArrayList; invoke-direct {v1}, Ljava/util/ArrayList;-><init>()V iput-object v1, p0, Landroidx/constraintlayout/solver/widgets/ConstraintWidgetContainer;->mWidgetGroups:Ljava/util/List; .line 63 iput-boolean v0, p0, Landroidx/constraintlayout/solver/widgets/ConstraintWidgetContainer;->mGroupsWrapOptimized:Z .line 64 iput-boolean v0, p0, Landroidx/constraintlayout/solver/widgets/ConstraintWidgetContainer;->mHorizontalWrapOptimized:Z .line 65 iput-boolean v0, p0, Landroidx/constraintlayout/solver/widgets/ConstraintWidgetContainer;->mVerticalWrapOptimized:Z .line 66 iput v0, p0, Landroidx/constraintlayout/solver/widgets/ConstraintWidgetContainer;->mWrapFixedWidth:I .line 67 iput v0, p0, Landroidx/constraintlayout/solver/widgets/ConstraintWidgetContainer;->mWrapFixedHeight:I .line 69 const/4 v1, 0x7 iput v1, p0, Landroidx/constraintlayout/solver/widgets/ConstraintWidgetContainer;->mOptimizationLevel:I .line 70 iput-boolean v0, p0, Landroidx/constraintlayout/solver/widgets/ConstraintWidgetContainer;->mSkipSolver:Z .line 72 iput-boolean v0, p0, Landroidx/constraintlayout/solver/widgets/ConstraintWidgetContainer;->mWidthMeasuredTooSmall:Z .line 73 iput-boolean v0, p0, Landroidx/constraintlayout/solver/widgets/ConstraintWidgetContainer;->mHeightMeasuredTooSmall:Z .line 166 iput v0, p0, Landroidx/constraintlayout/solver/widgets/ConstraintWidgetContainer;->mDebugSolverPassCount:I .line 95 return-void .end method .method private addHorizontalChain(Landroidx/constraintlayout/solver/widgets/ConstraintWidget;)V .locals 5 .param p1, "widget" # Landroidx/constraintlayout/solver/widgets/ConstraintWidget; .line 744 iget v0, p0, Landroidx/constraintlayout/solver/widgets/ConstraintWidgetContainer;->mHorizontalChainsSize:I add-int/lit8 v0, v0, 0x1 iget-object v1, p0, Landroidx/constraintlayout/solver/widgets/ConstraintWidgetContainer;->mHorizontalChainsArray:[Landroidx/constraintlayout/solver/widgets/ChainHead; array-length v2, v1 if-lt v0, v2, :cond_0 .line 745 array-length v0, v1 mul-int/lit8 v0, v0, 0x2 .line 746 invoke-static {v1, v0}, Ljava/util/Arrays;->copyOf([Ljava/lang/Object;I)[Ljava/lang/Object; move-result-object v0 check-cast v0, [Landroidx/constraintlayout/solver/widgets/ChainHead; iput-object v0, p0, Landroidx/constraintlayout/solver/widgets/ConstraintWidgetContainer;->mHorizontalChainsArray:[Landroidx/constraintlayout/solver/widgets/ChainHead; .line 748 :cond_0 iget-object v0, p0, Landroidx/constraintlayout/solver/widgets/ConstraintWidgetContainer;->mHorizontalChainsArray:[Landroidx/constraintlayout/solver/widgets/ChainHead; iget v1, p0, Landroidx/constraintlayout/solver/widgets/ConstraintWidgetContainer;->mHorizontalChainsSize:I new-instance v2, Landroidx/constraintlayout/solver/widgets/ChainHead; const/4 v3, 0x0 invoke-virtual {p0}, Landroidx/constraintlayout/solver/widgets/ConstraintWidgetContainer;->isRtl()Z move-result v4 invoke-direct {v2, p1, v3, v4}, Landroidx/constraintlayout/solver/widgets/ChainHead;-><init>(Landroidx/constraintlayout/solver/widgets/ConstraintWidget;IZ)V aput-object v2, v0, v1 .line 749 iget v0, p0, Landroidx/constraintlayout/solver/widgets/ConstraintWidgetContainer;->mHorizontalChainsSize:I add-int/lit8 v0, v0, 0x1 iput v0, p0, Landroidx/constraintlayout/solver/widgets/ConstraintWidgetContainer;->mHorizontalChainsSize:I .line 750 return-void .end method .method private addVerticalChain(Landroidx/constraintlayout/solver/widgets/ConstraintWidget;)V .locals 5 .param p1, "widget" # Landroidx/constraintlayout/solver/widgets/ConstraintWidget; .line 759 iget v0, p0, Landroidx/constraintlayout/solver/widgets/ConstraintWidgetContainer;->mVerticalChainsSize:I const/4 v1, 0x1 add-int/2addr v0, v1 iget-object v2, p0, Landroidx/constraintlayout/solver/widgets/ConstraintWidgetContainer;->mVerticalChainsArray:[Landroidx/constraintlayout/solver/widgets/ChainHead; array-length v3, v2 if-lt v0, v3, :cond_0 .line 760 array-length v0, v2 mul-int/lit8 v0, v0, 0x2 .line 761 invoke-static {v2, v0}, Ljava/util/Arrays;->copyOf([Ljava/lang/Object;I)[Ljava/lang/Object; move-result-object v0 check-cast v0, [Landroidx/constraintlayout/solver/widgets/ChainHead; iput-object v0, p0, Landroidx/constraintlayout/solver/widgets/ConstraintWidgetContainer;->mVerticalChainsArray:[Landroidx/constraintlayout/solver/widgets/ChainHead; .line 763 :cond_0 iget-object v0, p0, Landroidx/constraintlayout/solver/widgets/ConstraintWidgetContainer;->mVerticalChainsArray:[Landroidx/constraintlayout/solver/widgets/ChainHead; iget v2, p0, Landroidx/constraintlayout/solver/widgets/ConstraintWidgetContainer;->mVerticalChainsSize:I new-instance v3, Landroidx/constraintlayout/solver/widgets/ChainHead; invoke-virtual {p0}, Landroidx/constraintlayout/solver/widgets/ConstraintWidgetContainer;->isRtl()Z move-result v4 invoke-direct {v3, p1, v1, v4}, Landroidx/constraintlayout/solver/widgets/ChainHead;-><init>(Landroidx/constraintlayout/solver/widgets/ConstraintWidget;IZ)V aput-object v3, v0, v2 .line 764 iget v0, p0, Landroidx/constraintlayout/solver/widgets/ConstraintWidgetContainer;->mVerticalChainsSize:I add-int/2addr v0, v1 iput v0, p0, Landroidx/constraintlayout/solver/widgets/ConstraintWidgetContainer;->mVerticalChainsSize:I .line 765 return-void .end method .method private resetChains()V .locals 1 .line 718 const/4 v0, 0x0 iput v0, p0, Landroidx/constraintlayout/solver/widgets/ConstraintWidgetContainer;->mHorizontalChainsSize:I .line 719 iput v0, p0, Landroidx/constraintlayout/solver/widgets/ConstraintWidgetContainer;->mVerticalChainsSize:I .line 720 return-void .end method # virtual methods .method addChain(Landroidx/constraintlayout/solver/widgets/ConstraintWidget;I)V .locals 2 .param p1, "constraintWidget" # Landroidx/constraintlayout/solver/widgets/ConstraintWidget; .param p2, "type" # I .line 729 move-object v0, p1 .line 730 .local v0, "widget":Landroidx/constraintlayout/solver/widgets/ConstraintWidget; if-nez p2, :cond_0 .line 731 invoke-direct {p0, v0}, Landroidx/constraintlayout/solver/widgets/ConstraintWidgetContainer;->addHorizontalChain(Landroidx/constraintlayout/solver/widgets/ConstraintWidget;)V goto :goto_0 .line 732 :cond_0 const/4 v1, 0x1 if-ne p2, v1, :cond_1 .line 733 invoke-direct {p0, v0}, Landroidx/constraintlayout/solver/widgets/ConstraintWidgetContainer;->addVerticalChain(Landroidx/constraintlayout/solver/widgets/ConstraintWidget;)V .line 735 :cond_1 :goto_0 return-void .end method .method public addChildrenToSolver(Landroidx/constraintlayout/solver/LinearSystem;)Z .locals 6 .param p1, "system" # Landroidx/constraintlayout/solver/LinearSystem; .line 180 invoke-virtual {p0, p1}, Landroidx/constraintlayout/solver/widgets/ConstraintWidgetContainer;->addToSolver(Landroidx/constraintlayout/solver/LinearSystem;)V .line 181 iget-object v0, p0, Landroidx/constraintlayout/solver/widgets/ConstraintWidgetContainer;->mChildren:Ljava/util/ArrayList; invoke-virtual {v0}, Ljava/util/ArrayList;->size()I move-result v0 .line 183 .local v0, "count":I const/4 v1, 0x0 .local v1, "i":I :goto_0 const/4 v2, 0x0 const/4 v3, 0x1 if-ge v1, v0, :cond_5 .line 184 iget-object v4, p0, Landroidx/constraintlayout/solver/widgets/ConstraintWidgetContainer;->mChildren:Ljava/util/ArrayList; invoke-virtual {v4, v1}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object; move-result-object v4 check-cast v4, Landroidx/constraintlayout/solver/widgets/ConstraintWidget; .line 185 .local v4, "widget":Landroidx/constraintlayout/solver/widgets/ConstraintWidget; instance-of v5, v4, Landroidx/constraintlayout/solver/widgets/ConstraintWidgetContainer; if-eqz v5, :cond_4 .line 186 iget-object v5, v4, Landroidx/constraintlayout/solver/widgets/ConstraintWidget;->mListDimensionBehaviors:[Landroidx/constraintlayout/solver/widgets/ConstraintWidget$DimensionBehaviour; aget-object v2, v5, v2 .line 187 .local v2, "horizontalBehaviour":Landroidx/constraintlayout/solver/widgets/ConstraintWidget$DimensionBehaviour; iget-object v5, v4, Landroidx/constraintlayout/solver/widgets/ConstraintWidget;->mListDimensionBehaviors:[Landroidx/constraintlayout/solver/widgets/ConstraintWidget$DimensionBehaviour; aget-object v3, v5, v3 .line 188 .local v3, "verticalBehaviour":Landroidx/constraintlayout/solver/widgets/ConstraintWidget$DimensionBehaviour; sget-object v5, Landroidx/constraintlayout/solver/widgets/ConstraintWidget$DimensionBehaviour;->WRAP_CONTENT:Landroidx/constraintlayout/solver/widgets/ConstraintWidget$DimensionBehaviour; if-ne v2, v5, :cond_0 .line 189 sget-object v5, Landroidx/constraintlayout/solver/widgets/ConstraintWidget$DimensionBehaviour;->FIXED:Landroidx/constraintlayout/solver/widgets/ConstraintWidget$DimensionBehaviour; invoke-virtual {v4, v5}, Landroidx/constraintlayout/solver/widgets/ConstraintWidget;->setHorizontalDimensionBehaviour(Landroidx/constraintlayout/solver/widgets/ConstraintWidget$DimensionBehaviour;)V .line 191 :cond_0 sget-object v5, Landroidx/constraintlayout/solver/widgets/ConstraintWidget$DimensionBehaviour;->WRAP_CONTENT:Landroidx/constraintlayout/solver/widgets/ConstraintWidget$DimensionBehaviour; if-ne v3, v5, :cond_1 .line 192 sget-object v5, Landroidx/constraintlayout/solver/widgets/ConstraintWidget$DimensionBehaviour;->FIXED:Landroidx/constraintlayout/solver/widgets/ConstraintWidget$DimensionBehaviour; invoke-virtual {v4, v5}, Landroidx/constraintlayout/solver/widgets/ConstraintWidget;->setVerticalDimensionBehaviour(Landroidx/constraintlayout/solver/widgets/ConstraintWidget$DimensionBehaviour;)V .line 194 :cond_1 invoke-virtual {v4, p1}, Landroidx/constraintlayout/solver/widgets/ConstraintWidget;->addToSolver(Landroidx/constraintlayout/solver/LinearSystem;)V .line 195 sget-object v5, Landroidx/constraintlayout/solver/widgets/ConstraintWidget$DimensionBehaviour;->WRAP_CONTENT:Landroidx/constraintlayout/solver/widgets/ConstraintWidget$DimensionBehaviour; if-ne v2, v5, :cond_2 .line 196 invoke-virtual {v4, v2}, Landroidx/constraintlayout/solver/widgets/ConstraintWidget;->setHorizontalDimensionBehaviour(Landroidx/constraintlayout/solver/widgets/ConstraintWidget$DimensionBehaviour;)V .line 198 :cond_2 sget-object v5, Landroidx/constraintlayout/solver/widgets/ConstraintWidget$DimensionBehaviour;->WRAP_CONTENT:Landroidx/constraintlayout/solver/widgets/ConstraintWidget$DimensionBehaviour; if-ne v3, v5, :cond_3 .line 199 invoke-virtual {v4, v3}, Landroidx/constraintlayout/solver/widgets/ConstraintWidget;->setVerticalDimensionBehaviour(Landroidx/constraintlayout/solver/widgets/ConstraintWidget$DimensionBehaviour;)V .line 201 .end local v2 # "horizontalBehaviour":Landroidx/constraintlayout/solver/widgets/ConstraintWidget$DimensionBehaviour; .end local v3 # "verticalBehaviour":Landroidx/constraintlayout/solver/widgets/ConstraintWidget$DimensionBehaviour; :cond_3 goto :goto_1 .line 202 :cond_4 invoke-static {p0, p1, v4}, Landroidx/constraintlayout/solver/widgets/Optimizer;->checkMatchParent(Landroidx/constraintlayout/solver/widgets/ConstraintWidgetContainer;Landroidx/constraintlayout/solver/LinearSystem;Landroidx/constraintlayout/solver/widgets/ConstraintWidget;)V .line 203 invoke-virtual {v4, p1}, Landroidx/constraintlayout/solver/widgets/ConstraintWidget;->addToSolver(Landroidx/constraintlayout/solver/LinearSystem;)V .line 183 .end local v4 # "widget":Landroidx/constraintlayout/solver/widgets/ConstraintWidget; :goto_1 add-int/lit8 v1, v1, 0x1 goto :goto_0 .line 207 .end local v1 # "i":I :cond_5 iget v1, p0, Landroidx/constraintlayout/solver/widgets/ConstraintWidgetContainer;->mHorizontalChainsSize:I if-lez v1, :cond_6 .line 208 invoke-static {p0, p1, v2}, Landroidx/constraintlayout/solver/widgets/Chain;->applyChainConstraints(Landroidx/constraintlayout/solver/widgets/ConstraintWidgetContainer;Landroidx/constraintlayout/solver/LinearSystem;I)V .line 210 :cond_6 iget v1, p0, Landroidx/constraintlayout/solver/widgets/ConstraintWidgetContainer;->mVerticalChainsSize:I if-lez v1, :cond_7 .line 211 invoke-static {p0, p1, v3}, Landroidx/constraintlayout/solver/widgets/Chain;->applyChainConstraints(Landroidx/constraintlayout/solver/widgets/ConstraintWidgetContainer;Landroidx/constraintlayout/solver/LinearSystem;I)V .line 213 :cond_7 return v3 .end method .method public analyze(I)V .locals 3 .param p1, "optimizationLevel" # I .line 280 invoke-super {p0, p1}, Landroidx/constraintlayout/solver/widgets/WidgetContainer;->analyze(I)V .line 281 iget-object v0, p0, Landroidx/constraintlayout/solver/widgets/ConstraintWidgetContainer;->mChildren:Ljava/util/ArrayList; invoke-virtual {v0}, Ljava/util/ArrayList;->size()I move-result v0 .line 282 .local v0, "count":I const/4 v1, 0x0 .local v1, "i":I :goto_0 if-ge v1, v0, :cond_0 .line 283 iget-object v2, p0, Landroidx/constraintlayout/solver/widgets/ConstraintWidgetContainer;->mChildren:Ljava/util/ArrayList; invoke-virtual {v2, v1}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object; move-result-object v2 check-cast v2, Landroidx/constraintlayout/solver/widgets/ConstraintWidget; invoke-virtual {v2, p1}, Landroidx/constraintlayout/solver/widgets/ConstraintWidget;->analyze(I)V .line 282 add-int/lit8 v1, v1, 0x1 goto :goto_0 .line 285 .end local v1 # "i":I :cond_0 return-void .end method .method public fillMetrics(Landroidx/constraintlayout/solver/Metrics;)V .locals 1 .param p1, "metrics" # Landroidx/constraintlayout/solver/Metrics; .line 44 iget-object v0, p0, Landroidx/constraintlayout/solver/widgets/ConstraintWidgetContainer;->mSystem:Landroidx/constraintlayout/solver/LinearSystem; invoke-virtual {v0, p1}, Landroidx/constraintlayout/solver/LinearSystem;->fillMetrics(Landroidx/constraintlayout/solver/Metrics;)V .line 45 return-void .end method .method public getHorizontalGuidelines()Ljava/util/ArrayList; .locals 6 .annotation system Ldalvik/annotation/Signature; value = { "()", "Ljava/util/ArrayList<", "Landroidx/constraintlayout/solver/widgets/Guideline;", ">;" } .end annotation .line 693 new-instance v0, Ljava/util/ArrayList; invoke-direct {v0}, Ljava/util/ArrayList;-><init>()V .line 694 .local v0, "guidelines":Ljava/util/ArrayList;, "Ljava/util/ArrayList<Landroidx/constraintlayout/solver/widgets/Guideline;>;" const/4 v1, 0x0 .local v1, "i":I iget-object v2, p0, Landroidx/constraintlayout/solver/widgets/ConstraintWidgetContainer;->mChildren:Ljava/util/ArrayList; invoke-virtual {v2}, Ljava/util/ArrayList;->size()I move-result v2 .local v2, "mChildrenSize":I :goto_0 if-ge v1, v2, :cond_1 .line 695 iget-object v3, p0, Landroidx/constraintlayout/solver/widgets/ConstraintWidgetContainer;->mChildren:Ljava/util/ArrayList; invoke-virtual {v3, v1}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object; move-result-object v3 check-cast v3, Landroidx/constraintlayout/solver/widgets/ConstraintWidget; .line 696 .local v3, "widget":Landroidx/constraintlayout/solver/widgets/ConstraintWidget; instance-of v4, v3, Landroidx/constraintlayout/solver/widgets/Guideline; if-eqz v4, :cond_0 .line 697 move-object v4, v3 check-cast v4, Landroidx/constraintlayout/solver/widgets/Guideline; .line 698 .local v4, "guideline":Landroidx/constraintlayout/solver/widgets/Guideline; invoke-virtual {v4}, Landroidx/constraintlayout/solver/widgets/Guideline;->getOrientation()I move-result v5 if-nez v5, :cond_0 .line 699 invoke-virtual {v0, v4}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z .line 694 .end local v3 # "widget":Landroidx/constraintlayout/solver/widgets/ConstraintWidget; .end local v4 # "guideline":Landroidx/constraintlayout/solver/widgets/Guideline; :cond_0 add-int/lit8 v1, v1, 0x1 goto :goto_0 .line 703 .end local v1 # "i":I .end local v2 # "mChildrenSize":I :cond_1 return-object v0 .end method .method public getOptimizationLevel()I .locals 1 .line 122 iget v0, p0, Landroidx/constraintlayout/solver/widgets/ConstraintWidgetContainer;->mOptimizationLevel:I return v0 .end method .method public getSystem()Landroidx/constraintlayout/solver/LinearSystem; .locals 1 .line 707 iget-object v0, p0, Landroidx/constraintlayout/solver/widgets/ConstraintWidgetContainer;->mSystem:Landroidx/constraintlayout/solver/LinearSystem; return-object v0 .end method .method public getType()Ljava/lang/String; .locals 1 .line 141 const-string v0, "ConstraintLayout" return-object v0 .end method .method public getVerticalGuidelines()Ljava/util/ArrayList; .locals 7 .annotation system Ldalvik/annotation/Signature; value = { "()", "Ljava/util/ArrayList<", "Landroidx/constraintlayout/solver/widgets/Guideline;", ">;" } .end annotation .line 674 new-instance v0, Ljava/util/ArrayList; invoke-direct {v0}, Ljava/util/ArrayList;-><init>()V .line 675 .local v0, "guidelines":Ljava/util/ArrayList;, "Ljava/util/ArrayList<Landroidx/constraintlayout/solver/widgets/Guideline;>;" const/4 v1, 0x0 .local v1, "i":I iget-object v2, p0, Landroidx/constraintlayout/solver/widgets/ConstraintWidgetContainer;->mChildren:Ljava/util/ArrayList; invoke-virtual {v2}, Ljava/util/ArrayList;->size()I move-result v2 .local v2, "mChildrenSize":I :goto_0 if-ge v1, v2, :cond_1 .line 676 iget-object v3, p0, Landroidx/constraintlayout/solver/widgets/ConstraintWidgetContainer;->mChildren:Ljava/util/ArrayList; invoke-virtual {v3, v1}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object; move-result-object v3 check-cast v3, Landroidx/constraintlayout/solver/widgets/ConstraintWidget; .line 677 .local v3, "widget":Landroidx/constraintlayout/solver/widgets/ConstraintWidget; instance-of v4, v3, Landroidx/constraintlayout/solver/widgets/Guideline; if-eqz v4, :cond_0 .line 678 move-object v4, v3 check-cast v4, Landroidx/constraintlayout/solver/widgets/Guideline; .line 679 .local v4, "guideline":Landroidx/constraintlayout/solver/widgets/Guideline; invoke-virtual {v4}, Landroidx/constraintlayout/solver/widgets/Guideline;->getOrientation()I move-result v5 const/4 v6, 0x1 if-ne v5, v6, :cond_0 .line 680 invoke-virtual {v0, v4}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z .line 675 .end local v3 # "widget":Landroidx/constraintlayout/solver/widgets/ConstraintWidget; .end local v4 # "guideline":Landroidx/constraintlayout/solver/widgets/Guideline; :cond_0 add-int/lit8 v1, v1, 0x1 goto :goto_0 .line 684 .end local v1 # "i":I .end local v2 # "mChildrenSize":I :cond_1 return-object v0 .end method .method public getWidgetGroups()Ljava/util/List; .locals 1 .annotation system Ldalvik/annotation/Signature; value = { "()", "Ljava/util/List<", "Landroidx/constraintlayout/solver/widgets/ConstraintWidgetGroup;", ">;" } .end annotation .line 777 iget-object v0, p0, Landroidx/constraintlayout/solver/widgets/ConstraintWidgetContainer;->mWidgetGroups:Ljava/util/List; return-object v0 .end method .method public handlesInternalConstraints()Z .locals 1 .line 661 const/4 v0, 0x0 return v0 .end method .method public isHeightMeasuredTooSmall()Z .locals 1 .line 164 iget-boolean v0, p0, Landroidx/constraintlayout/solver/widgets/ConstraintWidgetContainer;->mHeightMeasuredTooSmall:Z return v0 .end method .method public isRtl()Z .locals 1 .line 267 iget-boolean v0, p0, Landroidx/constraintlayout/solver/widgets/ConstraintWidgetContainer;->mIsRtl:Z return v0 .end method .method public isWidthMeasuredTooSmall()Z .locals 1 .line 159 iget-boolean v0, p0, Landroidx/constraintlayout/solver/widgets/ConstraintWidgetContainer;->mWidthMeasuredTooSmall:Z return v0 .end method .method public layout()V .locals 24 .line 298 move-object/from16 v1, p0 iget v2, v1, Landroidx/constraintlayout/solver/widgets/ConstraintWidgetContainer;->mX:I .line 299 .local v2, "prex":I iget v3, v1, Landroidx/constraintlayout/solver/widgets/ConstraintWidgetContainer;->mY:I .line 300 .local v3, "prey":I invoke-virtual/range {p0 .. p0}, Landroidx/constraintlayout/solver/widgets/ConstraintWidgetContainer;->getWidth()I move-result v0 const/4 v4, 0x0 invoke-static {v4, v0}, Ljava/lang/Math;->max(II)I move-result v5 .line 301 .local v5, "prew":I invoke-virtual/range {p0 .. p0}, Landroidx/constraintlayout/solver/widgets/ConstraintWidgetContainer;->getHeight()I move-result v0 invoke-static {v4, v0}, Ljava/lang/Math;->max(II)I move-result v6 .line 302 .local v6, "preh":I iput-boolean v4, v1, Landroidx/constraintlayout/solver/widgets/ConstraintWidgetContainer;->mWidthMeasuredTooSmall:Z .line 303 iput-boolean v4, v1, Landroidx/constraintlayout/solver/widgets/ConstraintWidgetContainer;->mHeightMeasuredTooSmall:Z .line 305 iget-object v0, v1, Landroidx/constraintlayout/solver/widgets/ConstraintWidgetContainer;->mParent:Landroidx/constraintlayout/solver/widgets/ConstraintWidget; if-eqz v0, :cond_1 .line 306 iget-object v0, v1, Landroidx/constraintlayout/solver/widgets/ConstraintWidgetContainer;->mSnapshot:Landroidx/constraintlayout/solver/widgets/Snapshot; if-nez v0, :cond_0 .line 307 new-instance v0, Landroidx/constraintlayout/solver/widgets/Snapshot; invoke-direct {v0, v1}, Landroidx/constraintlayout/solver/widgets/Snapshot;-><init>(Landroidx/constraintlayout/solver/widgets/ConstraintWidget;)V iput-object v0, v1, Landroidx/constraintlayout/solver/widgets/ConstraintWidgetContainer;->mSnapshot:Landroidx/constraintlayout/solver/widgets/Snapshot; .line 309 :cond_0 iget-object v0, v1, Landroidx/constraintlayout/solver/widgets/ConstraintWidgetContainer;->mSnapshot:Landroidx/constraintlayout/solver/widgets/Snapshot; invoke-virtual {v0, v1}, Landroidx/constraintlayout/solver/widgets/Snapshot;->updateFrom(Landroidx/constraintlayout/solver/widgets/ConstraintWidget;)V .line 314 iget v0, v1, Landroidx/constraintlayout/solver/widgets/ConstraintWidgetContainer;->mPaddingLeft:I invoke-virtual {v1, v0}, Landroidx/constraintlayout/solver/widgets/ConstraintWidgetContainer;->setX(I)V .line 315 iget v0, v1, Landroidx/constraintlayout/solver/widgets/ConstraintWidgetContainer;->mPaddingTop:I invoke-virtual {v1, v0}, Landroidx/constraintlayout/solver/widgets/ConstraintWidgetContainer;->setY(I)V .line 316 invoke-virtual/range {p0 .. p0}, Landroidx/constraintlayout/solver/widgets/ConstraintWidgetContainer;->resetAnchors()V .line 317 iget-object v0, v1, Landroidx/constraintlayout/solver/widgets/ConstraintWidgetContainer;->mSystem:Landroidx/constraintlayout/solver/LinearSystem; invoke-virtual {v0}, Landroidx/constraintlayout/solver/LinearSystem;->getCache()Landroidx/constraintlayout/solver/Cache; move-result-object v0 invoke-virtual {v1, v0}, Landroidx/constraintlayout/solver/widgets/ConstraintWidgetContainer;->resetSolverVariables(Landroidx/constraintlayout/solver/Cache;)V goto :goto_0 .line 319 :cond_1 iput v4, v1, Landroidx/constraintlayout/solver/widgets/ConstraintWidgetContainer;->mX:I .line 320 iput v4, v1, Landroidx/constraintlayout/solver/widgets/ConstraintWidgetContainer;->mY:I .line 323 :goto_0 iget v0, v1, Landroidx/constraintlayout/solver/widgets/ConstraintWidgetContainer;->mOptimizationLevel:I const/16 v7, 0x20 const/16 v8, 0x8 const/4 v9, 0x1 if-eqz v0, :cond_4 .line 324 invoke-virtual {v1, v8}, Landroidx/constraintlayout/solver/widgets/ConstraintWidgetContainer;->optimizeFor(I)Z move-result v0 if-nez v0, :cond_2 .line 325 invoke-virtual/range {p0 .. p0}, Landroidx/constraintlayout/solver/widgets/ConstraintWidgetContainer;->optimizeReset()V .line 327 :cond_2 invoke-virtual {v1, v7}, Landroidx/constraintlayout/solver/widgets/ConstraintWidgetContainer;->optimizeFor(I)Z move-result v0 if-nez v0, :cond_3 .line 328 invoke-virtual/range {p0 .. p0}, Landroidx/constraintlayout/solver/widgets/ConstraintWidgetContainer;->optimize()V .line 330 :cond_3 iget-object v0, v1, Landroidx/constraintlayout/solver/widgets/ConstraintWidgetContainer;->mSystem:Landroidx/constraintlayout/solver/LinearSystem; iput-boolean v9, v0, Landroidx/constraintlayout/solver/LinearSystem;->graphOptimizer:Z goto :goto_1 .line 332 :cond_4 iget-object v0, v1, Landroidx/constraintlayout/solver/widgets/ConstraintWidgetContainer;->mSystem:Landroidx/constraintlayout/solver/LinearSystem; iput-boolean v4, v0, Landroidx/constraintlayout/solver/LinearSystem;->graphOptimizer:Z .line 335 :goto_1 const/4 v0, 0x0 .line 336 .local v0, "wrap_override":Z iget-object v10, v1, Landroidx/constraintlayout/solver/widgets/ConstraintWidgetContainer;->mListDimensionBehaviors:[Landroidx/constraintlayout/solver/widgets/ConstraintWidget$DimensionBehaviour; aget-object v10, v10, v9 .line 337 .local v10, "originalVerticalDimensionBehaviour":Landroidx/constraintlayout/solver/widgets/ConstraintWidget$DimensionBehaviour; iget-object v11, v1, Landroidx/constraintlayout/solver/widgets/ConstraintWidgetContainer;->mListDimensionBehaviors:[Landroidx/constraintlayout/solver/widgets/ConstraintWidget$DimensionBehaviour; aget-object v11, v11, v4 .line 345 .local v11, "originalHorizontalDimensionBehaviour":Landroidx/constraintlayout/solver/widgets/ConstraintWidget$DimensionBehaviour; invoke-direct/range {p0 .. p0}, Landroidx/constraintlayout/solver/widgets/ConstraintWidgetContainer;->resetChains()V .line 347 iget-object v12, v1, Landroidx/constraintlayout/solver/widgets/ConstraintWidgetContainer;->mWidgetGroups:Ljava/util/List; invoke-interface {v12}, Ljava/util/List;->size()I move-result v12 if-nez v12, :cond_5 .line 348 iget-object v12, v1, Landroidx/constraintlayout/solver/widgets/ConstraintWidgetContainer;->mWidgetGroups:Ljava/util/List; invoke-interface {v12}, Ljava/util/List;->clear()V .line 349 iget-object v12, v1, Landroidx/constraintlayout/solver/widgets/ConstraintWidgetContainer;->mWidgetGroups:Ljava/util/List; new-instance v13, Landroidx/constraintlayout/solver/widgets/ConstraintWidgetGroup; iget-object v14, v1, Landroidx/constraintlayout/solver/widgets/ConstraintWidgetContainer;->mChildren:Ljava/util/ArrayList; invoke-direct {v13, v14}, Landroidx/constraintlayout/solver/widgets/ConstraintWidgetGroup;-><init>(Ljava/util/List;)V invoke-interface {v12, v4, v13}, Ljava/util/List;->add(ILjava/lang/Object;)V .line 352 :cond_5 const/4 v12, 0x0 .line 353 .local v12, "countSolve":I iget-object v13, v1, Landroidx/constraintlayout/solver/widgets/ConstraintWidgetContainer;->mWidgetGroups:Ljava/util/List; invoke-interface {v13}, Ljava/util/List;->size()I move-result v13 .line 354 .local v13, "groupSize":I iget-object v14, v1, Landroidx/constraintlayout/solver/widgets/ConstraintWidgetContainer;->mChildren:Ljava/util/ArrayList; .line 355 .local v14, "allChildren":Ljava/util/List;, "Ljava/util/List<Landroidx/constraintlayout/solver/widgets/ConstraintWidget;>;" invoke-virtual/range {p0 .. p0}, Landroidx/constraintlayout/solver/widgets/ConstraintWidgetContainer;->getHorizontalDimensionBehaviour()Landroidx/constraintlayout/solver/widgets/ConstraintWidget$DimensionBehaviour; move-result-object v15 sget-object v8, Landroidx/constraintlayout/solver/widgets/ConstraintWidget$DimensionBehaviour;->WRAP_CONTENT:Landroidx/constraintlayout/solver/widgets/ConstraintWidget$DimensionBehaviour; if-eq v15, v8, :cond_7 invoke-virtual/range {p0 .. p0}, Landroidx/constraintlayout/solver/widgets/ConstraintWidgetContainer;->getVerticalDimensionBehaviour()Landroidx/constraintlayout/solver/widgets/ConstraintWidget$DimensionBehaviour; move-result-object v8 sget-object v15, Landroidx/constraintlayout/solver/widgets/ConstraintWidget$DimensionBehaviour;->WRAP_CONTENT:Landroidx/constraintlayout/solver/widgets/ConstraintWidget$DimensionBehaviour; if-ne v8, v15, :cond_6 goto :goto_2 :cond_6 const/4 v8, 0x0 goto :goto_3 :cond_7 :goto_2 const/4 v8, 0x1 .line 357 .local v8, "hasWrapContent":Z :goto_3 const/4 v15, 0x0 .local v15, "groupIndex":I :goto_4 if-ge v15, v13, :cond_1e iget-boolean v9, v1, Landroidx/constraintlayout/solver/widgets/ConstraintWidgetContainer;->mSkipSolver:Z if-nez v9, :cond_1e .line 358 iget-object v9, v1, Landroidx/constraintlayout/solver/widgets/ConstraintWidgetContainer;->mWidgetGroups:Ljava/util/List; invoke-interface {v9, v15}, Ljava/util/List;->get(I)Ljava/lang/Object; move-result-object v9 check-cast v9, Landroidx/constraintlayout/solver/widgets/ConstraintWidgetGroup; iget-boolean v9, v9, Landroidx/constraintlayout/solver/widgets/ConstraintWidgetGroup;->mSkipSolver:Z if-eqz v9, :cond_8 .line 359 move/from16 v22, v13 goto/16 :goto_13 .line 361 :cond_8 invoke-virtual {v1, v7}, Landroidx/constraintlayout/solver/widgets/ConstraintWidgetContainer;->optimizeFor(I)Z move-result v9 if-eqz v9, :cond_a .line 362 invoke-virtual/range {p0 .. p0}, Landroidx/constraintlayout/solver/widgets/ConstraintWidgetContainer;->getHorizontalDimensionBehaviour()Landroidx/constraintlayout/solver/widgets/ConstraintWidget$DimensionBehaviour; move-result-object v9 sget-object v7, Landroidx/constraintlayout/solver/widgets/ConstraintWidget$DimensionBehaviour;->FIXED:Landroidx/constraintlayout/solver/widgets/ConstraintWidget$DimensionBehaviour; if-ne v9, v7, :cond_9 invoke-virtual/range {p0 .. p0}, Landroidx/constraintlayout/solver/widgets/ConstraintWidgetContainer;->getVerticalDimensionBehaviour()Landroidx/constraintlayout/solver/widgets/ConstraintWidget$DimensionBehaviour; move-result-object v7 sget-object v9, Landroidx/constraintlayout/solver/widgets/ConstraintWidget$DimensionBehaviour;->FIXED:Landroidx/constraintlayout/solver/widgets/ConstraintWidget$DimensionBehaviour; if-ne v7, v9, :cond_9 .line 363 iget-object v7, v1, Landroidx/constraintlayout/solver/widgets/ConstraintWidgetContainer;->mWidgetGroups:Ljava/util/List; invoke-interface {v7, v15}, Ljava/util/List;->get(I)Ljava/lang/Object; move-result-object v7 check-cast v7, Landroidx/constraintlayout/solver/widgets/ConstraintWidgetGroup; invoke-virtual {v7}, Landroidx/constraintlayout/solver/widgets/ConstraintWidgetGroup;->getWidgetsToSolve()Ljava/util/List; move-result-object v7 check-cast v7, Ljava/util/ArrayList; iput-object v7, v1, Landroidx/constraintlayout/solver/widgets/ConstraintWidgetContainer;->mChildren:Ljava/util/ArrayList; goto :goto_5 .line 365 :cond_9 iget-object v7, v1, Landroidx/constraintlayout/solver/widgets/ConstraintWidgetContainer;->mWidgetGroups:Ljava/util/List; invoke-interface {v7, v15}, Ljava/util/List;->get(I)Ljava/lang/Object; move-result-object v7 check-cast v7, Landroidx/constraintlayout/solver/widgets/ConstraintWidgetGroup; iget-object v7, v7, Landroidx/constraintlayout/solver/widgets/ConstraintWidgetGroup;->mConstrainedGroup:Ljava/util/List; check-cast v7, Ljava/util/ArrayList; iput-object v7, v1, Landroidx/constraintlayout/solver/widgets/ConstraintWidgetContainer;->mChildren:Ljava/util/ArrayList; .line 368 :cond_a :goto_5 invoke-direct/range {p0 .. p0}, Landroidx/constraintlayout/solver/widgets/ConstraintWidgetContainer;->resetChains()V .line 369 iget-object v7, v1, Landroidx/constraintlayout/solver/widgets/ConstraintWidgetContainer;->mChildren:Ljava/util/ArrayList; invoke-virtual {v7}, Ljava/util/ArrayList;->size()I move-result v7 .line 370 .local v7, "count":I const/4 v9, 0x0 .line 374 .end local v12 # "countSolve":I .local v9, "countSolve":I const/4 v12, 0x0 .local v12, "i":I :goto_6 if-ge v12, v7, :cond_c .line 375 iget-object v4, v1, Landroidx/constraintlayout/solver/widgets/ConstraintWidgetContainer;->mChildren:Ljava/util/ArrayList; invoke-virtual {v4, v12}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object; move-result-object v4 check-cast v4, Landroidx/constraintlayout/solver/widgets/ConstraintWidget; .line 376 .local v4, "widget":Landroidx/constraintlayout/solver/widgets/ConstraintWidget; move/from16 v19, v9 .end local v9 # "countSolve":I .local v19, "countSolve":I instance-of v9, v4, Landroidx/constraintlayout/solver/widgets/WidgetContainer; if-eqz v9, :cond_b .line 377 move-object v9, v4 check-cast v9, Landroidx/constraintlayout/solver/widgets/WidgetContainer; invoke-virtual {v9}, Landroidx/constraintlayout/solver/widgets/WidgetContainer;->layout()V .line 374 .end local v4 # "widget":Landroidx/constraintlayout/solver/widgets/ConstraintWidget; :cond_b add-int/lit8 v12, v12, 0x1 move/from16 v9, v19 const/4 v4, 0x0 goto :goto_6 .end local v19 # "countSolve":I .restart local v9 # "countSolve":I :cond_c move/from16 v19, v9 .line 382 .end local v9 # "countSolve":I .end local v12 # "i":I .restart local v19 # "countSolve":I const/4 v4, 0x1 move v9, v0 .line 383 .end local v0 # "wrap_override":Z .local v4, "needsSolving":Z .local v9, "wrap_override":Z :goto_7 if-eqz v4, :cond_1d .line 384 add-int/lit8 v12, v19, 0x1 .line 386 .end local v19 # "countSolve":I .local v12, "countSolve":I :try_start_0 iget-object v0, v1, Landroidx/constraintlayout/solver/widgets/ConstraintWidgetContainer;->mSystem:Landroidx/constraintlayout/solver/LinearSystem; invoke-virtual {v0}, Landroidx/constraintlayout/solver/LinearSystem;->reset()V .line 387 invoke-direct/range {p0 .. p0}, Landroidx/constraintlayout/solver/widgets/ConstraintWidgetContainer;->resetChains()V .line 397 iget-object v0, v1, Landroidx/constraintlayout/solver/widgets/ConstraintWidgetContainer;->mSystem:Landroidx/constraintlayout/solver/LinearSystem; invoke-virtual {v1, v0}, Landroidx/constraintlayout/solver/widgets/ConstraintWidgetContainer;->createObjectVariables(Landroidx/constraintlayout/solver/LinearSystem;)V :try_end_0 .catch Ljava/lang/Exception; {:try_start_0 .. :try_end_0} :catch_3 .line 398 const/4 v0, 0x0 .local v0, "i":I :goto_8 if-ge v0, v7, :cond_d .line 399 move/from16 v20, v4 .end local v4 # "needsSolving":Z .local v20, "needsSolving":Z :try_start_1 iget-object v4, v1, Landroidx/constraintlayout/solver/widgets/ConstraintWidgetContainer;->mChildren:Ljava/util/ArrayList; invoke-virtual {v4, v0}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object; move-result-object v4 check-cast v4, Landroidx/constraintlayout/solver/widgets/ConstraintWidget; :try_end_1 .catch Ljava/lang/Exception; {:try_start_1 .. :try_end_1} :catch_0 .line 400 .local v4, "widget":Landroidx/constraintlayout/solver/widgets/ConstraintWidget; move/from16 v21, v9 .end local v9 # "wrap_override":Z .local v21, "wrap_override":Z :try_start_2 iget-object v9, v1, Landroidx/constraintlayout/solver/widgets/ConstraintWidgetContainer;->mSystem:Landroidx/constraintlayout/solver/LinearSystem; invoke-virtual {v4, v9}, Landroidx/constraintlayout/solver/widgets/ConstraintWidget;->createObjectVariables(Landroidx/constraintlayout/solver/LinearSystem;)V .line 398 .end local v4 # "widget":Landroidx/constraintlayout/solver/widgets/ConstraintWidget; add-int/lit8 v0, v0, 0x1 move/from16 v4, v20 move/from16 v9, v21 goto :goto_8 .line 407 .end local v0 # "i":I .end local v21 # "wrap_override":Z .restart local v9 # "wrap_override":Z :catch_0 move-exception v0 move/from16 v21, v9 move/from16 v4, v20 .end local v9 # "wrap_override":Z .restart local v21 # "wrap_override":Z goto :goto_a .line 398 .end local v20 # "needsSolving":Z .end local v21 # "wrap_override":Z .restart local v0 # "i":I .local v4, "needsSolving":Z .restart local v9 # "wrap_override":Z :cond_d move/from16 v20, v4 move/from16 v21, v9 .line 403 .end local v0 # "i":I .end local v4 # "needsSolving":Z .end local v9 # "wrap_override":Z .restart local v20 # "needsSolving":Z .restart local v21 # "wrap_override":Z iget-object v0, v1, Landroidx/constraintlayout/solver/widgets/ConstraintWidgetContainer;->mSystem:Landroidx/constraintlayout/solver/LinearSystem; invoke-virtual {v1, v0}, Landroidx/constraintlayout/solver/widgets/ConstraintWidgetContainer;->addChildrenToSolver(Landroidx/constraintlayout/solver/LinearSystem;)Z move-result v0 :try_end_2 .catch Ljava/lang/Exception; {:try_start_2 .. :try_end_2} :catch_2 move v4, v0 .line 404 .end local v20 # "needsSolving":Z .restart local v4 # "needsSolving":Z if-eqz v4, :cond_e .line 405 :try_start_3 iget-object v0, v1, Landroidx/constraintlayout/solver/widgets/ConstraintWidgetContainer;->mSystem:Landroidx/constraintlayout/solver/LinearSystem; invoke-virtual {v0}, Landroidx/constraintlayout/solver/LinearSystem;->minimize()V :try_end_3 .catch Ljava/lang/Exception; {:try_start_3 .. :try_end_3} :catch_1 goto :goto_9 .line 407 :catch_1 move-exception v0 goto :goto_a .line 410 :cond_e :goto_9 move/from16 v19, v4 move/from16 v22, v13 goto :goto_b .line 407 .end local v4 # "needsSolving":Z .restart local v20 # "needsSolving":Z :catch_2 move-exception v0 move/from16 v4, v20 goto :goto_a .end local v20 # "needsSolving":Z .end local v21 # "wrap_override":Z .restart local v4 # "needsSolving":Z .restart local v9 # "wrap_override":Z :catch_3 move-exception v0 move/from16 v20, v4 move/from16 v21, v9 .line 408 .end local v9 # "wrap_override":Z .local v0, "e":Ljava/lang/Exception; .restart local v21 # "wrap_override":Z :goto_a invoke-virtual {v0}, Ljava/lang/Exception;->printStackTrace()V .line 409 sget-object v9, Ljava/lang/System;->out:Ljava/io/PrintStream; move/from16 v19, v4 .end local v4 # "needsSolving":Z .local v19, "needsSolving":Z new-instance v4, Ljava/lang/StringBuilder; invoke-direct {v4}, Ljava/lang/StringBuilder;-><init>()V move/from16 v22, v13 .end local v13 # "groupSize":I .local v22, "groupSize":I const-string v13, "EXCEPTION : " invoke-virtual {v4, v13}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; invoke-virtual {v4, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder; invoke-virtual {v4}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object v4 invoke-virtual {v9, v4}, Ljava/io/PrintStream;->println(Ljava/lang/String;)V .line 411 .end local v0 # "e":Ljava/lang/Exception; :goto_b if-eqz v19, :cond_f .line 412 iget-object v4, v1, Landroidx/constraintlayout/solver/widgets/ConstraintWidgetContainer;->mSystem:Landroidx/constraintlayout/solver/LinearSystem; sget-object v9, Landroidx/constraintlayout/solver/widgets/Optimizer;->flags:[Z invoke-virtual {v1, v4, v9}, Landroidx/constraintlayout/solver/widgets/ConstraintWidgetContainer;->updateChildrenFromSolver(Landroidx/constraintlayout/solver/LinearSystem;[Z)V goto :goto_e .line 414 :cond_f iget-object v4, v1, Landroidx/constraintlayout/solver/widgets/ConstraintWidgetContainer;->mSystem:Landroidx/constraintlayout/solver/LinearSystem; invoke-virtual {v1, v4}, Landroidx/constraintlayout/solver/widgets/ConstraintWidgetContainer;->updateFromSolver(Landroidx/constraintlayout/solver/LinearSystem;)V .line 415 const/4 v4, 0x0 .local v4, "i":I :goto_c if-ge v4, v7, :cond_13 .line 416 iget-object v9, v1, Landroidx/constraintlayout/solver/widgets/ConstraintWidgetContainer;->mChildren:Ljava/util/ArrayList; invoke-virtual {v9, v4}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object; move-result-object v9 check-cast v9, Landroidx/constraintlayout/solver/widgets/ConstraintWidget; .line 417 .local v9, "widget":Landroidx/constraintlayout/solver/widgets/ConstraintWidget; iget-object v13, v9, Landroidx/constraintlayout/solver/widgets/ConstraintWidget;->mListDimensionBehaviors:[Landroidx/constraintlayout/solver/widgets/ConstraintWidget$DimensionBehaviour; const/16 v18, 0x0 aget-object v13, v13, v18 sget-object v0, Landroidx/constraintlayout/solver/widgets/ConstraintWidget$DimensionBehaviour;->MATCH_CONSTRAINT:Landroidx/constraintlayout/solver/widgets/ConstraintWidget$DimensionBehaviour; if-ne v13, v0, :cond_11 .line 419 invoke-virtual {v9}, Landroidx/constraintlayout/solver/widgets/ConstraintWidget;->getWidth()I move-result v0 invoke-virtual {v9}, Landroidx/constraintlayout/solver/widgets/ConstraintWidget;->getWrapWidth()I move-result v13 if-ge v0, v13, :cond_10 .line 420 sget-object v0, Landroidx/constraintlayout/solver/widgets/Optimizer;->flags:[Z const/4 v13, 0x2 const/16 v17, 0x1 aput-boolean v17, v0, v13 .line 421 goto :goto_e .line 419 :cond_10 const/16 v17, 0x1 goto :goto_d .line 417 :cond_11 const/16 v17, 0x1 .line 423 :goto_d iget-object v0, v9, Landroidx/constraintlayout/solver/widgets/ConstraintWidget;->mListDimensionBehaviors:[Landroidx/constraintlayout/solver/widgets/ConstraintWidget$DimensionBehaviour; aget-object v0, v0, v17 sget-object v13, Landroidx/constraintlayout/solver/widgets/ConstraintWidget$DimensionBehaviour;->MATCH_CONSTRAINT:Landroidx/constraintlayout/solver/widgets/ConstraintWidget$DimensionBehaviour; if-ne v0, v13, :cond_12 .line 425 invoke-virtual {v9}, Landroidx/constraintlayout/solver/widgets/ConstraintWidget;->getHeight()I move-result v0 invoke-virtual {v9}, Landroidx/constraintlayout/solver/widgets/ConstraintWidget;->getWrapHeight()I move-result v13 if-ge v0, v13, :cond_12 .line 426 sget-object v0, Landroidx/constraintlayout/solver/widgets/Optimizer;->flags:[Z const/4 v13, 0x2 aput-boolean v17, v0, v13 .line 427 goto :goto_e .line 415 .end local v9 # "widget":Landroidx/constraintlayout/solver/widgets/ConstraintWidget; :cond_12 add-int/lit8 v4, v4, 0x1 goto :goto_c .line 431 .end local v4 # "i":I :cond_13 :goto_e const/4 v0, 0x0 .line 433 .end local v19 # "needsSolving":Z .local v0, "needsSolving":Z if-eqz v8, :cond_16 const/16 v4, 0x8 if-ge v12, v4, :cond_16 sget-object v9, Landroidx/constraintlayout/solver/widgets/Optimizer;->flags:[Z const/4 v13, 0x2 aget-boolean v9, v9, v13 if-eqz v9, :cond_16 .line 436 const/4 v9, 0x0 .line 437 .local v9, "maxX":I const/4 v13, 0x0 .line 438 .local v13, "maxY":I const/16 v16, 0x0 move v4, v13 move v13, v9 move/from16 v9, v16 .local v4, "maxY":I .local v9, "i":I .local v13, "maxX":I :goto_f if-ge v9, v7, :cond_14 .line 439 move/from16 v19, v0 .end local v0 # "needsSolving":Z .restart local v19 # "needsSolving":Z iget-object v0, v1, Landroidx/constraintlayout/solver/widgets/ConstraintWidgetContainer;->mChildren:Ljava/util/ArrayList; invoke-virtual {v0, v9}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object; move-result-object v0 check-cast v0, Landroidx/constraintlayout/solver/widgets/ConstraintWidget; .line 440 .local v0, "widget":Landroidx/constraintlayout/solver/widgets/ConstraintWidget; move/from16 v23, v7 .end local v7 # "count":I .local v23, "count":I iget v7, v0, Landroidx/constraintlayout/solver/widgets/ConstraintWidget;->mX:I invoke-virtual {v0}, Landroidx/constraintlayout/solver/widgets/ConstraintWidget;->getWidth()I move-result v20 add-int v7, v7, v20 invoke-static {v13, v7}, Ljava/lang/Math;->max(II)I move-result v13 .line 441 iget v7, v0, Landroidx/constraintlayout/solver/widgets/ConstraintWidget;->mY:I invoke-virtual {v0}, Landroidx/constraintlayout/solver/widgets/ConstraintWidget;->getHeight()I move-result v20 add-int v7, v7, v20 invoke-static {v4, v7}, Ljava/lang/Math;->max(II)I move-result v4 .line 438 .end local v0 # "widget":Landroidx/constraintlayout/solver/widgets/ConstraintWidget; add-int/lit8 v9, v9, 0x1 move/from16 v0, v19 move/from16 v7, v23 goto :goto_f .end local v19 # "needsSolving":Z .end local v23 # "count":I .local v0, "needsSolving":Z .restart local v7 # "count":I :cond_14 move/from16 v19, v0 move/from16 v23, v7 .line 443 .end local v0 # "needsSolving":Z .end local v7 # "count":I .end local v9 # "i":I .restart local v19 # "needsSolving":Z .restart local v23 # "count":I iget v0, v1, Landroidx/constraintlayout/solver/widgets/ConstraintWidgetContainer;->mMinWidth:I invoke-static {v0, v13}, Ljava/lang/Math;->max(II)I move-result v0 .line 444 .end local v13 # "maxX":I .local v0, "maxX":I iget v7, v1, Landroidx/constraintlayout/solver/widgets/ConstraintWidgetContainer;->mMinHeight:I invoke-static {v7, v4}, Ljava/lang/Math;->max(II)I move-result v4 .line 445 sget-object v7, Landroidx/constraintlayout/solver/widgets/ConstraintWidget$DimensionBehaviour;->WRAP_CONTENT:Landroidx/constraintlayout/solver/widgets/ConstraintWidget$DimensionBehaviour; if-ne v11, v7, :cond_15 .line 446 invoke-virtual/range {p0 .. p0}, Landroidx/constraintlayout/solver/widgets/ConstraintWidgetContainer;->getWidth()I move-result v7 if-ge v7, v0, :cond_15 .line 451 invoke-virtual {v1, v0}, Landroidx/constraintlayout/solver/widgets/ConstraintWidgetContainer;->setWidth(I)V .line 452 iget-object v7, v1, Landroidx/constraintlayout/solver/widgets/ConstraintWidgetContainer;->mListDimensionBehaviors:[Landroidx/constraintlayout/solver/widgets/ConstraintWidget$DimensionBehaviour; sget-object v9, Landroidx/constraintlayout/solver/widgets/ConstraintWidget$DimensionBehaviour;->WRAP_CONTENT:Landroidx/constraintlayout/solver/widgets/ConstraintWidget$DimensionBehaviour; const/4 v13, 0x0 aput-object v9, v7, v13 .line 453 const/4 v9, 0x1 .line 454 .end local v21 # "wrap_override":Z .local v9, "wrap_override":Z const/4 v7, 0x1 move/from16 v19, v7 .end local v19 # "needsSolving":Z .local v7, "needsSolving":Z goto :goto_10 .line 457 .end local v7 # "needsSolving":Z .end local v9 # "wrap_override":Z .restart local v19 # "needsSolving":Z .restart local v21 # "wrap_override":Z :cond_15 move/from16 v9, v21 .end local v21 # "wrap_override":Z .restart local v9 # "wrap_override":Z :goto_10 sget-object v7, Landroidx/constraintlayout/solver/widgets/ConstraintWidget$DimensionBehaviour;->WRAP_CONTENT:Landroidx/constraintlayout/solver/widgets/ConstraintWidget$DimensionBehaviour; if-ne v10, v7, :cond_17 .line 458 invoke-virtual/range {p0 .. p0}, Landroidx/constraintlayout/solver/widgets/ConstraintWidgetContainer;->getHeight()I move-result v7 if-ge v7, v4, :cond_17 .line 463 invoke-virtual {v1, v4}, Landroidx/constraintlayout/solver/widgets/ConstraintWidgetContainer;->setHeight(I)V .line 464 iget-object v7, v1, Landroidx/constraintlayout/solver/widgets/ConstraintWidgetContainer;->mListDimensionBehaviors:[Landroidx/constraintlayout/solver/widgets/ConstraintWidget$DimensionBehaviour; sget-object v13, Landroidx/constraintlayout/solver/widgets/ConstraintWidget$DimensionBehaviour;->WRAP_CONTENT:Landroidx/constraintlayout/solver/widgets/ConstraintWidget$DimensionBehaviour; const/16 v17, 0x1 aput-object v13, v7, v17 .line 465 const/4 v9, 0x1 .line 466 const/4 v7, 0x1 move/from16 v19, v7 .end local v19 # "needsSolving":Z .restart local v7 # "needsSolving":Z goto :goto_11 .line 433 .end local v4 # "maxY":I .end local v9 # "wrap_override":Z .end local v23 # "count":I .local v0, "needsSolving":Z .local v7, "count":I .restart local v21 # "wrap_override":Z :cond_16 move/from16 v19, v0 move/from16 v23, v7 .line 471 .end local v0 # "needsSolving":Z .end local v7 # "count":I .restart local v19 # "needsSolving":Z .restart local v23 # "count":I move/from16 v9, v21 .end local v21 # "wrap_override":Z .restart local v9 # "wrap_override":Z :cond_17 :goto_11 iget v0, v1, Landroidx/constraintlayout/solver/widgets/ConstraintWidgetContainer;->mMinWidth:I invoke-virtual/range {p0 .. p0}, Landroidx/constraintlayout/solver/widgets/ConstraintWidgetContainer;->getWidth()I move-result v4 invoke-static {v0, v4}, Ljava/lang/Math;->max(II)I move-result v0 .line 472 .local v0, "width":I invoke-virtual/range {p0 .. p0}, Landroidx/constraintlayout/solver/widgets/ConstraintWidgetContainer;->getWidth()I move-result v4 if-le v0, v4, :cond_18 .line 477 invoke-virtual {v1, v0}, Landroidx/constraintlayout/solver/widgets/ConstraintWidgetContainer;->setWidth(I)V .line 478 iget-object v4, v1, Landroidx/constraintlayout/solver/widgets/ConstraintWidgetContainer;->mListDimensionBehaviors:[Landroidx/constraintlayout/solver/widgets/ConstraintWidget$DimensionBehaviour; sget-object v7, Landroidx/constraintlayout/solver/widgets/ConstraintWidget$DimensionBehaviour;->FIXED:Landroidx/constraintlayout/solver/widgets/ConstraintWidget$DimensionBehaviour; const/4 v13, 0x0 aput-object v7, v4, v13 .line 479 const/4 v9, 0x1 .line 480 const/16 v19, 0x1 .line 482 :cond_18 iget v4, v1, Landroidx/constraintlayout/solver/widgets/ConstraintWidgetContainer;->mMinHeight:I invoke-virtual/range {p0 .. p0}, Landroidx/constraintlayout/solver/widgets/ConstraintWidgetContainer;->getHeight()I move-result v7 invoke-static {v4, v7}, Ljava/lang/Math;->max(II)I move-result v4 .line 483 .local v4, "height":I invoke-virtual/range {p0 .. p0}, Landroidx/constraintlayout/solver/widgets/ConstraintWidgetContainer;->getHeight()I move-result v7 if-le v4, v7, :cond_19 .line 488 invoke-virtual {v1, v4}, Landroidx/constraintlayout/solver/widgets/ConstraintWidgetContainer;->setHeight(I)V .line 489 iget-object v7, v1, Landroidx/constraintlayout/solver/widgets/ConstraintWidgetContainer;->mListDimensionBehaviors:[Landroidx/constraintlayout/solver/widgets/ConstraintWidget$DimensionBehaviour; sget-object v13, Landroidx/constraintlayout/solver/widgets/ConstraintWidget$DimensionBehaviour;->FIXED:Landroidx/constraintlayout/solver/widgets/ConstraintWidget$DimensionBehaviour; const/16 v17, 0x1 aput-object v13, v7, v17 .line 490 const/4 v9, 0x1 .line 491 const/16 v19, 0x1 .line 494 :cond_19 if-nez v9, :cond_1c .line 495 iget-object v7, v1, Landroidx/constraintlayout/solver/widgets/ConstraintWidgetContainer;->mListDimensionBehaviors:[Landroidx/constraintlayout/solver/widgets/ConstraintWidget$DimensionBehaviour; const/4 v13, 0x0 aget-object v7, v7, v13 sget-object v13, Landroidx/constraintlayout/solver/widgets/ConstraintWidget$DimensionBehaviour;->WRAP_CONTENT:Landroidx/constraintlayout/solver/widgets/ConstraintWidget$DimensionBehaviour; if-ne v7, v13, :cond_1a if-lez v5, :cond_1a .line 497 invoke-virtual/range {p0 .. p0}, Landroidx/constraintlayout/solver/widgets/ConstraintWidgetContainer;->getWidth()I move-result v7 if-le v7, v5, :cond_1a .line 503 const/4 v7, 0x1 iput-boolean v7, v1, Landroidx/constraintlayout/solver/widgets/ConstraintWidgetContainer;->mWidthMeasuredTooSmall:Z .line 504 const/4 v9, 0x1 .line 505 iget-object v7, v1, Landroidx/constraintlayout/solver/widgets/ConstraintWidgetContainer;->mListDimensionBehaviors:[Landroidx/constraintlayout/solver/widgets/ConstraintWidget$DimensionBehaviour; sget-object v13, Landroidx/constraintlayout/solver/widgets/ConstraintWidget$DimensionBehaviour;->FIXED:Landroidx/constraintlayout/solver/widgets/ConstraintWidget$DimensionBehaviour; const/16 v18, 0x0 aput-object v13, v7, v18 .line 506 invoke-virtual {v1, v5}, Landroidx/constraintlayout/solver/widgets/ConstraintWidgetContainer;->setWidth(I)V .line 507 const/16 v19, 0x1 .line 510 :cond_1a iget-object v7, v1, Landroidx/constraintlayout/solver/widgets/ConstraintWidgetContainer;->mListDimensionBehaviors:[Landroidx/constraintlayout/solver/widgets/ConstraintWidget$DimensionBehaviour; const/4 v13, 0x1 aget-object v7, v7, v13 sget-object v13, Landroidx/constraintlayout/solver/widgets/ConstraintWidget$DimensionBehaviour;->WRAP_CONTENT:Landroidx/constraintlayout/solver/widgets/ConstraintWidget$DimensionBehaviour; if-ne v7, v13, :cond_1b if-lez v6, :cond_1b .line 512 invoke-virtual/range {p0 .. p0}, Landroidx/constraintlayout/solver/widgets/ConstraintWidgetContainer;->getHeight()I move-result v7 if-le v7, v6, :cond_1b .line 518 const/4 v7, 0x1 iput-boolean v7, v1, Landroidx/constraintlayout/solver/widgets/ConstraintWidgetContainer;->mHeightMeasuredTooSmall:Z .line 519 const/4 v9, 0x1 .line 520 iget-object v13, v1, Landroidx/constraintlayout/solver/widgets/ConstraintWidgetContainer;->mListDimensionBehaviors:[Landroidx/constraintlayout/solver/widgets/ConstraintWidget$DimensionBehaviour; sget-object v17, Landroidx/constraintlayout/solver/widgets/ConstraintWidget$DimensionBehaviour;->FIXED:Landroidx/constraintlayout/solver/widgets/ConstraintWidget$DimensionBehaviour; aput-object v17, v13, v7 .line 521 invoke-virtual {v1, v6}, Landroidx/constraintlayout/solver/widgets/ConstraintWidgetContainer;->setHeight(I)V .line 522 const/4 v7, 0x1 move v4, v7 .end local v19 # "needsSolving":Z .local v7, "needsSolving":Z goto :goto_12 .line 526 .end local v0 # "width":I .end local v4 # "height":I .end local v7 # "needsSolving":Z .restart local v19 # "needsSolving":Z :cond_1b move/from16 v4, v19 goto :goto_12 .line 494 .restart local v0 # "width":I .restart local v4 # "height":I :cond_1c move/from16 v4, v19 .line 526 .end local v0 # "width":I .end local v19 # "needsSolving":Z .local v4, "needsSolving":Z :goto_12 move/from16 v19, v12 move/from16 v13, v22 move/from16 v7, v23 goto/16 :goto_7 .line 534 .end local v12 # "countSolve":I .end local v22 # "groupSize":I .end local v23 # "count":I .local v7, "count":I .local v13, "groupSize":I .local v19, "countSolve":I :cond_1d move/from16 v20, v4 move/from16 v23, v7 move/from16 v21, v9 move/from16 v22, v13 .end local v4 # "needsSolving":Z .end local v7 # "count":I .end local v9 # "wrap_override":Z .end local v13 # "groupSize":I .restart local v20 # "needsSolving":Z .restart local v21 # "wrap_override":Z .restart local v22 # "groupSize":I .restart local v23 # "count":I iget-object v0, v1, Landroidx/constraintlayout/solver/widgets/ConstraintWidgetContainer;->mWidgetGroups:Ljava/util/List; invoke-interface {v0, v15}, Ljava/util/List;->get(I)Ljava/lang/Object; move-result-object v0 check-cast v0, Landroidx/constraintlayout/solver/widgets/ConstraintWidgetGroup; invoke-virtual {v0}, Landroidx/constraintlayout/solver/widgets/ConstraintWidgetGroup;->updateUnresolvedWidgets()V move/from16 v12, v19 move/from16 v0, v21 .line 357 .end local v19 # "countSolve":I .end local v20 # "needsSolving":Z .end local v21 # "wrap_override":Z .end local v23 # "count":I .local v0, "wrap_override":Z .restart local v12 # "countSolve":I :goto_13 add-int/lit8 v15, v15, 0x1 move/from16 v13, v22 const/4 v4, 0x0 const/16 v7, 0x20 const/4 v9, 0x1 goto/16 :goto_4 .end local v22 # "groupSize":I .restart local v13 # "groupSize":I :cond_1e move/from16 v22, v13 .line 536 .end local v13 # "groupSize":I .end local v15 # "groupIndex":I .restart local v22 # "groupSize":I move-object v4, v14 check-cast v4, Ljava/util/ArrayList; iput-object v4, v1, Landroidx/constraintlayout/solver/widgets/ConstraintWidgetContainer;->mChildren:Ljava/util/ArrayList; .line 538 iget-object v4, v1, Landroidx/constraintlayout/solver/widgets/ConstraintWidgetContainer;->mParent:Landroidx/constraintlayout/solver/widgets/ConstraintWidget; if-eqz v4, :cond_1f .line 539 iget v4, v1, Landroidx/constraintlayout/solver/widgets/ConstraintWidgetContainer;->mMinWidth:I invoke-virtual/range {p0 .. p0}, Landroidx/constraintlayout/solver/widgets/ConstraintWidgetContainer;->getWidth()I move-result v7 invoke-static {v4, v7}, Ljava/lang/Math;->max(II)I move-result v4 .line 540 .local v4, "width":I iget v7, v1, Landroidx/constraintlayout/solver/widgets/ConstraintWidgetContainer;->mMinHeight:I invoke-virtual/range {p0 .. p0}, Landroidx/constraintlayout/solver/widgets/ConstraintWidgetContainer;->getHeight()I move-result v9 invoke-static {v7, v9}, Ljava/lang/Math;->max(II)I move-result v7 .line 542 .local v7, "height":I iget-object v9, v1, Landroidx/constraintlayout/solver/widgets/ConstraintWidgetContainer;->mSnapshot:Landroidx/constraintlayout/solver/widgets/Snapshot; invoke-virtual {v9, v1}, Landroidx/constraintlayout/solver/widgets/Snapshot;->applyTo(Landroidx/constraintlayout/solver/widgets/ConstraintWidget;)V .line 543 iget v9, v1, Landroidx/constraintlayout/solver/widgets/ConstraintWidgetContainer;->mPaddingLeft:I add-int/2addr v9, v4 iget v13, v1, Landroidx/constraintlayout/solver/widgets/ConstraintWidgetContainer;->mPaddingRight:I add-int/2addr v9, v13 invoke-virtual {v1, v9}, Landroidx/constraintlayout/solver/widgets/ConstraintWidgetContainer;->setWidth(I)V .line 544 iget v9, v1, Landroidx/constraintlayout/solver/widgets/ConstraintWidgetContainer;->mPaddingTop:I add-int/2addr v9, v7 iget v13, v1, Landroidx/constraintlayout/solver/widgets/ConstraintWidgetContainer;->mPaddingBottom:I add-int/2addr v9, v13 invoke-virtual {v1, v9}, Landroidx/constraintlayout/solver/widgets/ConstraintWidgetContainer;->setHeight(I)V .line 545 .end local v4 # "width":I .end local v7 # "height":I goto :goto_14 .line 546 :cond_1f iput v2, v1, Landroidx/constraintlayout/solver/widgets/ConstraintWidgetContainer;->mX:I .line 547 iput v3, v1, Landroidx/constraintlayout/solver/widgets/ConstraintWidgetContainer;->mY:I .line 549 :goto_14 if-eqz v0, :cond_20 .line 550 iget-object v4, v1, Landroidx/constraintlayout/solver/widgets/ConstraintWidgetContainer;->mListDimensionBehaviors:[Landroidx/constraintlayout/solver/widgets/ConstraintWidget$DimensionBehaviour; const/4 v7, 0x0 aput-object v11, v4, v7 .line 551 iget-object v4, v1, Landroidx/constraintlayout/solver/widgets/ConstraintWidgetContainer;->mListDimensionBehaviors:[Landroidx/constraintlayout/solver/widgets/ConstraintWidget$DimensionBehaviour; const/4 v7, 0x1 aput-object v10, v4, v7 .line 566 :cond_20 iget-object v4, v1, Landroidx/constraintlayout/solver/widgets/ConstraintWidgetContainer;->mSystem:Landroidx/constraintlayout/solver/LinearSystem; invoke-virtual {v4}, Landroidx/constraintlayout/solver/LinearSystem;->getCache()Landroidx/constraintlayout/solver/Cache; move-result-object v4 invoke-virtual {v1, v4}, Landroidx/constraintlayout/solver/widgets/ConstraintWidgetContainer;->resetSolverVariables(Landroidx/constraintlayout/solver/Cache;)V .line 567 invoke-virtual/range {p0 .. p0}, Landroidx/constraintlayout/solver/widgets/ConstraintWidgetContainer;->getRootConstraintContainer()Landroidx/constraintlayout/solver/widgets/ConstraintWidgetContainer; move-result-object v4 if-ne v1, v4, :cond_21 .line 568 invoke-virtual/range {p0 .. p0}, Landroidx/constraintlayout/solver/widgets/ConstraintWidgetContainer;->updateDrawPosition()V .line 570 :cond_21 return-void .end method .method public optimize()V .locals 1 .line 630 const/16 v0, 0x8 invoke-virtual {p0, v0}, Landroidx/constraintlayout/solver/widgets/ConstraintWidgetContainer;->optimizeFor(I)Z move-result v0 if-nez v0, :cond_0 .line 631 iget v0, p0, Landroidx/constraintlayout/solver/widgets/ConstraintWidgetContainer;->mOptimizationLevel:I invoke-virtual {p0, v0}, Landroidx/constraintlayout/solver/widgets/ConstraintWidgetContainer;->analyze(I)V .line 643 :cond_0 invoke-virtual {p0}, Landroidx/constraintlayout/solver/widgets/ConstraintWidgetContainer;->solveGraph()V .line 653 return-void .end method .method public optimizeFor(I)Z .locals 1 .param p1, "feature" # I .line 131 iget v0, p0, Landroidx/constraintlayout/solver/widgets/ConstraintWidgetContainer;->mOptimizationLevel:I and-int/2addr v0, p1 if-ne v0, p1, :cond_0 const/4 v0, 0x1 goto :goto_0 :cond_0 const/4 v0, 0x0 :goto_0 return v0 .end method .method public optimizeForDimensions(II)V .locals 2 .param p1, "width" # I .param p2, "height" # I .line 604 iget-object v0, p0, Landroidx/constraintlayout/solver/widgets/ConstraintWidgetContainer;->mListDimensionBehaviors:[Landroidx/constraintlayout/solver/widgets/ConstraintWidget$DimensionBehaviour; const/4 v1, 0x0 aget-object v0, v0, v1 sget-object v1, Landroidx/constraintlayout/solver/widgets/ConstraintWidget$DimensionBehaviour;->WRAP_CONTENT:Landroidx/constraintlayout/solver/widgets/ConstraintWidget$DimensionBehaviour; if-eq v0, v1, :cond_0 iget-object v0, p0, Landroidx/constraintlayout/solver/widgets/ConstraintWidgetContainer;->mResolutionWidth:Landroidx/constraintlayout/solver/widgets/ResolutionDimension; if-eqz v0, :cond_0 .line 605 iget-object v0, p0, Landroidx/constraintlayout/solver/widgets/ConstraintWidgetContainer;->mResolutionWidth:Landroidx/constraintlayout/solver/widgets/ResolutionDimension; invoke-virtual {v0, p1}, Landroidx/constraintlayout/solver/widgets/ResolutionDimension;->resolve(I)V .line 607 :cond_0 iget-object v0, p0, Landroidx/constraintlayout/solver/widgets/ConstraintWidgetContainer;->mListDimensionBehaviors:[Landroidx/constraintlayout/solver/widgets/ConstraintWidget$DimensionBehaviour; const/4 v1, 0x1 aget-object v0, v0, v1 sget-object v1, Landroidx/constraintlayout/solver/widgets/ConstraintWidget$DimensionBehaviour;->WRAP_CONTENT:Landroidx/constraintlayout/solver/widgets/ConstraintWidget$DimensionBehaviour; if-eq v0, v1, :cond_1 iget-object v0, p0, Landroidx/constraintlayout/solver/widgets/ConstraintWidgetContainer;->mResolutionHeight:Landroidx/constraintlayout/solver/widgets/ResolutionDimension; if-eqz v0, :cond_1 .line 608 iget-object v0, p0, Landroidx/constraintlayout/solver/widgets/ConstraintWidgetContainer;->mResolutionHeight:Landroidx/constraintlayout/solver/widgets/ResolutionDimension; invoke-virtual {v0, p2}, Landroidx/constraintlayout/solver/widgets/ResolutionDimension;->resolve(I)V .line 610 :cond_1 return-void .end method .method public optimizeReset()V .locals 3 .line 613 iget-object v0, p0, Landroidx/constraintlayout/solver/widgets/ConstraintWidgetContainer;->mChildren:Ljava/util/ArrayList; invoke-virtual {v0}, Ljava/util/ArrayList;->size()I move-result v0 .line 614 .local v0, "count":I invoke-virtual {p0}, Landroidx/constraintlayout/solver/widgets/ConstraintWidgetContainer;->resetResolutionNodes()V .line 615 const/4 v1, 0x0 .local v1, "i":I :goto_0 if-ge v1, v0, :cond_0 .line 616 iget-object v2, p0, Landroidx/constraintlayout/solver/widgets/ConstraintWidgetContainer;->mChildren:Ljava/util/ArrayList; invoke-virtual {v2, v1}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object; move-result-object v2 check-cast v2, Landroidx/constraintlayout/solver/widgets/ConstraintWidget; invoke-virtual {v2}, Landroidx/constraintlayout/solver/widgets/ConstraintWidget;->resetResolutionNodes()V .line 615 add-int/lit8 v1, v1, 0x1 goto :goto_0 .line 618 .end local v1 # "i":I :cond_0 return-void .end method .method public preOptimize()V .locals 1 .line 573 invoke-virtual {p0}, Landroidx/constraintlayout/solver/widgets/ConstraintWidgetContainer;->optimizeReset()V .line 574 iget v0, p0, Landroidx/constraintlayout/solver/widgets/ConstraintWidgetContainer;->mOptimizationLevel:I invoke-virtual {p0, v0}, Landroidx/constraintlayout/solver/widgets/ConstraintWidgetContainer;->analyze(I)V .line 575 return-void .end method .method public reset()V .locals 2 .line 146 iget-object v0, p0, Landroidx/constraintlayout/solver/widgets/ConstraintWidgetContainer;->mSystem:Landroidx/constraintlayout/solver/LinearSystem; invoke-virtual {v0}, Landroidx/constraintlayout/solver/LinearSystem;->reset()V .line 147 const/4 v0, 0x0 iput v0, p0, Landroidx/constraintlayout/solver/widgets/ConstraintWidgetContainer;->mPaddingLeft:I .line 148 iput v0, p0, Landroidx/constraintlayout/solver/widgets/ConstraintWidgetContainer;->mPaddingRight:I .line 149 iput v0, p0, Landroidx/constraintlayout/solver/widgets/ConstraintWidgetContainer;->mPaddingTop:I .line 150 iput v0, p0, Landroidx/constraintlayout/solver/widgets/ConstraintWidgetContainer;->mPaddingBottom:I .line 151 iget-object v1, p0, Landroidx/constraintlayout/solver/widgets/ConstraintWidgetContainer;->mWidgetGroups:Ljava/util/List; invoke-interface {v1}, Ljava/util/List;->clear()V .line 152 iput-boolean v0, p0, Landroidx/constraintlayout/solver/widgets/ConstraintWidgetContainer;->mSkipSolver:Z .line 153 invoke-super {p0}, Landroidx/constraintlayout/solver/widgets/WidgetContainer;->reset()V .line 154 return-void .end method .method public resetGraph()V .locals 4 .line 590 sget-object v0, Landroidx/constraintlayout/solver/widgets/ConstraintAnchor$Type;->LEFT:Landroidx/constraintlayout/solver/widgets/ConstraintAnchor$Type; invoke-virtual {p0, v0}, Landroidx/constraintlayout/solver/widgets/ConstraintWidgetContainer;->getAnchor(Landroidx/constraintlayout/solver/widgets/ConstraintAnchor$Type;)Landroidx/constraintlayout/solver/widgets/ConstraintAnchor; move-result-object v0 invoke-virtual {v0}, Landroidx/constraintlayout/solver/widgets/ConstraintAnchor;->getResolutionNode()Landroidx/constraintlayout/solver/widgets/ResolutionAnchor; move-result-object v0 .line 591 .local v0, "leftNode":Landroidx/constraintlayout/solver/widgets/ResolutionAnchor; sget-object v1, Landroidx/constraintlayout/solver/widgets/ConstraintAnchor$Type;->TOP:Landroidx/constraintlayout/solver/widgets/ConstraintAnchor$Type; invoke-virtual {p0, v1}, Landroidx/constraintlayout/solver/widgets/ConstraintWidgetContainer;->getAnchor(Landroidx/constraintlayout/solver/widgets/ConstraintAnchor$Type;)Landroidx/constraintlayout/solver/widgets/ConstraintAnchor; move-result-object v1 invoke-virtual {v1}, Landroidx/constraintlayout/solver/widgets/ConstraintAnchor;->getResolutionNode()Landroidx/constraintlayout/solver/widgets/ResolutionAnchor; move-result-object v1 .line 597 .local v1, "topNode":Landroidx/constraintlayout/solver/widgets/ResolutionAnchor; invoke-virtual {v0}, Landroidx/constraintlayout/solver/widgets/ResolutionAnchor;->invalidateAnchors()V .line 598 invoke-virtual {v1}, Landroidx/constraintlayout/solver/widgets/ResolutionAnchor;->invalidateAnchors()V .line 599 const/4 v2, 0x0 const/4 v3, 0x0 invoke-virtual {v0, v3, v2}, Landroidx/constraintlayout/solver/widgets/ResolutionAnchor;->resolve(Landroidx/constraintlayout/solver/widgets/ResolutionAnchor;F)V .line 600 invoke-virtual {v1, v3, v2}, Landroidx/constraintlayout/solver/widgets/ResolutionAnchor;->resolve(Landroidx/constraintlayout/solver/widgets/ResolutionAnchor;F)V .line 601 return-void .end method .method public setOptimizationLevel(I)V .locals 0 .param p1, "value" # I .line 113 iput p1, p0, Landroidx/constraintlayout/solver/widgets/ConstraintWidgetContainer;->mOptimizationLevel:I .line 114 return-void .end method .method public setPadding(IIII)V .locals 0 .param p1, "left" # I .param p2, "top" # I .param p3, "right" # I .param p4, "bottom" # I .line 248 iput p1, p0, Landroidx/constraintlayout/solver/widgets/ConstraintWidgetContainer;->mPaddingLeft:I .line 249 iput p2, p0, Landroidx/constraintlayout/solver/widgets/ConstraintWidgetContainer;->mPaddingTop:I .line 250 iput p3, p0, Landroidx/constraintlayout/solver/widgets/ConstraintWidgetContainer;->mPaddingRight:I .line 251 iput p4, p0, Landroidx/constraintlayout/solver/widgets/ConstraintWidgetContainer;->mPaddingBottom:I .line 252 return-void .end method .method public setRtl(Z)V .locals 0 .param p1, "isRtl" # Z .line 259 iput-boolean p1, p0, Landroidx/constraintlayout/solver/widgets/ConstraintWidgetContainer;->mIsRtl:Z .line 260 return-void .end method .method public solveGraph()V .locals 4 .line 578 sget-object v0, Landroidx/constraintlayout/solver/widgets/ConstraintAnchor$Type;->LEFT:Landroidx/constraintlayout/solver/widgets/ConstraintAnchor$Type; invoke-virtual {p0, v0}, Landroidx/constraintlayout/solver/widgets/ConstraintWidgetContainer;->getAnchor(Landroidx/constraintlayout/solver/widgets/ConstraintAnchor$Type;)Landroidx/constraintlayout/solver/widgets/ConstraintAnchor; move-result-object v0 invoke-virtual {v0}, Landroidx/constraintlayout/solver/widgets/ConstraintAnchor;->getResolutionNode()Landroidx/constraintlayout/solver/widgets/ResolutionAnchor; move-result-object v0 .line 579 .local v0, "leftNode":Landroidx/constraintlayout/solver/widgets/ResolutionAnchor; sget-object v1, Landroidx/constraintlayout/solver/widgets/ConstraintAnchor$Type;->TOP:Landroidx/constraintlayout/solver/widgets/ConstraintAnchor$Type; invoke-virtual {p0, v1}, Landroidx/constraintlayout/solver/widgets/ConstraintWidgetContainer;->getAnchor(Landroidx/constraintlayout/solver/widgets/ConstraintAnchor$Type;)Landroidx/constraintlayout/solver/widgets/ConstraintAnchor; move-result-object v1 invoke-virtual {v1}, Landroidx/constraintlayout/solver/widgets/ConstraintAnchor;->getResolutionNode()Landroidx/constraintlayout/solver/widgets/ResolutionAnchor; move-result-object v1 .line 585 .local v1, "topNode":Landroidx/constraintlayout/solver/widgets/ResolutionAnchor; const/4 v2, 0x0 const/4 v3, 0x0 invoke-virtual {v0, v3, v2}, Landroidx/constraintlayout/solver/widgets/ResolutionAnchor;->resolve(Landroidx/constraintlayout/solver/widgets/ResolutionAnchor;F)V .line 586 invoke-virtual {v1, v3, v2}, Landroidx/constraintlayout/solver/widgets/ResolutionAnchor;->resolve(Landroidx/constraintlayout/solver/widgets/ResolutionAnchor;F)V .line 587 return-void .end method .method public updateChildrenFromSolver(Landroidx/constraintlayout/solver/LinearSystem;[Z)V .locals 8 .param p1, "system" # Landroidx/constraintlayout/solver/LinearSystem; .param p2, "flags" # [Z .line 222 const/4 v0, 0x0 const/4 v1, 0x2 aput-boolean v0, p2, v1 .line 223 invoke-virtual {p0, p1}, Landroidx/constraintlayout/solver/widgets/ConstraintWidgetContainer;->updateFromSolver(Landroidx/constraintlayout/solver/LinearSystem;)V .line 224 iget-object v2, p0, Landroidx/constraintlayout/solver/widgets/ConstraintWidgetContainer;->mChildren:Ljava/util/ArrayList; invoke-virtual {v2}, Ljava/util/ArrayList;->size()I move-result v2 .line 225 .local v2, "count":I const/4 v3, 0x0 .local v3, "i":I :goto_0 if-ge v3, v2, :cond_2 .line 226 iget-object v4, p0, Landroidx/constraintlayout/solver/widgets/ConstraintWidgetContainer;->mChildren:Ljava/util/ArrayList; invoke-virtual {v4, v3}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object; move-result-object v4 check-cast v4, Landroidx/constraintlayout/solver/widgets/ConstraintWidget; .line 227 .local v4, "widget":Landroidx/constraintlayout/solver/widgets/ConstraintWidget; invoke-virtual {v4, p1}, Landroidx/constraintlayout/solver/widgets/ConstraintWidget;->updateFromSolver(Landroidx/constraintlayout/solver/LinearSystem;)V .line 228 iget-object v5, v4, Landroidx/constraintlayout/solver/widgets/ConstraintWidget;->mListDimensionBehaviors:[Landroidx/constraintlayout/solver/widgets/ConstraintWidget$DimensionBehaviour; aget-object v5, v5, v0 sget-object v6, Landroidx/constraintlayout/solver/widgets/ConstraintWidget$DimensionBehaviour;->MATCH_CONSTRAINT:Landroidx/constraintlayout/solver/widgets/ConstraintWidget$DimensionBehaviour; const/4 v7, 0x1 if-ne v5, v6, :cond_0 .line 229 invoke-virtual {v4}, Landroidx/constraintlayout/solver/widgets/ConstraintWidget;->getWidth()I move-result v5 invoke-virtual {v4}, Landroidx/constraintlayout/solver/widgets/ConstraintWidget;->getWrapWidth()I move-result v6 if-ge v5, v6, :cond_0 .line 230 aput-boolean v7, p2, v1 .line 232 :cond_0 iget-object v5, v4, Landroidx/constraintlayout/solver/widgets/ConstraintWidget;->mListDimensionBehaviors:[Landroidx/constraintlayout/solver/widgets/ConstraintWidget$DimensionBehaviour; aget-object v5, v5, v7 sget-object v6, Landroidx/constraintlayout/solver/widgets/ConstraintWidget$DimensionBehaviour;->MATCH_CONSTRAINT:Landroidx/constraintlayout/solver/widgets/ConstraintWidget$DimensionBehaviour; if-ne v5, v6, :cond_1 .line 233 invoke-virtual {v4}, Landroidx/constraintlayout/solver/widgets/ConstraintWidget;->getHeight()I move-result v5 invoke-virtual {v4}, Landroidx/constraintlayout/solver/widgets/ConstraintWidget;->getWrapHeight()I move-result v6 if-ge v5, v6, :cond_1 .line 234 aput-boolean v7, p2, v1 .line 225 .end local v4 # "widget":Landroidx/constraintlayout/solver/widgets/ConstraintWidget; :cond_1 add-int/lit8 v3, v3, 0x1 goto :goto_0 .line 237 .end local v3 # "i":I :cond_2 return-void .end method