Path: blob/master/Compiled_apk/smali/androidx/constraintlayout/solver/widgets/Optimizer.smali
3998 views
.class public Landroidx/constraintlayout/solver/widgets/Optimizer;
.super Ljava/lang/Object;
.source "Optimizer.java"
# static fields
.field static final FLAG_CHAIN_DANGLING:I = 0x1
.field static final FLAG_RECOMPUTE_BOUNDS:I = 0x2
.field static final FLAG_USE_OPTIMIZE:I = 0x0
.field public static final OPTIMIZATION_BARRIER:I = 0x2
.field public static final OPTIMIZATION_CHAIN:I = 0x4
.field public static final OPTIMIZATION_DIMENSIONS:I = 0x8
.field public static final OPTIMIZATION_DIRECT:I = 0x1
.field public static final OPTIMIZATION_GROUPS:I = 0x20
.field public static final OPTIMIZATION_NONE:I = 0x0
.field public static final OPTIMIZATION_RATIO:I = 0x10
.field public static final OPTIMIZATION_STANDARD:I = 0x7
.field static flags:[Z
# direct methods
.method static constructor <clinit>()V
.locals 1
.line 44
const/4 v0, 0x3
new-array v0, v0, [Z
sput-object v0, Landroidx/constraintlayout/solver/widgets/Optimizer;->flags:[Z
return-void
.end method
.method public constructor <init>()V
.locals 0
.line 27
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
.method static analyze(ILandroidx/constraintlayout/solver/widgets/ConstraintWidget;)V
.locals 17
.param p0, "optimisationLevel" # I
.param p1, "widget" # Landroidx/constraintlayout/solver/widgets/ConstraintWidget;
.line 152
move-object/from16 v0, p1
invoke-virtual/range {p1 .. p1}, Landroidx/constraintlayout/solver/widgets/ConstraintWidget;->updateResolutionNodes()V
.line 154
iget-object v1, v0, Landroidx/constraintlayout/solver/widgets/ConstraintWidget;->mLeft:Landroidx/constraintlayout/solver/widgets/ConstraintAnchor;
invoke-virtual {v1}, Landroidx/constraintlayout/solver/widgets/ConstraintAnchor;->getResolutionNode()Landroidx/constraintlayout/solver/widgets/ResolutionAnchor;
move-result-object v1
.line 155
.local v1, "leftNode":Landroidx/constraintlayout/solver/widgets/ResolutionAnchor;
iget-object v2, v0, Landroidx/constraintlayout/solver/widgets/ConstraintWidget;->mTop:Landroidx/constraintlayout/solver/widgets/ConstraintAnchor;
invoke-virtual {v2}, Landroidx/constraintlayout/solver/widgets/ConstraintAnchor;->getResolutionNode()Landroidx/constraintlayout/solver/widgets/ResolutionAnchor;
move-result-object v2
.line 156
.local v2, "topNode":Landroidx/constraintlayout/solver/widgets/ResolutionAnchor;
iget-object v3, v0, Landroidx/constraintlayout/solver/widgets/ConstraintWidget;->mRight:Landroidx/constraintlayout/solver/widgets/ConstraintAnchor;
invoke-virtual {v3}, Landroidx/constraintlayout/solver/widgets/ConstraintAnchor;->getResolutionNode()Landroidx/constraintlayout/solver/widgets/ResolutionAnchor;
move-result-object v3
.line 157
.local v3, "rightNode":Landroidx/constraintlayout/solver/widgets/ResolutionAnchor;
iget-object v4, v0, Landroidx/constraintlayout/solver/widgets/ConstraintWidget;->mBottom:Landroidx/constraintlayout/solver/widgets/ConstraintAnchor;
invoke-virtual {v4}, Landroidx/constraintlayout/solver/widgets/ConstraintAnchor;->getResolutionNode()Landroidx/constraintlayout/solver/widgets/ResolutionAnchor;
move-result-object v4
.line 159
.local v4, "bottomNode":Landroidx/constraintlayout/solver/widgets/ResolutionAnchor;
and-int/lit8 v5, p0, 0x8
const/16 v6, 0x8
const/4 v7, 0x0
const/4 v8, 0x1
if-ne v5, v6, :cond_0
const/4 v5, 0x1
goto :goto_0
:cond_0
const/4 v5, 0x0
.line 163
.local v5, "optimiseDimensions":Z
:goto_0
iget-object v9, v0, Landroidx/constraintlayout/solver/widgets/ConstraintWidget;->mListDimensionBehaviors:[Landroidx/constraintlayout/solver/widgets/ConstraintWidget$DimensionBehaviour;
aget-object v9, v9, v7
sget-object v10, Landroidx/constraintlayout/solver/widgets/ConstraintWidget$DimensionBehaviour;->MATCH_CONSTRAINT:Landroidx/constraintlayout/solver/widgets/ConstraintWidget$DimensionBehaviour;
if-ne v9, v10, :cond_1
.line 164
invoke-static {v0, v7}, Landroidx/constraintlayout/solver/widgets/Optimizer;->optimizableMatchConstraint(Landroidx/constraintlayout/solver/widgets/ConstraintWidget;I)Z
move-result v9
if-eqz v9, :cond_1
const/4 v9, 0x1
goto :goto_1
:cond_1
const/4 v9, 0x0
.line 166
.local v9, "isOptimizableHorizontalMatch":Z
:goto_1
iget v10, v1, Landroidx/constraintlayout/solver/widgets/ResolutionAnchor;->type:I
const/4 v11, 0x3
const/4 v12, 0x4
const/4 v13, 0x0
const/4 v14, -0x1
const/4 v15, 0x2
if-eq v10, v12, :cond_13
iget v10, v3, Landroidx/constraintlayout/solver/widgets/ResolutionAnchor;->type:I
if-eq v10, v12, :cond_13
.line 168
iget-object v10, v0, Landroidx/constraintlayout/solver/widgets/ConstraintWidget;->mListDimensionBehaviors:[Landroidx/constraintlayout/solver/widgets/ConstraintWidget$DimensionBehaviour;
aget-object v10, v10, v7
sget-object v7, Landroidx/constraintlayout/solver/widgets/ConstraintWidget$DimensionBehaviour;->FIXED:Landroidx/constraintlayout/solver/widgets/ConstraintWidget$DimensionBehaviour;
if-eq v10, v7, :cond_b
if-eqz v9, :cond_2
.line 169
invoke-virtual/range {p1 .. p1}, Landroidx/constraintlayout/solver/widgets/ConstraintWidget;->getVisibility()I
move-result v7
if-ne v7, v6, :cond_2
goto/16 :goto_2
.line 208
:cond_2
if-eqz v9, :cond_13
.line 209
invoke-virtual/range {p1 .. p1}, Landroidx/constraintlayout/solver/widgets/ConstraintWidget;->getWidth()I
move-result v7
.line 215
.local v7, "width":I
invoke-virtual {v1, v8}, Landroidx/constraintlayout/solver/widgets/ResolutionAnchor;->setType(I)V
.line 216
invoke-virtual {v3, v8}, Landroidx/constraintlayout/solver/widgets/ResolutionAnchor;->setType(I)V
.line 217
iget-object v10, v0, Landroidx/constraintlayout/solver/widgets/ConstraintWidget;->mLeft:Landroidx/constraintlayout/solver/widgets/ConstraintAnchor;
iget-object v10, v10, Landroidx/constraintlayout/solver/widgets/ConstraintAnchor;->mTarget:Landroidx/constraintlayout/solver/widgets/ConstraintAnchor;
if-nez v10, :cond_4
iget-object v10, v0, Landroidx/constraintlayout/solver/widgets/ConstraintWidget;->mRight:Landroidx/constraintlayout/solver/widgets/ConstraintAnchor;
iget-object v10, v10, Landroidx/constraintlayout/solver/widgets/ConstraintAnchor;->mTarget:Landroidx/constraintlayout/solver/widgets/ConstraintAnchor;
if-nez v10, :cond_4
.line 218
if-eqz v5, :cond_3
.line 219
invoke-virtual/range {p1 .. p1}, Landroidx/constraintlayout/solver/widgets/ConstraintWidget;->getResolutionWidth()Landroidx/constraintlayout/solver/widgets/ResolutionDimension;
move-result-object v10
invoke-virtual {v3, v1, v8, v10}, Landroidx/constraintlayout/solver/widgets/ResolutionAnchor;->dependsOn(Landroidx/constraintlayout/solver/widgets/ResolutionAnchor;ILandroidx/constraintlayout/solver/widgets/ResolutionDimension;)V
goto/16 :goto_3
.line 221
:cond_3
invoke-virtual {v3, v1, v7}, Landroidx/constraintlayout/solver/widgets/ResolutionAnchor;->dependsOn(Landroidx/constraintlayout/solver/widgets/ResolutionAnchor;I)V
goto/16 :goto_3
.line 223
:cond_4
iget-object v10, v0, Landroidx/constraintlayout/solver/widgets/ConstraintWidget;->mLeft:Landroidx/constraintlayout/solver/widgets/ConstraintAnchor;
iget-object v10, v10, Landroidx/constraintlayout/solver/widgets/ConstraintAnchor;->mTarget:Landroidx/constraintlayout/solver/widgets/ConstraintAnchor;
if-eqz v10, :cond_6
iget-object v10, v0, Landroidx/constraintlayout/solver/widgets/ConstraintWidget;->mRight:Landroidx/constraintlayout/solver/widgets/ConstraintAnchor;
iget-object v10, v10, Landroidx/constraintlayout/solver/widgets/ConstraintAnchor;->mTarget:Landroidx/constraintlayout/solver/widgets/ConstraintAnchor;
if-nez v10, :cond_6
.line 224
if-eqz v5, :cond_5
.line 225
invoke-virtual/range {p1 .. p1}, Landroidx/constraintlayout/solver/widgets/ConstraintWidget;->getResolutionWidth()Landroidx/constraintlayout/solver/widgets/ResolutionDimension;
move-result-object v10
invoke-virtual {v3, v1, v8, v10}, Landroidx/constraintlayout/solver/widgets/ResolutionAnchor;->dependsOn(Landroidx/constraintlayout/solver/widgets/ResolutionAnchor;ILandroidx/constraintlayout/solver/widgets/ResolutionDimension;)V
goto/16 :goto_3
.line 227
:cond_5
invoke-virtual {v3, v1, v7}, Landroidx/constraintlayout/solver/widgets/ResolutionAnchor;->dependsOn(Landroidx/constraintlayout/solver/widgets/ResolutionAnchor;I)V
goto/16 :goto_3
.line 229
:cond_6
iget-object v10, v0, Landroidx/constraintlayout/solver/widgets/ConstraintWidget;->mLeft:Landroidx/constraintlayout/solver/widgets/ConstraintAnchor;
iget-object v10, v10, Landroidx/constraintlayout/solver/widgets/ConstraintAnchor;->mTarget:Landroidx/constraintlayout/solver/widgets/ConstraintAnchor;
if-nez v10, :cond_8
iget-object v10, v0, Landroidx/constraintlayout/solver/widgets/ConstraintWidget;->mRight:Landroidx/constraintlayout/solver/widgets/ConstraintAnchor;
iget-object v10, v10, Landroidx/constraintlayout/solver/widgets/ConstraintAnchor;->mTarget:Landroidx/constraintlayout/solver/widgets/ConstraintAnchor;
if-eqz v10, :cond_8
.line 230
if-eqz v5, :cond_7
.line 231
invoke-virtual/range {p1 .. p1}, Landroidx/constraintlayout/solver/widgets/ConstraintWidget;->getResolutionWidth()Landroidx/constraintlayout/solver/widgets/ResolutionDimension;
move-result-object v10
invoke-virtual {v1, v3, v14, v10}, Landroidx/constraintlayout/solver/widgets/ResolutionAnchor;->dependsOn(Landroidx/constraintlayout/solver/widgets/ResolutionAnchor;ILandroidx/constraintlayout/solver/widgets/ResolutionDimension;)V
goto/16 :goto_3
.line 233
:cond_7
neg-int v10, v7
invoke-virtual {v1, v3, v10}, Landroidx/constraintlayout/solver/widgets/ResolutionAnchor;->dependsOn(Landroidx/constraintlayout/solver/widgets/ResolutionAnchor;I)V
goto/16 :goto_3
.line 235
:cond_8
iget-object v10, v0, Landroidx/constraintlayout/solver/widgets/ConstraintWidget;->mLeft:Landroidx/constraintlayout/solver/widgets/ConstraintAnchor;
iget-object v10, v10, Landroidx/constraintlayout/solver/widgets/ConstraintAnchor;->mTarget:Landroidx/constraintlayout/solver/widgets/ConstraintAnchor;
if-eqz v10, :cond_13
iget-object v10, v0, Landroidx/constraintlayout/solver/widgets/ConstraintWidget;->mRight:Landroidx/constraintlayout/solver/widgets/ConstraintAnchor;
iget-object v10, v10, Landroidx/constraintlayout/solver/widgets/ConstraintAnchor;->mTarget:Landroidx/constraintlayout/solver/widgets/ConstraintAnchor;
if-eqz v10, :cond_13
.line 236
if-eqz v5, :cond_9
.line 237
invoke-virtual/range {p1 .. p1}, Landroidx/constraintlayout/solver/widgets/ConstraintWidget;->getResolutionWidth()Landroidx/constraintlayout/solver/widgets/ResolutionDimension;
move-result-object v10
invoke-virtual {v10, v1}, Landroidx/constraintlayout/solver/widgets/ResolutionDimension;->addDependent(Landroidx/constraintlayout/solver/widgets/ResolutionNode;)V
.line 238
invoke-virtual/range {p1 .. p1}, Landroidx/constraintlayout/solver/widgets/ConstraintWidget;->getResolutionWidth()Landroidx/constraintlayout/solver/widgets/ResolutionDimension;
move-result-object v10
invoke-virtual {v10, v3}, Landroidx/constraintlayout/solver/widgets/ResolutionDimension;->addDependent(Landroidx/constraintlayout/solver/widgets/ResolutionNode;)V
.line 240
:cond_9
iget v10, v0, Landroidx/constraintlayout/solver/widgets/ConstraintWidget;->mDimensionRatio:F
cmpl-float v10, v10, v13
if-nez v10, :cond_a
.line 241
invoke-virtual {v1, v11}, Landroidx/constraintlayout/solver/widgets/ResolutionAnchor;->setType(I)V
.line 242
invoke-virtual {v3, v11}, Landroidx/constraintlayout/solver/widgets/ResolutionAnchor;->setType(I)V
.line 243
invoke-virtual {v1, v3, v13}, Landroidx/constraintlayout/solver/widgets/ResolutionAnchor;->setOpposite(Landroidx/constraintlayout/solver/widgets/ResolutionAnchor;F)V
.line 244
invoke-virtual {v3, v1, v13}, Landroidx/constraintlayout/solver/widgets/ResolutionAnchor;->setOpposite(Landroidx/constraintlayout/solver/widgets/ResolutionAnchor;F)V
goto/16 :goto_3
.line 247
:cond_a
invoke-virtual {v1, v15}, Landroidx/constraintlayout/solver/widgets/ResolutionAnchor;->setType(I)V
.line 248
invoke-virtual {v3, v15}, Landroidx/constraintlayout/solver/widgets/ResolutionAnchor;->setType(I)V
.line 249
neg-int v10, v7
int-to-float v10, v10
invoke-virtual {v1, v3, v10}, Landroidx/constraintlayout/solver/widgets/ResolutionAnchor;->setOpposite(Landroidx/constraintlayout/solver/widgets/ResolutionAnchor;F)V
.line 250
int-to-float v10, v7
invoke-virtual {v3, v1, v10}, Landroidx/constraintlayout/solver/widgets/ResolutionAnchor;->setOpposite(Landroidx/constraintlayout/solver/widgets/ResolutionAnchor;F)V
.line 251
invoke-virtual {v0, v7}, Landroidx/constraintlayout/solver/widgets/ConstraintWidget;->setWidth(I)V
goto/16 :goto_3
.line 170
.end local v7 # "width":I
:cond_b
:goto_2
iget-object v7, v0, Landroidx/constraintlayout/solver/widgets/ConstraintWidget;->mLeft:Landroidx/constraintlayout/solver/widgets/ConstraintAnchor;
iget-object v7, v7, Landroidx/constraintlayout/solver/widgets/ConstraintAnchor;->mTarget:Landroidx/constraintlayout/solver/widgets/ConstraintAnchor;
if-nez v7, :cond_d
iget-object v7, v0, Landroidx/constraintlayout/solver/widgets/ConstraintWidget;->mRight:Landroidx/constraintlayout/solver/widgets/ConstraintAnchor;
iget-object v7, v7, Landroidx/constraintlayout/solver/widgets/ConstraintAnchor;->mTarget:Landroidx/constraintlayout/solver/widgets/ConstraintAnchor;
if-nez v7, :cond_d
.line 171
invoke-virtual {v1, v8}, Landroidx/constraintlayout/solver/widgets/ResolutionAnchor;->setType(I)V
.line 172
invoke-virtual {v3, v8}, Landroidx/constraintlayout/solver/widgets/ResolutionAnchor;->setType(I)V
.line 173
if-eqz v5, :cond_c
.line 174
invoke-virtual/range {p1 .. p1}, Landroidx/constraintlayout/solver/widgets/ConstraintWidget;->getResolutionWidth()Landroidx/constraintlayout/solver/widgets/ResolutionDimension;
move-result-object v7
invoke-virtual {v3, v1, v8, v7}, Landroidx/constraintlayout/solver/widgets/ResolutionAnchor;->dependsOn(Landroidx/constraintlayout/solver/widgets/ResolutionAnchor;ILandroidx/constraintlayout/solver/widgets/ResolutionDimension;)V
goto/16 :goto_3
.line 176
:cond_c
invoke-virtual/range {p1 .. p1}, Landroidx/constraintlayout/solver/widgets/ConstraintWidget;->getWidth()I
move-result v7
invoke-virtual {v3, v1, v7}, Landroidx/constraintlayout/solver/widgets/ResolutionAnchor;->dependsOn(Landroidx/constraintlayout/solver/widgets/ResolutionAnchor;I)V
goto/16 :goto_3
.line 178
:cond_d
iget-object v7, v0, Landroidx/constraintlayout/solver/widgets/ConstraintWidget;->mLeft:Landroidx/constraintlayout/solver/widgets/ConstraintAnchor;
iget-object v7, v7, Landroidx/constraintlayout/solver/widgets/ConstraintAnchor;->mTarget:Landroidx/constraintlayout/solver/widgets/ConstraintAnchor;
if-eqz v7, :cond_f
iget-object v7, v0, Landroidx/constraintlayout/solver/widgets/ConstraintWidget;->mRight:Landroidx/constraintlayout/solver/widgets/ConstraintAnchor;
iget-object v7, v7, Landroidx/constraintlayout/solver/widgets/ConstraintAnchor;->mTarget:Landroidx/constraintlayout/solver/widgets/ConstraintAnchor;
if-nez v7, :cond_f
.line 179
invoke-virtual {v1, v8}, Landroidx/constraintlayout/solver/widgets/ResolutionAnchor;->setType(I)V
.line 180
invoke-virtual {v3, v8}, Landroidx/constraintlayout/solver/widgets/ResolutionAnchor;->setType(I)V
.line 181
if-eqz v5, :cond_e
.line 182
invoke-virtual/range {p1 .. p1}, Landroidx/constraintlayout/solver/widgets/ConstraintWidget;->getResolutionWidth()Landroidx/constraintlayout/solver/widgets/ResolutionDimension;
move-result-object v7
invoke-virtual {v3, v1, v8, v7}, Landroidx/constraintlayout/solver/widgets/ResolutionAnchor;->dependsOn(Landroidx/constraintlayout/solver/widgets/ResolutionAnchor;ILandroidx/constraintlayout/solver/widgets/ResolutionDimension;)V
goto/16 :goto_3
.line 184
:cond_e
invoke-virtual/range {p1 .. p1}, Landroidx/constraintlayout/solver/widgets/ConstraintWidget;->getWidth()I
move-result v7
invoke-virtual {v3, v1, v7}, Landroidx/constraintlayout/solver/widgets/ResolutionAnchor;->dependsOn(Landroidx/constraintlayout/solver/widgets/ResolutionAnchor;I)V
goto :goto_3
.line 186
:cond_f
iget-object v7, v0, Landroidx/constraintlayout/solver/widgets/ConstraintWidget;->mLeft:Landroidx/constraintlayout/solver/widgets/ConstraintAnchor;
iget-object v7, v7, Landroidx/constraintlayout/solver/widgets/ConstraintAnchor;->mTarget:Landroidx/constraintlayout/solver/widgets/ConstraintAnchor;
if-nez v7, :cond_11
iget-object v7, v0, Landroidx/constraintlayout/solver/widgets/ConstraintWidget;->mRight:Landroidx/constraintlayout/solver/widgets/ConstraintAnchor;
iget-object v7, v7, Landroidx/constraintlayout/solver/widgets/ConstraintAnchor;->mTarget:Landroidx/constraintlayout/solver/widgets/ConstraintAnchor;
if-eqz v7, :cond_11
.line 187
invoke-virtual {v1, v8}, Landroidx/constraintlayout/solver/widgets/ResolutionAnchor;->setType(I)V
.line 188
invoke-virtual {v3, v8}, Landroidx/constraintlayout/solver/widgets/ResolutionAnchor;->setType(I)V
.line 189
invoke-virtual/range {p1 .. p1}, Landroidx/constraintlayout/solver/widgets/ConstraintWidget;->getWidth()I
move-result v7
neg-int v7, v7
invoke-virtual {v1, v3, v7}, Landroidx/constraintlayout/solver/widgets/ResolutionAnchor;->dependsOn(Landroidx/constraintlayout/solver/widgets/ResolutionAnchor;I)V
.line 190
if-eqz v5, :cond_10
.line 191
invoke-virtual/range {p1 .. p1}, Landroidx/constraintlayout/solver/widgets/ConstraintWidget;->getResolutionWidth()Landroidx/constraintlayout/solver/widgets/ResolutionDimension;
move-result-object v7
invoke-virtual {v1, v3, v14, v7}, Landroidx/constraintlayout/solver/widgets/ResolutionAnchor;->dependsOn(Landroidx/constraintlayout/solver/widgets/ResolutionAnchor;ILandroidx/constraintlayout/solver/widgets/ResolutionDimension;)V
goto :goto_3
.line 193
:cond_10
invoke-virtual/range {p1 .. p1}, Landroidx/constraintlayout/solver/widgets/ConstraintWidget;->getWidth()I
move-result v7
neg-int v7, v7
invoke-virtual {v1, v3, v7}, Landroidx/constraintlayout/solver/widgets/ResolutionAnchor;->dependsOn(Landroidx/constraintlayout/solver/widgets/ResolutionAnchor;I)V
goto :goto_3
.line 195
:cond_11
iget-object v7, v0, Landroidx/constraintlayout/solver/widgets/ConstraintWidget;->mLeft:Landroidx/constraintlayout/solver/widgets/ConstraintAnchor;
iget-object v7, v7, Landroidx/constraintlayout/solver/widgets/ConstraintAnchor;->mTarget:Landroidx/constraintlayout/solver/widgets/ConstraintAnchor;
if-eqz v7, :cond_13
iget-object v7, v0, Landroidx/constraintlayout/solver/widgets/ConstraintWidget;->mRight:Landroidx/constraintlayout/solver/widgets/ConstraintAnchor;
iget-object v7, v7, Landroidx/constraintlayout/solver/widgets/ConstraintAnchor;->mTarget:Landroidx/constraintlayout/solver/widgets/ConstraintAnchor;
if-eqz v7, :cond_13
.line 196
invoke-virtual {v1, v15}, Landroidx/constraintlayout/solver/widgets/ResolutionAnchor;->setType(I)V
.line 197
invoke-virtual {v3, v15}, Landroidx/constraintlayout/solver/widgets/ResolutionAnchor;->setType(I)V
.line 198
if-eqz v5, :cond_12
.line 199
invoke-virtual/range {p1 .. p1}, Landroidx/constraintlayout/solver/widgets/ConstraintWidget;->getResolutionWidth()Landroidx/constraintlayout/solver/widgets/ResolutionDimension;
move-result-object v7
invoke-virtual {v7, v1}, Landroidx/constraintlayout/solver/widgets/ResolutionDimension;->addDependent(Landroidx/constraintlayout/solver/widgets/ResolutionNode;)V
.line 200
invoke-virtual/range {p1 .. p1}, Landroidx/constraintlayout/solver/widgets/ConstraintWidget;->getResolutionWidth()Landroidx/constraintlayout/solver/widgets/ResolutionDimension;
move-result-object v7
invoke-virtual {v7, v3}, Landroidx/constraintlayout/solver/widgets/ResolutionDimension;->addDependent(Landroidx/constraintlayout/solver/widgets/ResolutionNode;)V
.line 201
invoke-virtual/range {p1 .. p1}, Landroidx/constraintlayout/solver/widgets/ConstraintWidget;->getResolutionWidth()Landroidx/constraintlayout/solver/widgets/ResolutionDimension;
move-result-object v7
invoke-virtual {v1, v3, v14, v7}, Landroidx/constraintlayout/solver/widgets/ResolutionAnchor;->setOpposite(Landroidx/constraintlayout/solver/widgets/ResolutionAnchor;ILandroidx/constraintlayout/solver/widgets/ResolutionDimension;)V
.line 202
invoke-virtual/range {p1 .. p1}, Landroidx/constraintlayout/solver/widgets/ConstraintWidget;->getResolutionWidth()Landroidx/constraintlayout/solver/widgets/ResolutionDimension;
move-result-object v7
invoke-virtual {v3, v1, v8, v7}, Landroidx/constraintlayout/solver/widgets/ResolutionAnchor;->setOpposite(Landroidx/constraintlayout/solver/widgets/ResolutionAnchor;ILandroidx/constraintlayout/solver/widgets/ResolutionDimension;)V
goto :goto_3
.line 204
:cond_12
invoke-virtual/range {p1 .. p1}, Landroidx/constraintlayout/solver/widgets/ConstraintWidget;->getWidth()I
move-result v7
neg-int v7, v7
int-to-float v7, v7
invoke-virtual {v1, v3, v7}, Landroidx/constraintlayout/solver/widgets/ResolutionAnchor;->setOpposite(Landroidx/constraintlayout/solver/widgets/ResolutionAnchor;F)V
.line 205
invoke-virtual/range {p1 .. p1}, Landroidx/constraintlayout/solver/widgets/ConstraintWidget;->getWidth()I
move-result v7
int-to-float v7, v7
invoke-virtual {v3, v1, v7}, Landroidx/constraintlayout/solver/widgets/ResolutionAnchor;->setOpposite(Landroidx/constraintlayout/solver/widgets/ResolutionAnchor;F)V
.line 259
:cond_13
:goto_3
iget-object v7, v0, Landroidx/constraintlayout/solver/widgets/ConstraintWidget;->mListDimensionBehaviors:[Landroidx/constraintlayout/solver/widgets/ConstraintWidget$DimensionBehaviour;
aget-object v7, v7, v8
sget-object v10, Landroidx/constraintlayout/solver/widgets/ConstraintWidget$DimensionBehaviour;->MATCH_CONSTRAINT:Landroidx/constraintlayout/solver/widgets/ConstraintWidget$DimensionBehaviour;
if-ne v7, v10, :cond_14
.line 260
invoke-static {v0, v8}, Landroidx/constraintlayout/solver/widgets/Optimizer;->optimizableMatchConstraint(Landroidx/constraintlayout/solver/widgets/ConstraintWidget;I)Z
move-result v7
if-eqz v7, :cond_14
const/16 v16, 0x1
goto :goto_4
:cond_14
const/16 v16, 0x0
:goto_4
move/from16 v7, v16
.line 262
.local v7, "isOptimizableVerticalMatch":Z
iget v10, v2, Landroidx/constraintlayout/solver/widgets/ResolutionAnchor;->type:I
if-eq v10, v12, :cond_26
iget v10, v4, Landroidx/constraintlayout/solver/widgets/ResolutionAnchor;->type:I
if-eq v10, v12, :cond_26
.line 265
iget-object v10, v0, Landroidx/constraintlayout/solver/widgets/ConstraintWidget;->mListDimensionBehaviors:[Landroidx/constraintlayout/solver/widgets/ConstraintWidget$DimensionBehaviour;
aget-object v10, v10, v8
sget-object v12, Landroidx/constraintlayout/solver/widgets/ConstraintWidget$DimensionBehaviour;->FIXED:Landroidx/constraintlayout/solver/widgets/ConstraintWidget$DimensionBehaviour;
if-eq v10, v12, :cond_1e
if-eqz v7, :cond_15
.line 266
invoke-virtual/range {p1 .. p1}, Landroidx/constraintlayout/solver/widgets/ConstraintWidget;->getVisibility()I
move-result v10
if-ne v10, v6, :cond_15
goto/16 :goto_5
.line 318
:cond_15
if-eqz v7, :cond_26
.line 319
invoke-virtual/range {p1 .. p1}, Landroidx/constraintlayout/solver/widgets/ConstraintWidget;->getHeight()I
move-result v6
.line 324
.local v6, "height":I
invoke-virtual {v2, v8}, Landroidx/constraintlayout/solver/widgets/ResolutionAnchor;->setType(I)V
.line 325
invoke-virtual {v4, v8}, Landroidx/constraintlayout/solver/widgets/ResolutionAnchor;->setType(I)V
.line 326
iget-object v10, v0, Landroidx/constraintlayout/solver/widgets/ConstraintWidget;->mTop:Landroidx/constraintlayout/solver/widgets/ConstraintAnchor;
iget-object v10, v10, Landroidx/constraintlayout/solver/widgets/ConstraintAnchor;->mTarget:Landroidx/constraintlayout/solver/widgets/ConstraintAnchor;
if-nez v10, :cond_17
iget-object v10, v0, Landroidx/constraintlayout/solver/widgets/ConstraintWidget;->mBottom:Landroidx/constraintlayout/solver/widgets/ConstraintAnchor;
iget-object v10, v10, Landroidx/constraintlayout/solver/widgets/ConstraintAnchor;->mTarget:Landroidx/constraintlayout/solver/widgets/ConstraintAnchor;
if-nez v10, :cond_17
.line 327
if-eqz v5, :cond_16
.line 328
invoke-virtual/range {p1 .. p1}, Landroidx/constraintlayout/solver/widgets/ConstraintWidget;->getResolutionHeight()Landroidx/constraintlayout/solver/widgets/ResolutionDimension;
move-result-object v10
invoke-virtual {v4, v2, v8, v10}, Landroidx/constraintlayout/solver/widgets/ResolutionAnchor;->dependsOn(Landroidx/constraintlayout/solver/widgets/ResolutionAnchor;ILandroidx/constraintlayout/solver/widgets/ResolutionDimension;)V
goto/16 :goto_a
.line 330
:cond_16
invoke-virtual {v4, v2, v6}, Landroidx/constraintlayout/solver/widgets/ResolutionAnchor;->dependsOn(Landroidx/constraintlayout/solver/widgets/ResolutionAnchor;I)V
goto/16 :goto_a
.line 332
:cond_17
iget-object v10, v0, Landroidx/constraintlayout/solver/widgets/ConstraintWidget;->mTop:Landroidx/constraintlayout/solver/widgets/ConstraintAnchor;
iget-object v10, v10, Landroidx/constraintlayout/solver/widgets/ConstraintAnchor;->mTarget:Landroidx/constraintlayout/solver/widgets/ConstraintAnchor;
if-eqz v10, :cond_19
iget-object v10, v0, Landroidx/constraintlayout/solver/widgets/ConstraintWidget;->mBottom:Landroidx/constraintlayout/solver/widgets/ConstraintAnchor;
iget-object v10, v10, Landroidx/constraintlayout/solver/widgets/ConstraintAnchor;->mTarget:Landroidx/constraintlayout/solver/widgets/ConstraintAnchor;
if-nez v10, :cond_19
.line 333
if-eqz v5, :cond_18
.line 334
invoke-virtual/range {p1 .. p1}, Landroidx/constraintlayout/solver/widgets/ConstraintWidget;->getResolutionHeight()Landroidx/constraintlayout/solver/widgets/ResolutionDimension;
move-result-object v10
invoke-virtual {v4, v2, v8, v10}, Landroidx/constraintlayout/solver/widgets/ResolutionAnchor;->dependsOn(Landroidx/constraintlayout/solver/widgets/ResolutionAnchor;ILandroidx/constraintlayout/solver/widgets/ResolutionDimension;)V
goto/16 :goto_a
.line 336
:cond_18
invoke-virtual {v4, v2, v6}, Landroidx/constraintlayout/solver/widgets/ResolutionAnchor;->dependsOn(Landroidx/constraintlayout/solver/widgets/ResolutionAnchor;I)V
goto/16 :goto_a
.line 338
:cond_19
iget-object v10, v0, Landroidx/constraintlayout/solver/widgets/ConstraintWidget;->mTop:Landroidx/constraintlayout/solver/widgets/ConstraintAnchor;
iget-object v10, v10, Landroidx/constraintlayout/solver/widgets/ConstraintAnchor;->mTarget:Landroidx/constraintlayout/solver/widgets/ConstraintAnchor;
if-nez v10, :cond_1b
iget-object v10, v0, Landroidx/constraintlayout/solver/widgets/ConstraintWidget;->mBottom:Landroidx/constraintlayout/solver/widgets/ConstraintAnchor;
iget-object v10, v10, Landroidx/constraintlayout/solver/widgets/ConstraintAnchor;->mTarget:Landroidx/constraintlayout/solver/widgets/ConstraintAnchor;
if-eqz v10, :cond_1b
.line 339
if-eqz v5, :cond_1a
.line 340
invoke-virtual/range {p1 .. p1}, Landroidx/constraintlayout/solver/widgets/ConstraintWidget;->getResolutionHeight()Landroidx/constraintlayout/solver/widgets/ResolutionDimension;
move-result-object v8
invoke-virtual {v2, v4, v14, v8}, Landroidx/constraintlayout/solver/widgets/ResolutionAnchor;->dependsOn(Landroidx/constraintlayout/solver/widgets/ResolutionAnchor;ILandroidx/constraintlayout/solver/widgets/ResolutionDimension;)V
goto/16 :goto_a
.line 342
:cond_1a
neg-int v8, v6
invoke-virtual {v2, v4, v8}, Landroidx/constraintlayout/solver/widgets/ResolutionAnchor;->dependsOn(Landroidx/constraintlayout/solver/widgets/ResolutionAnchor;I)V
goto/16 :goto_a
.line 344
:cond_1b
iget-object v10, v0, Landroidx/constraintlayout/solver/widgets/ConstraintWidget;->mTop:Landroidx/constraintlayout/solver/widgets/ConstraintAnchor;
iget-object v10, v10, Landroidx/constraintlayout/solver/widgets/ConstraintAnchor;->mTarget:Landroidx/constraintlayout/solver/widgets/ConstraintAnchor;
if-eqz v10, :cond_26
iget-object v10, v0, Landroidx/constraintlayout/solver/widgets/ConstraintWidget;->mBottom:Landroidx/constraintlayout/solver/widgets/ConstraintAnchor;
iget-object v10, v10, Landroidx/constraintlayout/solver/widgets/ConstraintAnchor;->mTarget:Landroidx/constraintlayout/solver/widgets/ConstraintAnchor;
if-eqz v10, :cond_26
.line 345
if-eqz v5, :cond_1c
.line 346
invoke-virtual/range {p1 .. p1}, Landroidx/constraintlayout/solver/widgets/ConstraintWidget;->getResolutionHeight()Landroidx/constraintlayout/solver/widgets/ResolutionDimension;
move-result-object v10
invoke-virtual {v10, v2}, Landroidx/constraintlayout/solver/widgets/ResolutionDimension;->addDependent(Landroidx/constraintlayout/solver/widgets/ResolutionNode;)V
.line 347
invoke-virtual/range {p1 .. p1}, Landroidx/constraintlayout/solver/widgets/ConstraintWidget;->getResolutionWidth()Landroidx/constraintlayout/solver/widgets/ResolutionDimension;
move-result-object v10
invoke-virtual {v10, v4}, Landroidx/constraintlayout/solver/widgets/ResolutionDimension;->addDependent(Landroidx/constraintlayout/solver/widgets/ResolutionNode;)V
.line 349
:cond_1c
iget v10, v0, Landroidx/constraintlayout/solver/widgets/ConstraintWidget;->mDimensionRatio:F
cmpl-float v10, v10, v13
if-nez v10, :cond_1d
.line 350
invoke-virtual {v2, v11}, Landroidx/constraintlayout/solver/widgets/ResolutionAnchor;->setType(I)V
.line 351
invoke-virtual {v4, v11}, Landroidx/constraintlayout/solver/widgets/ResolutionAnchor;->setType(I)V
.line 352
invoke-virtual {v2, v4, v13}, Landroidx/constraintlayout/solver/widgets/ResolutionAnchor;->setOpposite(Landroidx/constraintlayout/solver/widgets/ResolutionAnchor;F)V
.line 353
invoke-virtual {v4, v2, v13}, Landroidx/constraintlayout/solver/widgets/ResolutionAnchor;->setOpposite(Landroidx/constraintlayout/solver/widgets/ResolutionAnchor;F)V
goto/16 :goto_a
.line 355
:cond_1d
invoke-virtual {v2, v15}, Landroidx/constraintlayout/solver/widgets/ResolutionAnchor;->setType(I)V
.line 356
invoke-virtual {v4, v15}, Landroidx/constraintlayout/solver/widgets/ResolutionAnchor;->setType(I)V
.line 357
neg-int v10, v6
int-to-float v10, v10
invoke-virtual {v2, v4, v10}, Landroidx/constraintlayout/solver/widgets/ResolutionAnchor;->setOpposite(Landroidx/constraintlayout/solver/widgets/ResolutionAnchor;F)V
.line 358
int-to-float v10, v6
invoke-virtual {v4, v2, v10}, Landroidx/constraintlayout/solver/widgets/ResolutionAnchor;->setOpposite(Landroidx/constraintlayout/solver/widgets/ResolutionAnchor;F)V
.line 359
invoke-virtual {v0, v6}, Landroidx/constraintlayout/solver/widgets/ConstraintWidget;->setHeight(I)V
.line 360
iget v10, v0, Landroidx/constraintlayout/solver/widgets/ConstraintWidget;->mBaselineDistance:I
if-lez v10, :cond_26
.line 361
iget-object v10, v0, Landroidx/constraintlayout/solver/widgets/ConstraintWidget;->mBaseline:Landroidx/constraintlayout/solver/widgets/ConstraintAnchor;
invoke-virtual {v10}, Landroidx/constraintlayout/solver/widgets/ConstraintAnchor;->getResolutionNode()Landroidx/constraintlayout/solver/widgets/ResolutionAnchor;
move-result-object v10
iget v11, v0, Landroidx/constraintlayout/solver/widgets/ConstraintWidget;->mBaselineDistance:I
invoke-virtual {v10, v8, v2, v11}, Landroidx/constraintlayout/solver/widgets/ResolutionAnchor;->dependsOn(ILandroidx/constraintlayout/solver/widgets/ResolutionAnchor;I)V
goto/16 :goto_a
.line 267
.end local v6 # "height":I
:cond_1e
:goto_5
iget-object v6, v0, Landroidx/constraintlayout/solver/widgets/ConstraintWidget;->mTop:Landroidx/constraintlayout/solver/widgets/ConstraintAnchor;
iget-object v6, v6, Landroidx/constraintlayout/solver/widgets/ConstraintAnchor;->mTarget:Landroidx/constraintlayout/solver/widgets/ConstraintAnchor;
if-nez v6, :cond_20
iget-object v6, v0, Landroidx/constraintlayout/solver/widgets/ConstraintWidget;->mBottom:Landroidx/constraintlayout/solver/widgets/ConstraintAnchor;
iget-object v6, v6, Landroidx/constraintlayout/solver/widgets/ConstraintAnchor;->mTarget:Landroidx/constraintlayout/solver/widgets/ConstraintAnchor;
if-nez v6, :cond_20
.line 268
invoke-virtual {v2, v8}, Landroidx/constraintlayout/solver/widgets/ResolutionAnchor;->setType(I)V
.line 269
invoke-virtual {v4, v8}, Landroidx/constraintlayout/solver/widgets/ResolutionAnchor;->setType(I)V
.line 270
if-eqz v5, :cond_1f
.line 271
invoke-virtual/range {p1 .. p1}, Landroidx/constraintlayout/solver/widgets/ConstraintWidget;->getResolutionHeight()Landroidx/constraintlayout/solver/widgets/ResolutionDimension;
move-result-object v6
invoke-virtual {v4, v2, v8, v6}, Landroidx/constraintlayout/solver/widgets/ResolutionAnchor;->dependsOn(Landroidx/constraintlayout/solver/widgets/ResolutionAnchor;ILandroidx/constraintlayout/solver/widgets/ResolutionDimension;)V
goto :goto_6
.line 273
:cond_1f
invoke-virtual/range {p1 .. p1}, Landroidx/constraintlayout/solver/widgets/ConstraintWidget;->getHeight()I
move-result v6
invoke-virtual {v4, v2, v6}, Landroidx/constraintlayout/solver/widgets/ResolutionAnchor;->dependsOn(Landroidx/constraintlayout/solver/widgets/ResolutionAnchor;I)V
.line 275
:goto_6
iget-object v6, v0, Landroidx/constraintlayout/solver/widgets/ConstraintWidget;->mBaseline:Landroidx/constraintlayout/solver/widgets/ConstraintAnchor;
iget-object v6, v6, Landroidx/constraintlayout/solver/widgets/ConstraintAnchor;->mTarget:Landroidx/constraintlayout/solver/widgets/ConstraintAnchor;
if-eqz v6, :cond_26
.line 276
iget-object v6, v0, Landroidx/constraintlayout/solver/widgets/ConstraintWidget;->mBaseline:Landroidx/constraintlayout/solver/widgets/ConstraintAnchor;
invoke-virtual {v6}, Landroidx/constraintlayout/solver/widgets/ConstraintAnchor;->getResolutionNode()Landroidx/constraintlayout/solver/widgets/ResolutionAnchor;
move-result-object v6
invoke-virtual {v6, v8}, Landroidx/constraintlayout/solver/widgets/ResolutionAnchor;->setType(I)V
.line 277
iget-object v6, v0, Landroidx/constraintlayout/solver/widgets/ConstraintWidget;->mBaseline:Landroidx/constraintlayout/solver/widgets/ConstraintAnchor;
.line 278
invoke-virtual {v6}, Landroidx/constraintlayout/solver/widgets/ConstraintAnchor;->getResolutionNode()Landroidx/constraintlayout/solver/widgets/ResolutionAnchor;
move-result-object v6
iget v10, v0, Landroidx/constraintlayout/solver/widgets/ConstraintWidget;->mBaselineDistance:I
neg-int v10, v10
.line 277
invoke-virtual {v2, v8, v6, v10}, Landroidx/constraintlayout/solver/widgets/ResolutionAnchor;->dependsOn(ILandroidx/constraintlayout/solver/widgets/ResolutionAnchor;I)V
goto/16 :goto_a
.line 280
:cond_20
iget-object v6, v0, Landroidx/constraintlayout/solver/widgets/ConstraintWidget;->mTop:Landroidx/constraintlayout/solver/widgets/ConstraintAnchor;
iget-object v6, v6, Landroidx/constraintlayout/solver/widgets/ConstraintAnchor;->mTarget:Landroidx/constraintlayout/solver/widgets/ConstraintAnchor;
if-eqz v6, :cond_22
iget-object v6, v0, Landroidx/constraintlayout/solver/widgets/ConstraintWidget;->mBottom:Landroidx/constraintlayout/solver/widgets/ConstraintAnchor;
iget-object v6, v6, Landroidx/constraintlayout/solver/widgets/ConstraintAnchor;->mTarget:Landroidx/constraintlayout/solver/widgets/ConstraintAnchor;
if-nez v6, :cond_22
.line 281
invoke-virtual {v2, v8}, Landroidx/constraintlayout/solver/widgets/ResolutionAnchor;->setType(I)V
.line 282
invoke-virtual {v4, v8}, Landroidx/constraintlayout/solver/widgets/ResolutionAnchor;->setType(I)V
.line 283
if-eqz v5, :cond_21
.line 284
invoke-virtual/range {p1 .. p1}, Landroidx/constraintlayout/solver/widgets/ConstraintWidget;->getResolutionHeight()Landroidx/constraintlayout/solver/widgets/ResolutionDimension;
move-result-object v6
invoke-virtual {v4, v2, v8, v6}, Landroidx/constraintlayout/solver/widgets/ResolutionAnchor;->dependsOn(Landroidx/constraintlayout/solver/widgets/ResolutionAnchor;ILandroidx/constraintlayout/solver/widgets/ResolutionDimension;)V
goto :goto_7
.line 286
:cond_21
invoke-virtual/range {p1 .. p1}, Landroidx/constraintlayout/solver/widgets/ConstraintWidget;->getHeight()I
move-result v6
invoke-virtual {v4, v2, v6}, Landroidx/constraintlayout/solver/widgets/ResolutionAnchor;->dependsOn(Landroidx/constraintlayout/solver/widgets/ResolutionAnchor;I)V
.line 288
:goto_7
iget v6, v0, Landroidx/constraintlayout/solver/widgets/ConstraintWidget;->mBaselineDistance:I
if-lez v6, :cond_26
.line 289
iget-object v6, v0, Landroidx/constraintlayout/solver/widgets/ConstraintWidget;->mBaseline:Landroidx/constraintlayout/solver/widgets/ConstraintAnchor;
invoke-virtual {v6}, Landroidx/constraintlayout/solver/widgets/ConstraintAnchor;->getResolutionNode()Landroidx/constraintlayout/solver/widgets/ResolutionAnchor;
move-result-object v6
iget v10, v0, Landroidx/constraintlayout/solver/widgets/ConstraintWidget;->mBaselineDistance:I
invoke-virtual {v6, v8, v2, v10}, Landroidx/constraintlayout/solver/widgets/ResolutionAnchor;->dependsOn(ILandroidx/constraintlayout/solver/widgets/ResolutionAnchor;I)V
goto/16 :goto_a
.line 291
:cond_22
iget-object v6, v0, Landroidx/constraintlayout/solver/widgets/ConstraintWidget;->mTop:Landroidx/constraintlayout/solver/widgets/ConstraintAnchor;
iget-object v6, v6, Landroidx/constraintlayout/solver/widgets/ConstraintAnchor;->mTarget:Landroidx/constraintlayout/solver/widgets/ConstraintAnchor;
if-nez v6, :cond_24
iget-object v6, v0, Landroidx/constraintlayout/solver/widgets/ConstraintWidget;->mBottom:Landroidx/constraintlayout/solver/widgets/ConstraintAnchor;
iget-object v6, v6, Landroidx/constraintlayout/solver/widgets/ConstraintAnchor;->mTarget:Landroidx/constraintlayout/solver/widgets/ConstraintAnchor;
if-eqz v6, :cond_24
.line 292
invoke-virtual {v2, v8}, Landroidx/constraintlayout/solver/widgets/ResolutionAnchor;->setType(I)V
.line 293
invoke-virtual {v4, v8}, Landroidx/constraintlayout/solver/widgets/ResolutionAnchor;->setType(I)V
.line 294
if-eqz v5, :cond_23
.line 295
invoke-virtual/range {p1 .. p1}, Landroidx/constraintlayout/solver/widgets/ConstraintWidget;->getResolutionHeight()Landroidx/constraintlayout/solver/widgets/ResolutionDimension;
move-result-object v6
invoke-virtual {v2, v4, v14, v6}, Landroidx/constraintlayout/solver/widgets/ResolutionAnchor;->dependsOn(Landroidx/constraintlayout/solver/widgets/ResolutionAnchor;ILandroidx/constraintlayout/solver/widgets/ResolutionDimension;)V
goto :goto_8
.line 297
:cond_23
invoke-virtual/range {p1 .. p1}, Landroidx/constraintlayout/solver/widgets/ConstraintWidget;->getHeight()I
move-result v6
neg-int v6, v6
invoke-virtual {v2, v4, v6}, Landroidx/constraintlayout/solver/widgets/ResolutionAnchor;->dependsOn(Landroidx/constraintlayout/solver/widgets/ResolutionAnchor;I)V
.line 299
:goto_8
iget v6, v0, Landroidx/constraintlayout/solver/widgets/ConstraintWidget;->mBaselineDistance:I
if-lez v6, :cond_26
.line 300
iget-object v6, v0, Landroidx/constraintlayout/solver/widgets/ConstraintWidget;->mBaseline:Landroidx/constraintlayout/solver/widgets/ConstraintAnchor;
invoke-virtual {v6}, Landroidx/constraintlayout/solver/widgets/ConstraintAnchor;->getResolutionNode()Landroidx/constraintlayout/solver/widgets/ResolutionAnchor;
move-result-object v6
iget v10, v0, Landroidx/constraintlayout/solver/widgets/ConstraintWidget;->mBaselineDistance:I
invoke-virtual {v6, v8, v2, v10}, Landroidx/constraintlayout/solver/widgets/ResolutionAnchor;->dependsOn(ILandroidx/constraintlayout/solver/widgets/ResolutionAnchor;I)V
goto :goto_a
.line 302
:cond_24
iget-object v6, v0, Landroidx/constraintlayout/solver/widgets/ConstraintWidget;->mTop:Landroidx/constraintlayout/solver/widgets/ConstraintAnchor;
iget-object v6, v6, Landroidx/constraintlayout/solver/widgets/ConstraintAnchor;->mTarget:Landroidx/constraintlayout/solver/widgets/ConstraintAnchor;
if-eqz v6, :cond_26
iget-object v6, v0, Landroidx/constraintlayout/solver/widgets/ConstraintWidget;->mBottom:Landroidx/constraintlayout/solver/widgets/ConstraintAnchor;
iget-object v6, v6, Landroidx/constraintlayout/solver/widgets/ConstraintAnchor;->mTarget:Landroidx/constraintlayout/solver/widgets/ConstraintAnchor;
if-eqz v6, :cond_26
.line 303
invoke-virtual {v2, v15}, Landroidx/constraintlayout/solver/widgets/ResolutionAnchor;->setType(I)V
.line 304
invoke-virtual {v4, v15}, Landroidx/constraintlayout/solver/widgets/ResolutionAnchor;->setType(I)V
.line 305
if-eqz v5, :cond_25
.line 306
invoke-virtual/range {p1 .. p1}, Landroidx/constraintlayout/solver/widgets/ConstraintWidget;->getResolutionHeight()Landroidx/constraintlayout/solver/widgets/ResolutionDimension;
move-result-object v6
invoke-virtual {v2, v4, v14, v6}, Landroidx/constraintlayout/solver/widgets/ResolutionAnchor;->setOpposite(Landroidx/constraintlayout/solver/widgets/ResolutionAnchor;ILandroidx/constraintlayout/solver/widgets/ResolutionDimension;)V
.line 307
invoke-virtual/range {p1 .. p1}, Landroidx/constraintlayout/solver/widgets/ConstraintWidget;->getResolutionHeight()Landroidx/constraintlayout/solver/widgets/ResolutionDimension;
move-result-object v6
invoke-virtual {v4, v2, v8, v6}, Landroidx/constraintlayout/solver/widgets/ResolutionAnchor;->setOpposite(Landroidx/constraintlayout/solver/widgets/ResolutionAnchor;ILandroidx/constraintlayout/solver/widgets/ResolutionDimension;)V
.line 308
invoke-virtual/range {p1 .. p1}, Landroidx/constraintlayout/solver/widgets/ConstraintWidget;->getResolutionHeight()Landroidx/constraintlayout/solver/widgets/ResolutionDimension;
move-result-object v6
invoke-virtual {v6, v2}, Landroidx/constraintlayout/solver/widgets/ResolutionDimension;->addDependent(Landroidx/constraintlayout/solver/widgets/ResolutionNode;)V
.line 309
invoke-virtual/range {p1 .. p1}, Landroidx/constraintlayout/solver/widgets/ConstraintWidget;->getResolutionWidth()Landroidx/constraintlayout/solver/widgets/ResolutionDimension;
move-result-object v6
invoke-virtual {v6, v4}, Landroidx/constraintlayout/solver/widgets/ResolutionDimension;->addDependent(Landroidx/constraintlayout/solver/widgets/ResolutionNode;)V
goto :goto_9
.line 311
:cond_25
invoke-virtual/range {p1 .. p1}, Landroidx/constraintlayout/solver/widgets/ConstraintWidget;->getHeight()I
move-result v6
neg-int v6, v6
int-to-float v6, v6
invoke-virtual {v2, v4, v6}, Landroidx/constraintlayout/solver/widgets/ResolutionAnchor;->setOpposite(Landroidx/constraintlayout/solver/widgets/ResolutionAnchor;F)V
.line 312
invoke-virtual/range {p1 .. p1}, Landroidx/constraintlayout/solver/widgets/ConstraintWidget;->getHeight()I
move-result v6
int-to-float v6, v6
invoke-virtual {v4, v2, v6}, Landroidx/constraintlayout/solver/widgets/ResolutionAnchor;->setOpposite(Landroidx/constraintlayout/solver/widgets/ResolutionAnchor;F)V
.line 314
:goto_9
iget v6, v0, Landroidx/constraintlayout/solver/widgets/ConstraintWidget;->mBaselineDistance:I
if-lez v6, :cond_26
.line 315
iget-object v6, v0, Landroidx/constraintlayout/solver/widgets/ConstraintWidget;->mBaseline:Landroidx/constraintlayout/solver/widgets/ConstraintAnchor;
invoke-virtual {v6}, Landroidx/constraintlayout/solver/widgets/ConstraintAnchor;->getResolutionNode()Landroidx/constraintlayout/solver/widgets/ResolutionAnchor;
move-result-object v6
iget v10, v0, Landroidx/constraintlayout/solver/widgets/ConstraintWidget;->mBaselineDistance:I
invoke-virtual {v6, v8, v2, v10}, Landroidx/constraintlayout/solver/widgets/ResolutionAnchor;->dependsOn(ILandroidx/constraintlayout/solver/widgets/ResolutionAnchor;I)V
.line 367
:cond_26
:goto_a
return-void
.end method
.method static applyChainOptimized(Landroidx/constraintlayout/solver/widgets/ConstraintWidgetContainer;Landroidx/constraintlayout/solver/LinearSystem;IILandroidx/constraintlayout/solver/widgets/ChainHead;)Z
.locals 38
.param p0, "container" # Landroidx/constraintlayout/solver/widgets/ConstraintWidgetContainer;
.param p1, "system" # Landroidx/constraintlayout/solver/LinearSystem;
.param p2, "orientation" # I
.param p3, "offset" # I
.param p4, "chainHead" # Landroidx/constraintlayout/solver/widgets/ChainHead;
.line 383
move-object/from16 v0, p1
move/from16 v1, p2
move-object/from16 v2, p4
iget-object v3, v2, Landroidx/constraintlayout/solver/widgets/ChainHead;->mFirst:Landroidx/constraintlayout/solver/widgets/ConstraintWidget;
.line 384
.local v3, "first":Landroidx/constraintlayout/solver/widgets/ConstraintWidget;
iget-object v4, v2, Landroidx/constraintlayout/solver/widgets/ChainHead;->mLast:Landroidx/constraintlayout/solver/widgets/ConstraintWidget;
.line 385
.local v4, "last":Landroidx/constraintlayout/solver/widgets/ConstraintWidget;
iget-object v5, v2, Landroidx/constraintlayout/solver/widgets/ChainHead;->mFirstVisibleWidget:Landroidx/constraintlayout/solver/widgets/ConstraintWidget;
.line 386
.local v5, "firstVisibleWidget":Landroidx/constraintlayout/solver/widgets/ConstraintWidget;
iget-object v6, v2, Landroidx/constraintlayout/solver/widgets/ChainHead;->mLastVisibleWidget:Landroidx/constraintlayout/solver/widgets/ConstraintWidget;
.line 387
.local v6, "lastVisibleWidget":Landroidx/constraintlayout/solver/widgets/ConstraintWidget;
iget-object v7, v2, Landroidx/constraintlayout/solver/widgets/ChainHead;->mHead:Landroidx/constraintlayout/solver/widgets/ConstraintWidget;
.line 389
.local v7, "head":Landroidx/constraintlayout/solver/widgets/ConstraintWidget;
move-object v8, v3
.line 390
.local v8, "widget":Landroidx/constraintlayout/solver/widgets/ConstraintWidget;
const/4 v9, 0x0
.line 391
.local v9, "next":Landroidx/constraintlayout/solver/widgets/ConstraintWidget;
const/4 v10, 0x0
.line 393
.local v10, "done":Z
const/4 v11, 0x0
.line 394
.local v11, "numMatchConstraints":I
iget v12, v2, Landroidx/constraintlayout/solver/widgets/ChainHead;->mTotalWeight:F
.line 395
.local v12, "totalWeights":F
iget-object v13, v2, Landroidx/constraintlayout/solver/widgets/ChainHead;->mFirstMatchConstraintWidget:Landroidx/constraintlayout/solver/widgets/ConstraintWidget;
.line 396
.local v13, "firstMatchConstraintsWidget":Landroidx/constraintlayout/solver/widgets/ConstraintWidget;
iget-object v14, v2, Landroidx/constraintlayout/solver/widgets/ChainHead;->mLastMatchConstraintWidget:Landroidx/constraintlayout/solver/widgets/ConstraintWidget;
.line 398
.local v14, "previousMatchConstraintsWidget":Landroidx/constraintlayout/solver/widgets/ConstraintWidget;
move-object/from16 v15, p0
iget-object v2, v15, Landroidx/constraintlayout/solver/widgets/ConstraintWidgetContainer;->mListDimensionBehaviors:[Landroidx/constraintlayout/solver/widgets/ConstraintWidget$DimensionBehaviour;
aget-object v2, v2, v1
move-object/from16 v16, v8
.end local v8 # "widget":Landroidx/constraintlayout/solver/widgets/ConstraintWidget;
.local v16, "widget":Landroidx/constraintlayout/solver/widgets/ConstraintWidget;
sget-object v8, Landroidx/constraintlayout/solver/widgets/ConstraintWidget$DimensionBehaviour;->WRAP_CONTENT:Landroidx/constraintlayout/solver/widgets/ConstraintWidget$DimensionBehaviour;
const/16 v17, 0x0
move-object/from16 v18, v9
.end local v9 # "next":Landroidx/constraintlayout/solver/widgets/ConstraintWidget;
.local v18, "next":Landroidx/constraintlayout/solver/widgets/ConstraintWidget;
if-ne v2, v8, :cond_0
const/4 v2, 0x1
goto :goto_0
:cond_0
const/4 v2, 0x0
.line 399
.local v2, "isWrapContent":Z
:goto_0
const/4 v8, 0x0
.line 400
.local v8, "isChainSpread":Z
const/16 v19, 0x0
.line 401
.local v19, "isChainSpreadInside":Z
const/16 v20, 0x0
.line 403
.local v20, "isChainPacked":Z
if-nez v1, :cond_4
.line 404
iget v9, v7, Landroidx/constraintlayout/solver/widgets/ConstraintWidget;->mHorizontalChainStyle:I
if-nez v9, :cond_1
const/4 v9, 0x1
goto :goto_1
:cond_1
const/4 v9, 0x0
:goto_1
move v8, v9
.line 405
iget v9, v7, Landroidx/constraintlayout/solver/widgets/ConstraintWidget;->mHorizontalChainStyle:I
move/from16 v22, v2
const/4 v2, 0x1
.end local v2 # "isWrapContent":Z
.local v22, "isWrapContent":Z
if-ne v9, v2, :cond_2
const/4 v2, 0x1
goto :goto_2
:cond_2
const/4 v2, 0x0
.line 406
.end local v19 # "isChainSpreadInside":Z
.local v2, "isChainSpreadInside":Z
:goto_2
iget v9, v7, Landroidx/constraintlayout/solver/widgets/ConstraintWidget;->mHorizontalChainStyle:I
move/from16 v19, v2
const/4 v2, 0x2
.end local v2 # "isChainSpreadInside":Z
.restart local v19 # "isChainSpreadInside":Z
if-ne v9, v2, :cond_3
const/4 v2, 0x1
goto :goto_3
:cond_3
const/4 v2, 0x0
.end local v20 # "isChainPacked":Z
.local v2, "isChainPacked":Z
:goto_3
goto :goto_6
.line 408
.end local v22 # "isWrapContent":Z
.local v2, "isWrapContent":Z
.restart local v20 # "isChainPacked":Z
:cond_4
move/from16 v22, v2
.end local v2 # "isWrapContent":Z
.restart local v22 # "isWrapContent":Z
iget v2, v7, Landroidx/constraintlayout/solver/widgets/ConstraintWidget;->mVerticalChainStyle:I
if-nez v2, :cond_5
const/4 v2, 0x1
goto :goto_4
:cond_5
const/4 v2, 0x0
:goto_4
move v8, v2
.line 409
iget v2, v7, Landroidx/constraintlayout/solver/widgets/ConstraintWidget;->mVerticalChainStyle:I
const/4 v9, 0x1
if-ne v2, v9, :cond_6
const/4 v2, 0x1
goto :goto_5
:cond_6
const/4 v2, 0x0
.line 410
.end local v19 # "isChainSpreadInside":Z
.local v2, "isChainSpreadInside":Z
:goto_5
iget v9, v7, Landroidx/constraintlayout/solver/widgets/ConstraintWidget;->mVerticalChainStyle:I
move/from16 v19, v2
const/4 v2, 0x2
.end local v2 # "isChainSpreadInside":Z
.restart local v19 # "isChainSpreadInside":Z
if-ne v9, v2, :cond_7
const/4 v2, 0x1
goto :goto_6
:cond_7
const/4 v2, 0x0
.line 417
.end local v20 # "isChainPacked":Z
.local v2, "isChainPacked":Z
:goto_6
const/4 v9, 0x0
.line 418
.local v9, "totalSize":F
const/16 v20, 0x0
.line 419
.local v20, "totalMargins":F
const/16 v21, 0x0
move-object/from16 v37, v16
move-object/from16 v16, v7
move v7, v11
move/from16 v11, v21
move/from16 v21, v20
move/from16 v20, v9
move-object/from16 v9, v37
.line 421
.local v7, "numMatchConstraints":I
.local v9, "widget":Landroidx/constraintlayout/solver/widgets/ConstraintWidget;
.local v11, "numVisibleWidgets":I
.local v16, "head":Landroidx/constraintlayout/solver/widgets/ConstraintWidget;
.local v20, "totalSize":F
.local v21, "totalMargins":F
:goto_7
const/16 v23, 0x0
move-object/from16 v24, v13
.end local v13 # "firstMatchConstraintsWidget":Landroidx/constraintlayout/solver/widgets/ConstraintWidget;
.local v24, "firstMatchConstraintsWidget":Landroidx/constraintlayout/solver/widgets/ConstraintWidget;
const/16 v13, 0x8
if-nez v10, :cond_17
.line 423
move/from16 v25, v10
.end local v10 # "done":Z
.local v25, "done":Z
invoke-virtual {v9}, Landroidx/constraintlayout/solver/widgets/ConstraintWidget;->getVisibility()I
move-result v10
if-eq v10, v13, :cond_b
.line 424
add-int/lit8 v11, v11, 0x1
.line 425
if-nez v1, :cond_8
.line 426
invoke-virtual {v9}, Landroidx/constraintlayout/solver/widgets/ConstraintWidget;->getWidth()I
move-result v10
int-to-float v10, v10
add-float v20, v20, v10
goto :goto_8
.line 428
:cond_8
invoke-virtual {v9}, Landroidx/constraintlayout/solver/widgets/ConstraintWidget;->getHeight()I
move-result v10
int-to-float v10, v10
add-float v20, v20, v10
.line 430
:goto_8
if-eq v9, v5, :cond_9
.line 431
iget-object v10, v9, Landroidx/constraintlayout/solver/widgets/ConstraintWidget;->mListAnchors:[Landroidx/constraintlayout/solver/widgets/ConstraintAnchor;
aget-object v10, v10, p3
invoke-virtual {v10}, Landroidx/constraintlayout/solver/widgets/ConstraintAnchor;->getMargin()I
move-result v10
int-to-float v10, v10
add-float v20, v20, v10
.line 433
:cond_9
if-eq v9, v6, :cond_a
.line 434
iget-object v10, v9, Landroidx/constraintlayout/solver/widgets/ConstraintWidget;->mListAnchors:[Landroidx/constraintlayout/solver/widgets/ConstraintAnchor;
add-int/lit8 v26, p3, 0x1
aget-object v10, v10, v26
invoke-virtual {v10}, Landroidx/constraintlayout/solver/widgets/ConstraintAnchor;->getMargin()I
move-result v10
int-to-float v10, v10
add-float v20, v20, v10
.line 436
:cond_a
iget-object v10, v9, Landroidx/constraintlayout/solver/widgets/ConstraintWidget;->mListAnchors:[Landroidx/constraintlayout/solver/widgets/ConstraintAnchor;
aget-object v10, v10, p3
invoke-virtual {v10}, Landroidx/constraintlayout/solver/widgets/ConstraintAnchor;->getMargin()I
move-result v10
int-to-float v10, v10
add-float v21, v21, v10
.line 437
iget-object v10, v9, Landroidx/constraintlayout/solver/widgets/ConstraintWidget;->mListAnchors:[Landroidx/constraintlayout/solver/widgets/ConstraintAnchor;
add-int/lit8 v26, p3, 0x1
aget-object v10, v10, v26
invoke-virtual {v10}, Landroidx/constraintlayout/solver/widgets/ConstraintAnchor;->getMargin()I
move-result v10
int-to-float v10, v10
add-float v21, v21, v10
.line 440
:cond_b
iget-object v10, v9, Landroidx/constraintlayout/solver/widgets/ConstraintWidget;->mListAnchors:[Landroidx/constraintlayout/solver/widgets/ConstraintAnchor;
aget-object v10, v10, p3
.line 442
.local v10, "begin":Landroidx/constraintlayout/solver/widgets/ConstraintAnchor;
move-object/from16 v26, v10
.end local v10 # "begin":Landroidx/constraintlayout/solver/widgets/ConstraintAnchor;
.local v26, "begin":Landroidx/constraintlayout/solver/widgets/ConstraintAnchor;
invoke-virtual {v9}, Landroidx/constraintlayout/solver/widgets/ConstraintWidget;->getVisibility()I
move-result v10
if-eq v10, v13, :cond_12
iget-object v10, v9, Landroidx/constraintlayout/solver/widgets/ConstraintWidget;->mListDimensionBehaviors:[Landroidx/constraintlayout/solver/widgets/ConstraintWidget$DimensionBehaviour;
aget-object v10, v10, v1
sget-object v13, Landroidx/constraintlayout/solver/widgets/ConstraintWidget$DimensionBehaviour;->MATCH_CONSTRAINT:Landroidx/constraintlayout/solver/widgets/ConstraintWidget$DimensionBehaviour;
if-ne v10, v13, :cond_12
.line 444
add-int/lit8 v7, v7, 0x1
.line 446
if-nez v1, :cond_e
.line 447
iget v10, v9, Landroidx/constraintlayout/solver/widgets/ConstraintWidget;->mMatchConstraintDefaultWidth:I
if-eqz v10, :cond_c
.line 448
return v17
.line 449
:cond_c
iget v10, v9, Landroidx/constraintlayout/solver/widgets/ConstraintWidget;->mMatchConstraintMinWidth:I
if-nez v10, :cond_d
iget v10, v9, Landroidx/constraintlayout/solver/widgets/ConstraintWidget;->mMatchConstraintMaxWidth:I
if-eqz v10, :cond_10
.line 450
:cond_d
return v17
.line 453
:cond_e
iget v10, v9, Landroidx/constraintlayout/solver/widgets/ConstraintWidget;->mMatchConstraintDefaultHeight:I
if-eqz v10, :cond_f
.line 454
return v17
.line 455
:cond_f
iget v10, v9, Landroidx/constraintlayout/solver/widgets/ConstraintWidget;->mMatchConstraintMinHeight:I
if-nez v10, :cond_11
iget v10, v9, Landroidx/constraintlayout/solver/widgets/ConstraintWidget;->mMatchConstraintMaxHeight:I
if-eqz v10, :cond_10
goto :goto_9
.line 459
:cond_10
iget v10, v9, Landroidx/constraintlayout/solver/widgets/ConstraintWidget;->mDimensionRatio:F
cmpl-float v10, v10, v23
if-eqz v10, :cond_12
.line 460
return v17
.line 456
:cond_11
:goto_9
return v17
.line 465
:cond_12
iget-object v10, v9, Landroidx/constraintlayout/solver/widgets/ConstraintWidget;->mListAnchors:[Landroidx/constraintlayout/solver/widgets/ConstraintAnchor;
add-int/lit8 v13, p3, 0x1
aget-object v10, v10, v13
iget-object v10, v10, Landroidx/constraintlayout/solver/widgets/ConstraintAnchor;->mTarget:Landroidx/constraintlayout/solver/widgets/ConstraintAnchor;
.line 466
.local v10, "nextAnchor":Landroidx/constraintlayout/solver/widgets/ConstraintAnchor;
if-eqz v10, :cond_15
.line 467
iget-object v13, v10, Landroidx/constraintlayout/solver/widgets/ConstraintAnchor;->mOwner:Landroidx/constraintlayout/solver/widgets/ConstraintWidget;
.line 468
.end local v18 # "next":Landroidx/constraintlayout/solver/widgets/ConstraintWidget;
.local v13, "next":Landroidx/constraintlayout/solver/widgets/ConstraintWidget;
move/from16 v23, v7
.end local v7 # "numMatchConstraints":I
.local v23, "numMatchConstraints":I
iget-object v7, v13, Landroidx/constraintlayout/solver/widgets/ConstraintWidget;->mListAnchors:[Landroidx/constraintlayout/solver/widgets/ConstraintAnchor;
aget-object v7, v7, p3
iget-object v7, v7, Landroidx/constraintlayout/solver/widgets/ConstraintAnchor;->mTarget:Landroidx/constraintlayout/solver/widgets/ConstraintAnchor;
if-eqz v7, :cond_14
iget-object v7, v13, Landroidx/constraintlayout/solver/widgets/ConstraintWidget;->mListAnchors:[Landroidx/constraintlayout/solver/widgets/ConstraintAnchor;
aget-object v7, v7, p3
iget-object v7, v7, Landroidx/constraintlayout/solver/widgets/ConstraintAnchor;->mTarget:Landroidx/constraintlayout/solver/widgets/ConstraintAnchor;
iget-object v7, v7, Landroidx/constraintlayout/solver/widgets/ConstraintAnchor;->mOwner:Landroidx/constraintlayout/solver/widgets/ConstraintWidget;
if-eq v7, v9, :cond_13
goto :goto_a
:cond_13
move-object/from16 v18, v13
goto :goto_b
.line 469
:cond_14
:goto_a
const/4 v7, 0x0
move-object/from16 v18, v7
.end local v13 # "next":Landroidx/constraintlayout/solver/widgets/ConstraintWidget;
.local v7, "next":Landroidx/constraintlayout/solver/widgets/ConstraintWidget;
goto :goto_b
.line 472
.end local v23 # "numMatchConstraints":I
.local v7, "numMatchConstraints":I
.restart local v18 # "next":Landroidx/constraintlayout/solver/widgets/ConstraintWidget;
:cond_15
move/from16 v23, v7
.end local v7 # "numMatchConstraints":I
.restart local v23 # "numMatchConstraints":I
const/4 v7, 0x0
move-object/from16 v18, v7
.line 474
:goto_b
if-eqz v18, :cond_16
.line 475
move-object/from16 v7, v18
move-object v9, v7
move/from16 v10, v25
.end local v9 # "widget":Landroidx/constraintlayout/solver/widgets/ConstraintWidget;
.local v7, "widget":Landroidx/constraintlayout/solver/widgets/ConstraintWidget;
goto :goto_c
.line 477
.end local v7 # "widget":Landroidx/constraintlayout/solver/widgets/ConstraintWidget;
.restart local v9 # "widget":Landroidx/constraintlayout/solver/widgets/ConstraintWidget;
:cond_16
const/4 v7, 0x1
move v10, v7
.line 479
.end local v25 # "done":Z
.end local v26 # "begin":Landroidx/constraintlayout/solver/widgets/ConstraintAnchor;
.local v10, "done":Z
:goto_c
move/from16 v7, v23
move-object/from16 v13, v24
goto/16 :goto_7
.line 481
.end local v23 # "numMatchConstraints":I
.local v7, "numMatchConstraints":I
:cond_17
move/from16 v25, v10
.end local v10 # "done":Z
.restart local v25 # "done":Z
iget-object v10, v3, Landroidx/constraintlayout/solver/widgets/ConstraintWidget;->mListAnchors:[Landroidx/constraintlayout/solver/widgets/ConstraintAnchor;
aget-object v10, v10, p3
invoke-virtual {v10}, Landroidx/constraintlayout/solver/widgets/ConstraintAnchor;->getResolutionNode()Landroidx/constraintlayout/solver/widgets/ResolutionAnchor;
move-result-object v10
.line 482
.local v10, "firstNode":Landroidx/constraintlayout/solver/widgets/ResolutionAnchor;
iget-object v13, v4, Landroidx/constraintlayout/solver/widgets/ConstraintWidget;->mListAnchors:[Landroidx/constraintlayout/solver/widgets/ConstraintAnchor;
add-int/lit8 v27, p3, 0x1
aget-object v13, v13, v27
invoke-virtual {v13}, Landroidx/constraintlayout/solver/widgets/ConstraintAnchor;->getResolutionNode()Landroidx/constraintlayout/solver/widgets/ResolutionAnchor;
move-result-object v13
.line 484
.local v13, "lastNode":Landroidx/constraintlayout/solver/widgets/ResolutionAnchor;
move-object/from16 v27, v14
.end local v14 # "previousMatchConstraintsWidget":Landroidx/constraintlayout/solver/widgets/ConstraintWidget;
.local v27, "previousMatchConstraintsWidget":Landroidx/constraintlayout/solver/widgets/ConstraintWidget;
iget-object v14, v10, Landroidx/constraintlayout/solver/widgets/ResolutionAnchor;->target:Landroidx/constraintlayout/solver/widgets/ResolutionAnchor;
if-eqz v14, :cond_40
iget-object v14, v13, Landroidx/constraintlayout/solver/widgets/ResolutionAnchor;->target:Landroidx/constraintlayout/solver/widgets/ResolutionAnchor;
if-nez v14, :cond_18
move/from16 v28, v2
move-object/from16 v33, v6
move/from16 v36, v7
move-object/from16 v34, v13
goto/16 :goto_1d
.line 490
:cond_18
iget-object v14, v10, Landroidx/constraintlayout/solver/widgets/ResolutionAnchor;->target:Landroidx/constraintlayout/solver/widgets/ResolutionAnchor;
iget v14, v14, Landroidx/constraintlayout/solver/widgets/ResolutionAnchor;->state:I
const/4 v15, 0x1
if-ne v14, v15, :cond_3f
iget-object v14, v13, Landroidx/constraintlayout/solver/widgets/ResolutionAnchor;->target:Landroidx/constraintlayout/solver/widgets/ResolutionAnchor;
iget v14, v14, Landroidx/constraintlayout/solver/widgets/ResolutionAnchor;->state:I
if-eq v14, v15, :cond_19
move/from16 v28, v2
move-object/from16 v33, v6
move/from16 v36, v7
move-object/from16 v34, v13
goto/16 :goto_1c
.line 496
:cond_19
if-lez v7, :cond_1a
if-eq v7, v11, :cond_1a
.line 498
return v17
.line 501
:cond_1a
const/4 v14, 0x0
.line 502
.local v14, "extraMargin":F
if-nez v2, :cond_1b
if-nez v8, :cond_1b
if-eqz v19, :cond_1d
.line 503
:cond_1b
if-eqz v5, :cond_1c
.line 504
iget-object v15, v5, Landroidx/constraintlayout/solver/widgets/ConstraintWidget;->mListAnchors:[Landroidx/constraintlayout/solver/widgets/ConstraintAnchor;
aget-object v15, v15, p3
invoke-virtual {v15}, Landroidx/constraintlayout/solver/widgets/ConstraintAnchor;->getMargin()I
move-result v15
int-to-float v14, v15
.line 506
:cond_1c
if-eqz v6, :cond_1d
.line 507
iget-object v15, v6, Landroidx/constraintlayout/solver/widgets/ConstraintWidget;->mListAnchors:[Landroidx/constraintlayout/solver/widgets/ConstraintAnchor;
add-int/lit8 v28, p3, 0x1
aget-object v15, v15, v28
invoke-virtual {v15}, Landroidx/constraintlayout/solver/widgets/ConstraintAnchor;->getMargin()I
move-result v15
int-to-float v15, v15
add-float/2addr v14, v15
.line 511
:cond_1d
iget-object v15, v10, Landroidx/constraintlayout/solver/widgets/ResolutionAnchor;->target:Landroidx/constraintlayout/solver/widgets/ResolutionAnchor;
iget v15, v15, Landroidx/constraintlayout/solver/widgets/ResolutionAnchor;->resolvedOffset:F
.line 512
.local v15, "firstOffset":F
move/from16 v28, v2
.end local v2 # "isChainPacked":Z
.local v28, "isChainPacked":Z
iget-object v2, v13, Landroidx/constraintlayout/solver/widgets/ResolutionAnchor;->target:Landroidx/constraintlayout/solver/widgets/ResolutionAnchor;
iget v2, v2, Landroidx/constraintlayout/solver/widgets/ResolutionAnchor;->resolvedOffset:F
.line 513
.local v2, "lastOffset":F
const/16 v29, 0x0
.line 514
.local v29, "distance":F
cmpg-float v30, v15, v2
if-gez v30, :cond_1e
.line 515
sub-float v30, v2, v15
sub-float v30, v30, v20
.end local v29 # "distance":F
.local v30, "distance":F
goto :goto_d
.line 517
.end local v30 # "distance":F
.restart local v29 # "distance":F
:cond_1e
sub-float v30, v15, v2
sub-float v30, v30, v20
.line 520
.end local v29 # "distance":F
.restart local v30 # "distance":F
:goto_d
const-wide/16 v31, 0x1
if-lez v7, :cond_28
if-ne v7, v11, :cond_28
.line 521
invoke-virtual {v9}, Landroidx/constraintlayout/solver/widgets/ConstraintWidget;->getParent()Landroidx/constraintlayout/solver/widgets/ConstraintWidget;
move-result-object v29
if-eqz v29, :cond_1f
move/from16 v29, v2
.end local v2 # "lastOffset":F
.local v29, "lastOffset":F
invoke-virtual {v9}, Landroidx/constraintlayout/solver/widgets/ConstraintWidget;->getParent()Landroidx/constraintlayout/solver/widgets/ConstraintWidget;
move-result-object v2
iget-object v2, v2, Landroidx/constraintlayout/solver/widgets/ConstraintWidget;->mListDimensionBehaviors:[Landroidx/constraintlayout/solver/widgets/ConstraintWidget$DimensionBehaviour;
aget-object v2, v2, v1
move-object/from16 v33, v6
.end local v6 # "lastVisibleWidget":Landroidx/constraintlayout/solver/widgets/ConstraintWidget;
.local v33, "lastVisibleWidget":Landroidx/constraintlayout/solver/widgets/ConstraintWidget;
sget-object v6, Landroidx/constraintlayout/solver/widgets/ConstraintWidget$DimensionBehaviour;->WRAP_CONTENT:Landroidx/constraintlayout/solver/widgets/ConstraintWidget$DimensionBehaviour;
if-ne v2, v6, :cond_20
.line 522
return v17
.line 521
.end local v29 # "lastOffset":F
.end local v33 # "lastVisibleWidget":Landroidx/constraintlayout/solver/widgets/ConstraintWidget;
.restart local v2 # "lastOffset":F
.restart local v6 # "lastVisibleWidget":Landroidx/constraintlayout/solver/widgets/ConstraintWidget;
:cond_1f
move/from16 v29, v2
move-object/from16 v33, v6
.line 524
.end local v2 # "lastOffset":F
.end local v6 # "lastVisibleWidget":Landroidx/constraintlayout/solver/widgets/ConstraintWidget;
.restart local v29 # "lastOffset":F
.restart local v33 # "lastVisibleWidget":Landroidx/constraintlayout/solver/widgets/ConstraintWidget;
:cond_20
add-float v30, v30, v20
.line 525
sub-float v30, v30, v21
.line 526
move-object v2, v3
.line 527
.end local v9 # "widget":Landroidx/constraintlayout/solver/widgets/ConstraintWidget;
.local v2, "widget":Landroidx/constraintlayout/solver/widgets/ConstraintWidget;
move v6, v15
.line 528
.local v6, "position":F
:goto_e
if-eqz v2, :cond_27
.line 529
sget-object v9, Landroidx/constraintlayout/solver/LinearSystem;->sMetrics:Landroidx/constraintlayout/solver/Metrics;
if-eqz v9, :cond_21
.line 530
sget-object v9, Landroidx/constraintlayout/solver/LinearSystem;->sMetrics:Landroidx/constraintlayout/solver/Metrics;
move-object/from16 v34, v13
move/from16 v35, v14
.end local v13 # "lastNode":Landroidx/constraintlayout/solver/widgets/ResolutionAnchor;
.end local v14 # "extraMargin":F
.local v34, "lastNode":Landroidx/constraintlayout/solver/widgets/ResolutionAnchor;
.local v35, "extraMargin":F
iget-wide v13, v9, Landroidx/constraintlayout/solver/Metrics;->nonresolvedWidgets:J
sub-long v13, v13, v31
iput-wide v13, v9, Landroidx/constraintlayout/solver/Metrics;->nonresolvedWidgets:J
.line 531
sget-object v9, Landroidx/constraintlayout/solver/LinearSystem;->sMetrics:Landroidx/constraintlayout/solver/Metrics;
iget-wide v13, v9, Landroidx/constraintlayout/solver/Metrics;->resolvedWidgets:J
add-long v13, v13, v31
iput-wide v13, v9, Landroidx/constraintlayout/solver/Metrics;->resolvedWidgets:J
.line 532
sget-object v9, Landroidx/constraintlayout/solver/LinearSystem;->sMetrics:Landroidx/constraintlayout/solver/Metrics;
iget-wide v13, v9, Landroidx/constraintlayout/solver/Metrics;->chainConnectionResolved:J
add-long v13, v13, v31
iput-wide v13, v9, Landroidx/constraintlayout/solver/Metrics;->chainConnectionResolved:J
goto :goto_f
.line 529
.end local v34 # "lastNode":Landroidx/constraintlayout/solver/widgets/ResolutionAnchor;
.end local v35 # "extraMargin":F
.restart local v13 # "lastNode":Landroidx/constraintlayout/solver/widgets/ResolutionAnchor;
.restart local v14 # "extraMargin":F
:cond_21
move-object/from16 v34, v13
move/from16 v35, v14
.line 534
.end local v13 # "lastNode":Landroidx/constraintlayout/solver/widgets/ResolutionAnchor;
.end local v14 # "extraMargin":F
.restart local v34 # "lastNode":Landroidx/constraintlayout/solver/widgets/ResolutionAnchor;
.restart local v35 # "extraMargin":F
:goto_f
iget-object v9, v2, Landroidx/constraintlayout/solver/widgets/ConstraintWidget;->mNextChainWidget:[Landroidx/constraintlayout/solver/widgets/ConstraintWidget;
aget-object v18, v9, v1
.line 535
if-nez v18, :cond_23
if-ne v2, v4, :cond_22
goto :goto_10
:cond_22
move/from16 v36, v7
goto :goto_12
.line 536
:cond_23
:goto_10
int-to-float v9, v7
div-float v9, v30, v9
.line 537
.local v9, "dimension":F
cmpl-float v13, v12, v23
if-lez v13, :cond_25
.line 538
iget-object v13, v2, Landroidx/constraintlayout/solver/widgets/ConstraintWidget;->mWeight:[F
aget v13, v13, v1
const/high16 v14, -0x40800000 # -1.0f
cmpl-float v13, v13, v14
if-nez v13, :cond_24
.line 539
const/4 v9, 0x0
goto :goto_11
.line 541
:cond_24
iget-object v13, v2, Landroidx/constraintlayout/solver/widgets/ConstraintWidget;->mWeight:[F
aget v13, v13, v1
mul-float v13, v13, v30
div-float v9, v13, v12
.line 544
:cond_25
:goto_11
invoke-virtual {v2}, Landroidx/constraintlayout/solver/widgets/ConstraintWidget;->getVisibility()I
move-result v13
const/16 v14, 0x8
if-ne v13, v14, :cond_26
.line 545
const/4 v9, 0x0
.line 547
:cond_26
iget-object v13, v2, Landroidx/constraintlayout/solver/widgets/ConstraintWidget;->mListAnchors:[Landroidx/constraintlayout/solver/widgets/ConstraintAnchor;
aget-object v13, v13, p3
invoke-virtual {v13}, Landroidx/constraintlayout/solver/widgets/ConstraintAnchor;->getMargin()I
move-result v13
int-to-float v13, v13
add-float/2addr v6, v13
.line 548
iget-object v13, v2, Landroidx/constraintlayout/solver/widgets/ConstraintWidget;->mListAnchors:[Landroidx/constraintlayout/solver/widgets/ConstraintAnchor;
aget-object v13, v13, p3
invoke-virtual {v13}, Landroidx/constraintlayout/solver/widgets/ConstraintAnchor;->getResolutionNode()Landroidx/constraintlayout/solver/widgets/ResolutionAnchor;
move-result-object v13
iget-object v14, v10, Landroidx/constraintlayout/solver/widgets/ResolutionAnchor;->resolvedTarget:Landroidx/constraintlayout/solver/widgets/ResolutionAnchor;
invoke-virtual {v13, v14, v6}, Landroidx/constraintlayout/solver/widgets/ResolutionAnchor;->resolve(Landroidx/constraintlayout/solver/widgets/ResolutionAnchor;F)V
.line 550
iget-object v13, v2, Landroidx/constraintlayout/solver/widgets/ConstraintWidget;->mListAnchors:[Landroidx/constraintlayout/solver/widgets/ConstraintAnchor;
add-int/lit8 v14, p3, 0x1
aget-object v13, v13, v14
invoke-virtual {v13}, Landroidx/constraintlayout/solver/widgets/ConstraintAnchor;->getResolutionNode()Landroidx/constraintlayout/solver/widgets/ResolutionAnchor;
move-result-object v13
iget-object v14, v10, Landroidx/constraintlayout/solver/widgets/ResolutionAnchor;->resolvedTarget:Landroidx/constraintlayout/solver/widgets/ResolutionAnchor;
move/from16 v36, v7
.end local v7 # "numMatchConstraints":I
.local v36, "numMatchConstraints":I
add-float v7, v6, v9
invoke-virtual {v13, v14, v7}, Landroidx/constraintlayout/solver/widgets/ResolutionAnchor;->resolve(Landroidx/constraintlayout/solver/widgets/ResolutionAnchor;F)V
.line 552
iget-object v7, v2, Landroidx/constraintlayout/solver/widgets/ConstraintWidget;->mListAnchors:[Landroidx/constraintlayout/solver/widgets/ConstraintAnchor;
aget-object v7, v7, p3
invoke-virtual {v7}, Landroidx/constraintlayout/solver/widgets/ConstraintAnchor;->getResolutionNode()Landroidx/constraintlayout/solver/widgets/ResolutionAnchor;
move-result-object v7
invoke-virtual {v7, v0}, Landroidx/constraintlayout/solver/widgets/ResolutionAnchor;->addResolvedValue(Landroidx/constraintlayout/solver/LinearSystem;)V
.line 553
iget-object v7, v2, Landroidx/constraintlayout/solver/widgets/ConstraintWidget;->mListAnchors:[Landroidx/constraintlayout/solver/widgets/ConstraintAnchor;
add-int/lit8 v13, p3, 0x1
aget-object v7, v7, v13
invoke-virtual {v7}, Landroidx/constraintlayout/solver/widgets/ConstraintAnchor;->getResolutionNode()Landroidx/constraintlayout/solver/widgets/ResolutionAnchor;
move-result-object v7
invoke-virtual {v7, v0}, Landroidx/constraintlayout/solver/widgets/ResolutionAnchor;->addResolvedValue(Landroidx/constraintlayout/solver/LinearSystem;)V
.line 554
add-float/2addr v6, v9
.line 555
iget-object v7, v2, Landroidx/constraintlayout/solver/widgets/ConstraintWidget;->mListAnchors:[Landroidx/constraintlayout/solver/widgets/ConstraintAnchor;
add-int/lit8 v13, p3, 0x1
aget-object v7, v7, v13
invoke-virtual {v7}, Landroidx/constraintlayout/solver/widgets/ConstraintAnchor;->getMargin()I
move-result v7
int-to-float v7, v7
add-float/2addr v6, v7
.line 557
.end local v9 # "dimension":F
:goto_12
move-object/from16 v2, v18
move-object/from16 v13, v34
move/from16 v14, v35
move/from16 v7, v36
goto/16 :goto_e
.line 559
.end local v34 # "lastNode":Landroidx/constraintlayout/solver/widgets/ResolutionAnchor;
.end local v35 # "extraMargin":F
.end local v36 # "numMatchConstraints":I
.restart local v7 # "numMatchConstraints":I
.restart local v13 # "lastNode":Landroidx/constraintlayout/solver/widgets/ResolutionAnchor;
.restart local v14 # "extraMargin":F
:cond_27
move/from16 v36, v7
.end local v7 # "numMatchConstraints":I
.restart local v36 # "numMatchConstraints":I
const/4 v7, 0x1
return v7
.line 520
.end local v29 # "lastOffset":F
.end local v33 # "lastVisibleWidget":Landroidx/constraintlayout/solver/widgets/ConstraintWidget;
.end local v36 # "numMatchConstraints":I
.local v2, "lastOffset":F
.local v6, "lastVisibleWidget":Landroidx/constraintlayout/solver/widgets/ConstraintWidget;
.restart local v7 # "numMatchConstraints":I
.local v9, "widget":Landroidx/constraintlayout/solver/widgets/ConstraintWidget;
:cond_28
move/from16 v29, v2
move-object/from16 v33, v6
move/from16 v36, v7
move-object/from16 v34, v13
move/from16 v35, v14
.line 563
.end local v2 # "lastOffset":F
.end local v6 # "lastVisibleWidget":Landroidx/constraintlayout/solver/widgets/ConstraintWidget;
.end local v7 # "numMatchConstraints":I
.end local v13 # "lastNode":Landroidx/constraintlayout/solver/widgets/ResolutionAnchor;
.end local v14 # "extraMargin":F
.restart local v29 # "lastOffset":F
.restart local v33 # "lastVisibleWidget":Landroidx/constraintlayout/solver/widgets/ConstraintWidget;
.restart local v34 # "lastNode":Landroidx/constraintlayout/solver/widgets/ResolutionAnchor;
.restart local v35 # "extraMargin":F
.restart local v36 # "numMatchConstraints":I
cmpg-float v2, v30, v23
if-gez v2, :cond_29
.line 564
const/4 v8, 0x0
.line 565
const/16 v19, 0x0
.line 566
const/4 v2, 0x1
move/from16 v28, v2
.line 569
:cond_29
if-eqz v28, :cond_2e
.line 570
sub-float v30, v30, v35
.line 572
move-object v2, v3
.line 573
.end local v9 # "widget":Landroidx/constraintlayout/solver/widgets/ConstraintWidget;
.local v2, "widget":Landroidx/constraintlayout/solver/widgets/ConstraintWidget;
invoke-virtual {v3, v1}, Landroidx/constraintlayout/solver/widgets/ConstraintWidget;->getBiasPercent(I)F
move-result v6
mul-float v6, v6, v30
add-float/2addr v6, v15
move-object v9, v2
move/from16 v30, v6
.line 574
.end local v2 # "widget":Landroidx/constraintlayout/solver/widgets/ConstraintWidget;
.restart local v9 # "widget":Landroidx/constraintlayout/solver/widgets/ConstraintWidget;
:goto_13
if-eqz v9, :cond_3e
.line 575
sget-object v2, Landroidx/constraintlayout/solver/LinearSystem;->sMetrics:Landroidx/constraintlayout/solver/Metrics;
if-eqz v2, :cond_2a
.line 576
sget-object v2, Landroidx/constraintlayout/solver/LinearSystem;->sMetrics:Landroidx/constraintlayout/solver/Metrics;
iget-wide v6, v2, Landroidx/constraintlayout/solver/Metrics;->nonresolvedWidgets:J
sub-long v6, v6, v31
iput-wide v6, v2, Landroidx/constraintlayout/solver/Metrics;->nonresolvedWidgets:J
.line 577
sget-object v2, Landroidx/constraintlayout/solver/LinearSystem;->sMetrics:Landroidx/constraintlayout/solver/Metrics;
iget-wide v6, v2, Landroidx/constraintlayout/solver/Metrics;->resolvedWidgets:J
add-long v6, v6, v31
iput-wide v6, v2, Landroidx/constraintlayout/solver/Metrics;->resolvedWidgets:J
.line 578
sget-object v2, Landroidx/constraintlayout/solver/LinearSystem;->sMetrics:Landroidx/constraintlayout/solver/Metrics;
iget-wide v6, v2, Landroidx/constraintlayout/solver/Metrics;->chainConnectionResolved:J
add-long v6, v6, v31
iput-wide v6, v2, Landroidx/constraintlayout/solver/Metrics;->chainConnectionResolved:J
.line 580
:cond_2a
iget-object v2, v9, Landroidx/constraintlayout/solver/widgets/ConstraintWidget;->mNextChainWidget:[Landroidx/constraintlayout/solver/widgets/ConstraintWidget;
aget-object v18, v2, v1
.line 581
if-nez v18, :cond_2b
if-ne v9, v4, :cond_2d
.line 582
:cond_2b
const/4 v2, 0x0
.line 583
.local v2, "dimension":F
if-nez v1, :cond_2c
.line 584
invoke-virtual {v9}, Landroidx/constraintlayout/solver/widgets/ConstraintWidget;->getWidth()I
move-result v6
int-to-float v2, v6
goto :goto_14
.line 586
:cond_2c
invoke-virtual {v9}, Landroidx/constraintlayout/solver/widgets/ConstraintWidget;->getHeight()I
move-result v6
int-to-float v2, v6
.line 588
:goto_14
iget-object v6, v9, Landroidx/constraintlayout/solver/widgets/ConstraintWidget;->mListAnchors:[Landroidx/constraintlayout/solver/widgets/ConstraintAnchor;
aget-object v6, v6, p3
invoke-virtual {v6}, Landroidx/constraintlayout/solver/widgets/ConstraintAnchor;->getMargin()I
move-result v6
int-to-float v6, v6
add-float v6, v30, v6
.line 589
.end local v30 # "distance":F
.local v6, "distance":F
iget-object v7, v9, Landroidx/constraintlayout/solver/widgets/ConstraintWidget;->mListAnchors:[Landroidx/constraintlayout/solver/widgets/ConstraintAnchor;
aget-object v7, v7, p3
invoke-virtual {v7}, Landroidx/constraintlayout/solver/widgets/ConstraintAnchor;->getResolutionNode()Landroidx/constraintlayout/solver/widgets/ResolutionAnchor;
move-result-object v7
iget-object v13, v10, Landroidx/constraintlayout/solver/widgets/ResolutionAnchor;->resolvedTarget:Landroidx/constraintlayout/solver/widgets/ResolutionAnchor;
invoke-virtual {v7, v13, v6}, Landroidx/constraintlayout/solver/widgets/ResolutionAnchor;->resolve(Landroidx/constraintlayout/solver/widgets/ResolutionAnchor;F)V
.line 591
iget-object v7, v9, Landroidx/constraintlayout/solver/widgets/ConstraintWidget;->mListAnchors:[Landroidx/constraintlayout/solver/widgets/ConstraintAnchor;
add-int/lit8 v13, p3, 0x1
aget-object v7, v7, v13
invoke-virtual {v7}, Landroidx/constraintlayout/solver/widgets/ConstraintAnchor;->getResolutionNode()Landroidx/constraintlayout/solver/widgets/ResolutionAnchor;
move-result-object v7
iget-object v13, v10, Landroidx/constraintlayout/solver/widgets/ResolutionAnchor;->resolvedTarget:Landroidx/constraintlayout/solver/widgets/ResolutionAnchor;
add-float v14, v6, v2
invoke-virtual {v7, v13, v14}, Landroidx/constraintlayout/solver/widgets/ResolutionAnchor;->resolve(Landroidx/constraintlayout/solver/widgets/ResolutionAnchor;F)V
.line 593
iget-object v7, v9, Landroidx/constraintlayout/solver/widgets/ConstraintWidget;->mListAnchors:[Landroidx/constraintlayout/solver/widgets/ConstraintAnchor;
aget-object v7, v7, p3
invoke-virtual {v7}, Landroidx/constraintlayout/solver/widgets/ConstraintAnchor;->getResolutionNode()Landroidx/constraintlayout/solver/widgets/ResolutionAnchor;
move-result-object v7
invoke-virtual {v7, v0}, Landroidx/constraintlayout/solver/widgets/ResolutionAnchor;->addResolvedValue(Landroidx/constraintlayout/solver/LinearSystem;)V
.line 594
iget-object v7, v9, Landroidx/constraintlayout/solver/widgets/ConstraintWidget;->mListAnchors:[Landroidx/constraintlayout/solver/widgets/ConstraintAnchor;
add-int/lit8 v13, p3, 0x1
aget-object v7, v7, v13
invoke-virtual {v7}, Landroidx/constraintlayout/solver/widgets/ConstraintAnchor;->getResolutionNode()Landroidx/constraintlayout/solver/widgets/ResolutionAnchor;
move-result-object v7
invoke-virtual {v7, v0}, Landroidx/constraintlayout/solver/widgets/ResolutionAnchor;->addResolvedValue(Landroidx/constraintlayout/solver/LinearSystem;)V
.line 595
add-float/2addr v6, v2
.line 596
iget-object v7, v9, Landroidx/constraintlayout/solver/widgets/ConstraintWidget;->mListAnchors:[Landroidx/constraintlayout/solver/widgets/ConstraintAnchor;
add-int/lit8 v13, p3, 0x1
aget-object v7, v7, v13
invoke-virtual {v7}, Landroidx/constraintlayout/solver/widgets/ConstraintAnchor;->getMargin()I
move-result v7
int-to-float v7, v7
add-float v30, v6, v7
.line 598
.end local v2 # "dimension":F
.end local v6 # "distance":F
.restart local v30 # "distance":F
:cond_2d
move-object/from16 v9, v18
goto/16 :goto_13
.line 600
:cond_2e
if-nez v8, :cond_2f
if-eqz v19, :cond_3e
.line 601
:cond_2f
if-eqz v8, :cond_30
.line 602
sub-float v30, v30, v35
goto :goto_15
.line 603
:cond_30
if-eqz v19, :cond_31
.line 604
sub-float v30, v30, v35
.line 606
:cond_31
:goto_15
move-object v2, v3
.line 607
.end local v9 # "widget":Landroidx/constraintlayout/solver/widgets/ConstraintWidget;
.local v2, "widget":Landroidx/constraintlayout/solver/widgets/ConstraintWidget;
add-int/lit8 v6, v11, 0x1
int-to-float v6, v6
div-float v6, v30, v6
.line 608
.local v6, "gap":F
if-eqz v19, :cond_33
.line 609
const/4 v7, 0x1
if-le v11, v7, :cond_32
.line 610
add-int/lit8 v7, v11, -0x1
int-to-float v7, v7
div-float v6, v30, v7
goto :goto_16
.line 612
:cond_32
const/high16 v7, 0x40000000 # 2.0f
div-float v6, v30, v7
.line 615
:cond_33
:goto_16
move v7, v15
.line 616
.end local v30 # "distance":F
.local v7, "distance":F
invoke-virtual {v3}, Landroidx/constraintlayout/solver/widgets/ConstraintWidget;->getVisibility()I
move-result v9
const/16 v13, 0x8
if-eq v9, v13, :cond_34
.line 617
add-float/2addr v7, v6
.line 619
:cond_34
if-eqz v19, :cond_35
const/4 v9, 0x1
if-le v11, v9, :cond_35
.line 620
iget-object v9, v5, Landroidx/constraintlayout/solver/widgets/ConstraintWidget;->mListAnchors:[Landroidx/constraintlayout/solver/widgets/ConstraintAnchor;
aget-object v9, v9, p3
invoke-virtual {v9}, Landroidx/constraintlayout/solver/widgets/ConstraintAnchor;->getMargin()I
move-result v9
int-to-float v9, v9
add-float v7, v15, v9
.line 622
:cond_35
if-eqz v8, :cond_36
.line 623
if-eqz v5, :cond_36
.line 624
iget-object v9, v5, Landroidx/constraintlayout/solver/widgets/ConstraintWidget;->mListAnchors:[Landroidx/constraintlayout/solver/widgets/ConstraintAnchor;
aget-object v9, v9, p3
invoke-virtual {v9}, Landroidx/constraintlayout/solver/widgets/ConstraintAnchor;->getMargin()I
move-result v9
int-to-float v9, v9
add-float/2addr v7, v9
move-object v9, v2
move/from16 v30, v7
goto :goto_17
.line 627
:cond_36
move-object v9, v2
move/from16 v30, v7
.end local v2 # "widget":Landroidx/constraintlayout/solver/widgets/ConstraintWidget;
.end local v7 # "distance":F
.restart local v9 # "widget":Landroidx/constraintlayout/solver/widgets/ConstraintWidget;
.restart local v30 # "distance":F
:goto_17
if-eqz v9, :cond_3e
.line 628
sget-object v2, Landroidx/constraintlayout/solver/LinearSystem;->sMetrics:Landroidx/constraintlayout/solver/Metrics;
if-eqz v2, :cond_37
.line 629
sget-object v2, Landroidx/constraintlayout/solver/LinearSystem;->sMetrics:Landroidx/constraintlayout/solver/Metrics;
iget-wide v13, v2, Landroidx/constraintlayout/solver/Metrics;->nonresolvedWidgets:J
sub-long v13, v13, v31
iput-wide v13, v2, Landroidx/constraintlayout/solver/Metrics;->nonresolvedWidgets:J
.line 630
sget-object v2, Landroidx/constraintlayout/solver/LinearSystem;->sMetrics:Landroidx/constraintlayout/solver/Metrics;
iget-wide v13, v2, Landroidx/constraintlayout/solver/Metrics;->resolvedWidgets:J
add-long v13, v13, v31
iput-wide v13, v2, Landroidx/constraintlayout/solver/Metrics;->resolvedWidgets:J
.line 631
sget-object v2, Landroidx/constraintlayout/solver/LinearSystem;->sMetrics:Landroidx/constraintlayout/solver/Metrics;
iget-wide v13, v2, Landroidx/constraintlayout/solver/Metrics;->chainConnectionResolved:J
add-long v13, v13, v31
iput-wide v13, v2, Landroidx/constraintlayout/solver/Metrics;->chainConnectionResolved:J
.line 633
:cond_37
iget-object v2, v9, Landroidx/constraintlayout/solver/widgets/ConstraintWidget;->mNextChainWidget:[Landroidx/constraintlayout/solver/widgets/ConstraintWidget;
aget-object v18, v2, v1
.line 634
if-nez v18, :cond_39
if-ne v9, v4, :cond_38
goto :goto_18
:cond_38
const/16 v7, 0x8
goto/16 :goto_1b
.line 635
:cond_39
:goto_18
const/4 v2, 0x0
.line 636
.local v2, "dimension":F
if-nez v1, :cond_3a
.line 637
invoke-virtual {v9}, Landroidx/constraintlayout/solver/widgets/ConstraintWidget;->getWidth()I
move-result v7
int-to-float v2, v7
goto :goto_19
.line 639
:cond_3a
invoke-virtual {v9}, Landroidx/constraintlayout/solver/widgets/ConstraintWidget;->getHeight()I
move-result v7
int-to-float v2, v7
.line 641
:goto_19
if-eq v9, v5, :cond_3b
.line 642
iget-object v7, v9, Landroidx/constraintlayout/solver/widgets/ConstraintWidget;->mListAnchors:[Landroidx/constraintlayout/solver/widgets/ConstraintAnchor;
aget-object v7, v7, p3
invoke-virtual {v7}, Landroidx/constraintlayout/solver/widgets/ConstraintAnchor;->getMargin()I
move-result v7
int-to-float v7, v7
add-float v30, v30, v7
move/from16 v7, v30
goto :goto_1a
.line 641
:cond_3b
move/from16 v7, v30
.line 644
.end local v30 # "distance":F
.restart local v7 # "distance":F
:goto_1a
iget-object v13, v9, Landroidx/constraintlayout/solver/widgets/ConstraintWidget;->mListAnchors:[Landroidx/constraintlayout/solver/widgets/ConstraintAnchor;
aget-object v13, v13, p3
invoke-virtual {v13}, Landroidx/constraintlayout/solver/widgets/ConstraintAnchor;->getResolutionNode()Landroidx/constraintlayout/solver/widgets/ResolutionAnchor;
move-result-object v13
iget-object v14, v10, Landroidx/constraintlayout/solver/widgets/ResolutionAnchor;->resolvedTarget:Landroidx/constraintlayout/solver/widgets/ResolutionAnchor;
invoke-virtual {v13, v14, v7}, Landroidx/constraintlayout/solver/widgets/ResolutionAnchor;->resolve(Landroidx/constraintlayout/solver/widgets/ResolutionAnchor;F)V
.line 646
iget-object v13, v9, Landroidx/constraintlayout/solver/widgets/ConstraintWidget;->mListAnchors:[Landroidx/constraintlayout/solver/widgets/ConstraintAnchor;
add-int/lit8 v14, p3, 0x1
aget-object v13, v13, v14
invoke-virtual {v13}, Landroidx/constraintlayout/solver/widgets/ConstraintAnchor;->getResolutionNode()Landroidx/constraintlayout/solver/widgets/ResolutionAnchor;
move-result-object v13
iget-object v14, v10, Landroidx/constraintlayout/solver/widgets/ResolutionAnchor;->resolvedTarget:Landroidx/constraintlayout/solver/widgets/ResolutionAnchor;
add-float v1, v7, v2
invoke-virtual {v13, v14, v1}, Landroidx/constraintlayout/solver/widgets/ResolutionAnchor;->resolve(Landroidx/constraintlayout/solver/widgets/ResolutionAnchor;F)V
.line 648
iget-object v1, v9, Landroidx/constraintlayout/solver/widgets/ConstraintWidget;->mListAnchors:[Landroidx/constraintlayout/solver/widgets/ConstraintAnchor;
aget-object v1, v1, p3
invoke-virtual {v1}, Landroidx/constraintlayout/solver/widgets/ConstraintAnchor;->getResolutionNode()Landroidx/constraintlayout/solver/widgets/ResolutionAnchor;
move-result-object v1
invoke-virtual {v1, v0}, Landroidx/constraintlayout/solver/widgets/ResolutionAnchor;->addResolvedValue(Landroidx/constraintlayout/solver/LinearSystem;)V
.line 649
iget-object v1, v9, Landroidx/constraintlayout/solver/widgets/ConstraintWidget;->mListAnchors:[Landroidx/constraintlayout/solver/widgets/ConstraintAnchor;
add-int/lit8 v13, p3, 0x1
aget-object v1, v1, v13
invoke-virtual {v1}, Landroidx/constraintlayout/solver/widgets/ConstraintAnchor;->getResolutionNode()Landroidx/constraintlayout/solver/widgets/ResolutionAnchor;
move-result-object v1
invoke-virtual {v1, v0}, Landroidx/constraintlayout/solver/widgets/ResolutionAnchor;->addResolvedValue(Landroidx/constraintlayout/solver/LinearSystem;)V
.line 650
iget-object v1, v9, Landroidx/constraintlayout/solver/widgets/ConstraintWidget;->mListAnchors:[Landroidx/constraintlayout/solver/widgets/ConstraintAnchor;
add-int/lit8 v13, p3, 0x1
aget-object v1, v1, v13
invoke-virtual {v1}, Landroidx/constraintlayout/solver/widgets/ConstraintAnchor;->getMargin()I
move-result v1
int-to-float v1, v1
add-float/2addr v1, v2
add-float v30, v7, v1
.line 651
.end local v7 # "distance":F
.restart local v30 # "distance":F
if-eqz v18, :cond_3c
invoke-virtual/range {v18 .. v18}, Landroidx/constraintlayout/solver/widgets/ConstraintWidget;->getVisibility()I
move-result v1
const/16 v7, 0x8
if-eq v1, v7, :cond_3d
.line 652
add-float v30, v30, v6
goto :goto_1b
.line 651
:cond_3c
const/16 v7, 0x8
.line 655
.end local v2 # "dimension":F
:cond_3d
:goto_1b
move-object/from16 v9, v18
move/from16 v1, p2
goto/16 :goto_17
.line 659
.end local v6 # "gap":F
:cond_3e
const/4 v1, 0x1
return v1
.line 490
.end local v15 # "firstOffset":F
.end local v28 # "isChainPacked":Z
.end local v29 # "lastOffset":F
.end local v30 # "distance":F
.end local v33 # "lastVisibleWidget":Landroidx/constraintlayout/solver/widgets/ConstraintWidget;
.end local v34 # "lastNode":Landroidx/constraintlayout/solver/widgets/ResolutionAnchor;
.end local v35 # "extraMargin":F
.end local v36 # "numMatchConstraints":I
.local v2, "isChainPacked":Z
.local v6, "lastVisibleWidget":Landroidx/constraintlayout/solver/widgets/ConstraintWidget;
.local v7, "numMatchConstraints":I
.restart local v13 # "lastNode":Landroidx/constraintlayout/solver/widgets/ResolutionAnchor;
:cond_3f
move/from16 v28, v2
move-object/from16 v33, v6
move/from16 v36, v7
move-object/from16 v34, v13
.line 493
.end local v2 # "isChainPacked":Z
.end local v6 # "lastVisibleWidget":Landroidx/constraintlayout/solver/widgets/ConstraintWidget;
.end local v7 # "numMatchConstraints":I
.end local v13 # "lastNode":Landroidx/constraintlayout/solver/widgets/ResolutionAnchor;
.restart local v28 # "isChainPacked":Z
.restart local v33 # "lastVisibleWidget":Landroidx/constraintlayout/solver/widgets/ConstraintWidget;
.restart local v34 # "lastNode":Landroidx/constraintlayout/solver/widgets/ResolutionAnchor;
.restart local v36 # "numMatchConstraints":I
:goto_1c
return v17
.line 484
.end local v28 # "isChainPacked":Z
.end local v33 # "lastVisibleWidget":Landroidx/constraintlayout/solver/widgets/ConstraintWidget;
.end local v34 # "lastNode":Landroidx/constraintlayout/solver/widgets/ResolutionAnchor;
.end local v36 # "numMatchConstraints":I
.restart local v2 # "isChainPacked":Z
.restart local v6 # "lastVisibleWidget":Landroidx/constraintlayout/solver/widgets/ConstraintWidget;
.restart local v7 # "numMatchConstraints":I
.restart local v13 # "lastNode":Landroidx/constraintlayout/solver/widgets/ResolutionAnchor;
:cond_40
move/from16 v28, v2
move-object/from16 v33, v6
move/from16 v36, v7
move-object/from16 v34, v13
.line 486
.end local v2 # "isChainPacked":Z
.end local v6 # "lastVisibleWidget":Landroidx/constraintlayout/solver/widgets/ConstraintWidget;
.end local v7 # "numMatchConstraints":I
.end local v13 # "lastNode":Landroidx/constraintlayout/solver/widgets/ResolutionAnchor;
.restart local v28 # "isChainPacked":Z
.restart local v33 # "lastVisibleWidget":Landroidx/constraintlayout/solver/widgets/ConstraintWidget;
.restart local v34 # "lastNode":Landroidx/constraintlayout/solver/widgets/ResolutionAnchor;
.restart local v36 # "numMatchConstraints":I
:goto_1d
return v17
.end method
.method static checkMatchParent(Landroidx/constraintlayout/solver/widgets/ConstraintWidgetContainer;Landroidx/constraintlayout/solver/LinearSystem;Landroidx/constraintlayout/solver/widgets/ConstraintWidget;)V
.locals 5
.param p0, "container" # Landroidx/constraintlayout/solver/widgets/ConstraintWidgetContainer;
.param p1, "system" # Landroidx/constraintlayout/solver/LinearSystem;
.param p2, "widget" # Landroidx/constraintlayout/solver/widgets/ConstraintWidget;
.line 57
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 v2, Landroidx/constraintlayout/solver/widgets/ConstraintWidget$DimensionBehaviour;->WRAP_CONTENT:Landroidx/constraintlayout/solver/widgets/ConstraintWidget$DimensionBehaviour;
const/4 v3, 0x2
if-eq v0, v2, :cond_0
iget-object v0, p2, Landroidx/constraintlayout/solver/widgets/ConstraintWidget;->mListDimensionBehaviors:[Landroidx/constraintlayout/solver/widgets/ConstraintWidget$DimensionBehaviour;
aget-object v0, v0, v1
sget-object v1, Landroidx/constraintlayout/solver/widgets/ConstraintWidget$DimensionBehaviour;->MATCH_PARENT:Landroidx/constraintlayout/solver/widgets/ConstraintWidget$DimensionBehaviour;
if-ne v0, v1, :cond_0
.line 60
iget-object v0, p2, Landroidx/constraintlayout/solver/widgets/ConstraintWidget;->mLeft:Landroidx/constraintlayout/solver/widgets/ConstraintAnchor;
iget v0, v0, Landroidx/constraintlayout/solver/widgets/ConstraintAnchor;->mMargin:I
.line 61
.local v0, "left":I
invoke-virtual {p0}, Landroidx/constraintlayout/solver/widgets/ConstraintWidgetContainer;->getWidth()I
move-result v1
iget-object v2, p2, Landroidx/constraintlayout/solver/widgets/ConstraintWidget;->mRight:Landroidx/constraintlayout/solver/widgets/ConstraintAnchor;
iget v2, v2, Landroidx/constraintlayout/solver/widgets/ConstraintAnchor;->mMargin:I
sub-int/2addr v1, v2
.line 68
.local v1, "right":I
iget-object v2, p2, Landroidx/constraintlayout/solver/widgets/ConstraintWidget;->mLeft:Landroidx/constraintlayout/solver/widgets/ConstraintAnchor;
iget-object v4, p2, Landroidx/constraintlayout/solver/widgets/ConstraintWidget;->mLeft:Landroidx/constraintlayout/solver/widgets/ConstraintAnchor;
invoke-virtual {p1, v4}, Landroidx/constraintlayout/solver/LinearSystem;->createObjectVariable(Ljava/lang/Object;)Landroidx/constraintlayout/solver/SolverVariable;
move-result-object v4
iput-object v4, v2, Landroidx/constraintlayout/solver/widgets/ConstraintAnchor;->mSolverVariable:Landroidx/constraintlayout/solver/SolverVariable;
.line 69
iget-object v2, p2, Landroidx/constraintlayout/solver/widgets/ConstraintWidget;->mRight:Landroidx/constraintlayout/solver/widgets/ConstraintAnchor;
iget-object v4, p2, Landroidx/constraintlayout/solver/widgets/ConstraintWidget;->mRight:Landroidx/constraintlayout/solver/widgets/ConstraintAnchor;
invoke-virtual {p1, v4}, Landroidx/constraintlayout/solver/LinearSystem;->createObjectVariable(Ljava/lang/Object;)Landroidx/constraintlayout/solver/SolverVariable;
move-result-object v4
iput-object v4, v2, Landroidx/constraintlayout/solver/widgets/ConstraintAnchor;->mSolverVariable:Landroidx/constraintlayout/solver/SolverVariable;
.line 70
iget-object v2, p2, Landroidx/constraintlayout/solver/widgets/ConstraintWidget;->mLeft:Landroidx/constraintlayout/solver/widgets/ConstraintAnchor;
iget-object v2, v2, Landroidx/constraintlayout/solver/widgets/ConstraintAnchor;->mSolverVariable:Landroidx/constraintlayout/solver/SolverVariable;
invoke-virtual {p1, v2, v0}, Landroidx/constraintlayout/solver/LinearSystem;->addEquality(Landroidx/constraintlayout/solver/SolverVariable;I)V
.line 71
iget-object v2, p2, Landroidx/constraintlayout/solver/widgets/ConstraintWidget;->mRight:Landroidx/constraintlayout/solver/widgets/ConstraintAnchor;
iget-object v2, v2, Landroidx/constraintlayout/solver/widgets/ConstraintAnchor;->mSolverVariable:Landroidx/constraintlayout/solver/SolverVariable;
invoke-virtual {p1, v2, v1}, Landroidx/constraintlayout/solver/LinearSystem;->addEquality(Landroidx/constraintlayout/solver/SolverVariable;I)V
.line 72
iput v3, p2, Landroidx/constraintlayout/solver/widgets/ConstraintWidget;->mHorizontalResolution:I
.line 74
invoke-virtual {p2, v0, v1}, Landroidx/constraintlayout/solver/widgets/ConstraintWidget;->setHorizontalDimension(II)V
.line 76
.end local v0 # "left":I
.end local v1 # "right":I
: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 v2, Landroidx/constraintlayout/solver/widgets/ConstraintWidget$DimensionBehaviour;->WRAP_CONTENT:Landroidx/constraintlayout/solver/widgets/ConstraintWidget$DimensionBehaviour;
if-eq v0, v2, :cond_3
iget-object v0, p2, Landroidx/constraintlayout/solver/widgets/ConstraintWidget;->mListDimensionBehaviors:[Landroidx/constraintlayout/solver/widgets/ConstraintWidget$DimensionBehaviour;
aget-object v0, v0, v1
sget-object v1, Landroidx/constraintlayout/solver/widgets/ConstraintWidget$DimensionBehaviour;->MATCH_PARENT:Landroidx/constraintlayout/solver/widgets/ConstraintWidget$DimensionBehaviour;
if-ne v0, v1, :cond_3
.line 79
iget-object v0, p2, Landroidx/constraintlayout/solver/widgets/ConstraintWidget;->mTop:Landroidx/constraintlayout/solver/widgets/ConstraintAnchor;
iget v0, v0, Landroidx/constraintlayout/solver/widgets/ConstraintAnchor;->mMargin:I
.line 80
.local v0, "top":I
invoke-virtual {p0}, Landroidx/constraintlayout/solver/widgets/ConstraintWidgetContainer;->getHeight()I
move-result v1
iget-object v2, p2, Landroidx/constraintlayout/solver/widgets/ConstraintWidget;->mBottom:Landroidx/constraintlayout/solver/widgets/ConstraintAnchor;
iget v2, v2, Landroidx/constraintlayout/solver/widgets/ConstraintAnchor;->mMargin:I
sub-int/2addr v1, v2
.line 87
.local v1, "bottom":I
iget-object v2, p2, Landroidx/constraintlayout/solver/widgets/ConstraintWidget;->mTop:Landroidx/constraintlayout/solver/widgets/ConstraintAnchor;
iget-object v4, p2, Landroidx/constraintlayout/solver/widgets/ConstraintWidget;->mTop:Landroidx/constraintlayout/solver/widgets/ConstraintAnchor;
invoke-virtual {p1, v4}, Landroidx/constraintlayout/solver/LinearSystem;->createObjectVariable(Ljava/lang/Object;)Landroidx/constraintlayout/solver/SolverVariable;
move-result-object v4
iput-object v4, v2, Landroidx/constraintlayout/solver/widgets/ConstraintAnchor;->mSolverVariable:Landroidx/constraintlayout/solver/SolverVariable;
.line 88
iget-object v2, p2, Landroidx/constraintlayout/solver/widgets/ConstraintWidget;->mBottom:Landroidx/constraintlayout/solver/widgets/ConstraintAnchor;
iget-object v4, p2, Landroidx/constraintlayout/solver/widgets/ConstraintWidget;->mBottom:Landroidx/constraintlayout/solver/widgets/ConstraintAnchor;
invoke-virtual {p1, v4}, Landroidx/constraintlayout/solver/LinearSystem;->createObjectVariable(Ljava/lang/Object;)Landroidx/constraintlayout/solver/SolverVariable;
move-result-object v4
iput-object v4, v2, Landroidx/constraintlayout/solver/widgets/ConstraintAnchor;->mSolverVariable:Landroidx/constraintlayout/solver/SolverVariable;
.line 89
iget-object v2, p2, Landroidx/constraintlayout/solver/widgets/ConstraintWidget;->mTop:Landroidx/constraintlayout/solver/widgets/ConstraintAnchor;
iget-object v2, v2, Landroidx/constraintlayout/solver/widgets/ConstraintAnchor;->mSolverVariable:Landroidx/constraintlayout/solver/SolverVariable;
invoke-virtual {p1, v2, v0}, Landroidx/constraintlayout/solver/LinearSystem;->addEquality(Landroidx/constraintlayout/solver/SolverVariable;I)V
.line 90
iget-object v2, p2, Landroidx/constraintlayout/solver/widgets/ConstraintWidget;->mBottom:Landroidx/constraintlayout/solver/widgets/ConstraintAnchor;
iget-object v2, v2, Landroidx/constraintlayout/solver/widgets/ConstraintAnchor;->mSolverVariable:Landroidx/constraintlayout/solver/SolverVariable;
invoke-virtual {p1, v2, v1}, Landroidx/constraintlayout/solver/LinearSystem;->addEquality(Landroidx/constraintlayout/solver/SolverVariable;I)V
.line 91
iget v2, p2, Landroidx/constraintlayout/solver/widgets/ConstraintWidget;->mBaselineDistance:I
if-gtz v2, :cond_1
invoke-virtual {p2}, Landroidx/constraintlayout/solver/widgets/ConstraintWidget;->getVisibility()I
move-result v2
const/16 v4, 0x8
if-ne v2, v4, :cond_2
.line 92
:cond_1
iget-object v2, p2, Landroidx/constraintlayout/solver/widgets/ConstraintWidget;->mBaseline:Landroidx/constraintlayout/solver/widgets/ConstraintAnchor;
iget-object v4, p2, Landroidx/constraintlayout/solver/widgets/ConstraintWidget;->mBaseline:Landroidx/constraintlayout/solver/widgets/ConstraintAnchor;
invoke-virtual {p1, v4}, Landroidx/constraintlayout/solver/LinearSystem;->createObjectVariable(Ljava/lang/Object;)Landroidx/constraintlayout/solver/SolverVariable;
move-result-object v4
iput-object v4, v2, Landroidx/constraintlayout/solver/widgets/ConstraintAnchor;->mSolverVariable:Landroidx/constraintlayout/solver/SolverVariable;
.line 93
iget-object v2, p2, Landroidx/constraintlayout/solver/widgets/ConstraintWidget;->mBaseline:Landroidx/constraintlayout/solver/widgets/ConstraintAnchor;
iget-object v2, v2, Landroidx/constraintlayout/solver/widgets/ConstraintAnchor;->mSolverVariable:Landroidx/constraintlayout/solver/SolverVariable;
iget v4, p2, Landroidx/constraintlayout/solver/widgets/ConstraintWidget;->mBaselineDistance:I
add-int/2addr v4, v0
invoke-virtual {p1, v2, v4}, Landroidx/constraintlayout/solver/LinearSystem;->addEquality(Landroidx/constraintlayout/solver/SolverVariable;I)V
.line 95
:cond_2
iput v3, p2, Landroidx/constraintlayout/solver/widgets/ConstraintWidget;->mVerticalResolution:I
.line 97
invoke-virtual {p2, v0, v1}, Landroidx/constraintlayout/solver/widgets/ConstraintWidget;->setVerticalDimension(II)V
.line 99
.end local v0 # "top":I
.end local v1 # "bottom":I
:cond_3
return-void
.end method
.method private static optimizableMatchConstraint(Landroidx/constraintlayout/solver/widgets/ConstraintWidget;I)Z
.locals 4
.param p0, "constraintWidget" # Landroidx/constraintlayout/solver/widgets/ConstraintWidget;
.param p1, "orientation" # I
.line 111
iget-object v0, p0, Landroidx/constraintlayout/solver/widgets/ConstraintWidget;->mListDimensionBehaviors:[Landroidx/constraintlayout/solver/widgets/ConstraintWidget$DimensionBehaviour;
aget-object v0, v0, p1
sget-object v1, Landroidx/constraintlayout/solver/widgets/ConstraintWidget$DimensionBehaviour;->MATCH_CONSTRAINT:Landroidx/constraintlayout/solver/widgets/ConstraintWidget$DimensionBehaviour;
const/4 v2, 0x0
if-eq v0, v1, :cond_0
.line 112
return v2
.line 114
:cond_0
iget v0, p0, Landroidx/constraintlayout/solver/widgets/ConstraintWidget;->mDimensionRatio:F
const/4 v1, 0x0
const/4 v3, 0x1
cmpl-float v0, v0, v1
if-eqz v0, :cond_3
.line 115
iget-object v0, p0, Landroidx/constraintlayout/solver/widgets/ConstraintWidget;->mListDimensionBehaviors:[Landroidx/constraintlayout/solver/widgets/ConstraintWidget$DimensionBehaviour;
if-nez p1, :cond_1
goto :goto_0
:cond_1
const/4 v3, 0x0
:goto_0
aget-object v0, v0, v3
sget-object v1, Landroidx/constraintlayout/solver/widgets/ConstraintWidget$DimensionBehaviour;->MATCH_CONSTRAINT:Landroidx/constraintlayout/solver/widgets/ConstraintWidget$DimensionBehaviour;
if-ne v0, v1, :cond_2
.line 117
return v2
.line 120
:cond_2
return v2
.line 122
:cond_3
if-nez p1, :cond_6
.line 123
iget v0, p0, Landroidx/constraintlayout/solver/widgets/ConstraintWidget;->mMatchConstraintDefaultWidth:I
if-eqz v0, :cond_4
.line 124
return v2
.line 126
:cond_4
iget v0, p0, Landroidx/constraintlayout/solver/widgets/ConstraintWidget;->mMatchConstraintMinWidth:I
if-nez v0, :cond_5
iget v0, p0, Landroidx/constraintlayout/solver/widgets/ConstraintWidget;->mMatchConstraintMaxWidth:I
if-eqz v0, :cond_8
.line 127
:cond_5
return v2
.line 130
:cond_6
iget v0, p0, Landroidx/constraintlayout/solver/widgets/ConstraintWidget;->mMatchConstraintDefaultHeight:I
if-eqz v0, :cond_7
.line 131
return v2
.line 133
:cond_7
iget v0, p0, Landroidx/constraintlayout/solver/widgets/ConstraintWidget;->mMatchConstraintMinHeight:I
if-nez v0, :cond_9
iget v0, p0, Landroidx/constraintlayout/solver/widgets/ConstraintWidget;->mMatchConstraintMaxHeight:I
if-eqz v0, :cond_8
goto :goto_1
.line 137
:cond_8
return v3
.line 134
:cond_9
:goto_1
return v2
.end method
.method static setOptimizedWidget(Landroidx/constraintlayout/solver/widgets/ConstraintWidget;II)V
.locals 5
.param p0, "widget" # Landroidx/constraintlayout/solver/widgets/ConstraintWidget;
.param p1, "orientation" # I
.param p2, "resolvedOffset" # I
.line 671
mul-int/lit8 v0, p1, 0x2
.line 672
.local v0, "startOffset":I
add-int/lit8 v1, v0, 0x1
.line 674
.local v1, "endOffset":I
iget-object v2, p0, Landroidx/constraintlayout/solver/widgets/ConstraintWidget;->mListAnchors:[Landroidx/constraintlayout/solver/widgets/ConstraintAnchor;
aget-object v2, v2, v0
invoke-virtual {v2}, Landroidx/constraintlayout/solver/widgets/ConstraintAnchor;->getResolutionNode()Landroidx/constraintlayout/solver/widgets/ResolutionAnchor;
move-result-object v2
.line 675
invoke-virtual {p0}, Landroidx/constraintlayout/solver/widgets/ConstraintWidget;->getParent()Landroidx/constraintlayout/solver/widgets/ConstraintWidget;
move-result-object v3
iget-object v3, v3, Landroidx/constraintlayout/solver/widgets/ConstraintWidget;->mLeft:Landroidx/constraintlayout/solver/widgets/ConstraintAnchor;
invoke-virtual {v3}, Landroidx/constraintlayout/solver/widgets/ConstraintAnchor;->getResolutionNode()Landroidx/constraintlayout/solver/widgets/ResolutionAnchor;
move-result-object v3
iput-object v3, v2, Landroidx/constraintlayout/solver/widgets/ResolutionAnchor;->resolvedTarget:Landroidx/constraintlayout/solver/widgets/ResolutionAnchor;
.line 676
iget-object v2, p0, Landroidx/constraintlayout/solver/widgets/ConstraintWidget;->mListAnchors:[Landroidx/constraintlayout/solver/widgets/ConstraintAnchor;
aget-object v2, v2, v0
invoke-virtual {v2}, Landroidx/constraintlayout/solver/widgets/ConstraintAnchor;->getResolutionNode()Landroidx/constraintlayout/solver/widgets/ResolutionAnchor;
move-result-object v2
int-to-float v3, p2
iput v3, v2, Landroidx/constraintlayout/solver/widgets/ResolutionAnchor;->resolvedOffset:F
.line 678
iget-object v2, p0, Landroidx/constraintlayout/solver/widgets/ConstraintWidget;->mListAnchors:[Landroidx/constraintlayout/solver/widgets/ConstraintAnchor;
aget-object v2, v2, v0
invoke-virtual {v2}, Landroidx/constraintlayout/solver/widgets/ConstraintAnchor;->getResolutionNode()Landroidx/constraintlayout/solver/widgets/ResolutionAnchor;
move-result-object v2
const/4 v3, 0x1
iput v3, v2, Landroidx/constraintlayout/solver/widgets/ResolutionAnchor;->state:I
.line 680
iget-object v2, p0, Landroidx/constraintlayout/solver/widgets/ConstraintWidget;->mListAnchors:[Landroidx/constraintlayout/solver/widgets/ConstraintAnchor;
aget-object v2, v2, v1
invoke-virtual {v2}, Landroidx/constraintlayout/solver/widgets/ConstraintAnchor;->getResolutionNode()Landroidx/constraintlayout/solver/widgets/ResolutionAnchor;
move-result-object v2
iget-object v4, p0, Landroidx/constraintlayout/solver/widgets/ConstraintWidget;->mListAnchors:[Landroidx/constraintlayout/solver/widgets/ConstraintAnchor;
aget-object v4, v4, v0
.line 681
invoke-virtual {v4}, Landroidx/constraintlayout/solver/widgets/ConstraintAnchor;->getResolutionNode()Landroidx/constraintlayout/solver/widgets/ResolutionAnchor;
move-result-object v4
iput-object v4, v2, Landroidx/constraintlayout/solver/widgets/ResolutionAnchor;->resolvedTarget:Landroidx/constraintlayout/solver/widgets/ResolutionAnchor;
.line 682
iget-object v2, p0, Landroidx/constraintlayout/solver/widgets/ConstraintWidget;->mListAnchors:[Landroidx/constraintlayout/solver/widgets/ConstraintAnchor;
aget-object v2, v2, v1
invoke-virtual {v2}, Landroidx/constraintlayout/solver/widgets/ConstraintAnchor;->getResolutionNode()Landroidx/constraintlayout/solver/widgets/ResolutionAnchor;
move-result-object v2
.line 683
invoke-virtual {p0, p1}, Landroidx/constraintlayout/solver/widgets/ConstraintWidget;->getLength(I)I
move-result v4
int-to-float v4, v4
iput v4, v2, Landroidx/constraintlayout/solver/widgets/ResolutionAnchor;->resolvedOffset:F
.line 684
iget-object v2, p0, Landroidx/constraintlayout/solver/widgets/ConstraintWidget;->mListAnchors:[Landroidx/constraintlayout/solver/widgets/ConstraintAnchor;
aget-object v2, v2, v1
invoke-virtual {v2}, Landroidx/constraintlayout/solver/widgets/ConstraintAnchor;->getResolutionNode()Landroidx/constraintlayout/solver/widgets/ResolutionAnchor;
move-result-object v2
iput v3, v2, Landroidx/constraintlayout/solver/widgets/ResolutionAnchor;->state:I
.line 685
return-void
.end method