.class public abstract Landroidx/constraintlayout/solver/widgets/analyzer/WidgetRun; .super Ljava/lang/Object; .source "WidgetRun.java" # interfaces .implements Landroidx/constraintlayout/solver/widgets/analyzer/Dependency; # annotations .annotation system Ldalvik/annotation/MemberClasses; value = { Landroidx/constraintlayout/solver/widgets/analyzer/WidgetRun$RunType; } .end annotation # instance fields .field public dimension:Landroidx/constraintlayout/solver/widgets/analyzer/DimensionDependency; .field public dimensionBehavior:Landroidx/constraintlayout/solver/widgets/ConstraintWidget$DimensionBehaviour; .field public end:Landroidx/constraintlayout/solver/widgets/analyzer/DependencyNode; .field public mRunType:Landroidx/constraintlayout/solver/widgets/analyzer/WidgetRun$RunType; .field public matchConstraintsType:I .field public orientation:I .field public resolved:Z .field public runGroup:Landroidx/constraintlayout/solver/widgets/analyzer/RunGroup; .field public start:Landroidx/constraintlayout/solver/widgets/analyzer/DependencyNode; .field public widget:Landroidx/constraintlayout/solver/widgets/ConstraintWidget; # direct methods .method public constructor (Landroidx/constraintlayout/solver/widgets/ConstraintWidget;)V .locals 1 invoke-direct {p0}, Ljava/lang/Object;->()V new-instance v0, Landroidx/constraintlayout/solver/widgets/analyzer/DimensionDependency; invoke-direct {v0, p0}, Landroidx/constraintlayout/solver/widgets/analyzer/DimensionDependency;->(Landroidx/constraintlayout/solver/widgets/analyzer/WidgetRun;)V iput-object v0, p0, Landroidx/constraintlayout/solver/widgets/analyzer/WidgetRun;->dimension:Landroidx/constraintlayout/solver/widgets/analyzer/DimensionDependency; const/4 v0, 0x0 iput v0, p0, Landroidx/constraintlayout/solver/widgets/analyzer/WidgetRun;->orientation:I iput-boolean v0, p0, Landroidx/constraintlayout/solver/widgets/analyzer/WidgetRun;->resolved:Z new-instance v0, Landroidx/constraintlayout/solver/widgets/analyzer/DependencyNode; invoke-direct {v0, p0}, Landroidx/constraintlayout/solver/widgets/analyzer/DependencyNode;->(Landroidx/constraintlayout/solver/widgets/analyzer/WidgetRun;)V iput-object v0, p0, Landroidx/constraintlayout/solver/widgets/analyzer/WidgetRun;->start:Landroidx/constraintlayout/solver/widgets/analyzer/DependencyNode; new-instance v0, Landroidx/constraintlayout/solver/widgets/analyzer/DependencyNode; invoke-direct {v0, p0}, Landroidx/constraintlayout/solver/widgets/analyzer/DependencyNode;->(Landroidx/constraintlayout/solver/widgets/analyzer/WidgetRun;)V iput-object v0, p0, Landroidx/constraintlayout/solver/widgets/analyzer/WidgetRun;->end:Landroidx/constraintlayout/solver/widgets/analyzer/DependencyNode; sget-object v0, Landroidx/constraintlayout/solver/widgets/analyzer/WidgetRun$RunType;->NONE:Landroidx/constraintlayout/solver/widgets/analyzer/WidgetRun$RunType; iput-object v0, p0, Landroidx/constraintlayout/solver/widgets/analyzer/WidgetRun;->mRunType:Landroidx/constraintlayout/solver/widgets/analyzer/WidgetRun$RunType; iput-object p1, p0, Landroidx/constraintlayout/solver/widgets/analyzer/WidgetRun;->widget:Landroidx/constraintlayout/solver/widgets/ConstraintWidget; return-void .end method .method private resolveDimension(II)V .locals 7 iget v0, p0, Landroidx/constraintlayout/solver/widgets/analyzer/WidgetRun;->matchConstraintsType:I if-eqz v0, :cond_8 const/4 v1, 0x1 if-eq v0, v1, :cond_7 const/4 p2, 0x2 const/high16 v2, 0x3f000000 # 0.5f if-eq v0, p2, :cond_4 const/4 p2, 0x3 if-eq v0, p2, :cond_0 goto/16 :goto_3 :cond_0 iget-object v0, p0, Landroidx/constraintlayout/solver/widgets/analyzer/WidgetRun;->widget:Landroidx/constraintlayout/solver/widgets/ConstraintWidget; iget-object v3, v0, Landroidx/constraintlayout/solver/widgets/ConstraintWidget;->horizontalRun:Landroidx/constraintlayout/solver/widgets/analyzer/HorizontalWidgetRun; iget-object v4, v3, Landroidx/constraintlayout/solver/widgets/analyzer/WidgetRun;->dimensionBehavior:Landroidx/constraintlayout/solver/widgets/ConstraintWidget$DimensionBehaviour; sget-object v5, Landroidx/constraintlayout/solver/widgets/ConstraintWidget$DimensionBehaviour;->MATCH_CONSTRAINT:Landroidx/constraintlayout/solver/widgets/ConstraintWidget$DimensionBehaviour; if-ne v4, v5, :cond_1 iget v4, v3, Landroidx/constraintlayout/solver/widgets/analyzer/WidgetRun;->matchConstraintsType:I if-ne v4, p2, :cond_1 iget-object v4, v0, Landroidx/constraintlayout/solver/widgets/ConstraintWidget;->verticalRun:Landroidx/constraintlayout/solver/widgets/analyzer/VerticalWidgetRun; iget-object v6, v4, Landroidx/constraintlayout/solver/widgets/analyzer/WidgetRun;->dimensionBehavior:Landroidx/constraintlayout/solver/widgets/ConstraintWidget$DimensionBehaviour; if-ne v6, v5, :cond_1 iget v4, v4, Landroidx/constraintlayout/solver/widgets/analyzer/WidgetRun;->matchConstraintsType:I if-ne v4, p2, :cond_1 goto/16 :goto_3 :cond_1 if-nez p1, :cond_2 iget-object v3, v0, Landroidx/constraintlayout/solver/widgets/ConstraintWidget;->verticalRun:Landroidx/constraintlayout/solver/widgets/analyzer/VerticalWidgetRun; :cond_2 iget-object p2, v3, Landroidx/constraintlayout/solver/widgets/analyzer/WidgetRun;->dimension:Landroidx/constraintlayout/solver/widgets/analyzer/DimensionDependency; iget-boolean p2, p2, Landroidx/constraintlayout/solver/widgets/analyzer/DependencyNode;->resolved:Z if-eqz p2, :cond_9 invoke-virtual {v0}, Landroidx/constraintlayout/solver/widgets/ConstraintWidget;->getDimensionRatio()F move-result p2 if-ne p1, v1, :cond_3 iget-object p1, v3, Landroidx/constraintlayout/solver/widgets/analyzer/WidgetRun;->dimension:Landroidx/constraintlayout/solver/widgets/analyzer/DimensionDependency; iget p1, p1, Landroidx/constraintlayout/solver/widgets/analyzer/DependencyNode;->value:I int-to-float p1, p1 div-float/2addr p1, p2 add-float/2addr p1, v2 float-to-int p1, p1 goto :goto_0 :cond_3 iget-object p1, v3, Landroidx/constraintlayout/solver/widgets/analyzer/WidgetRun;->dimension:Landroidx/constraintlayout/solver/widgets/analyzer/DimensionDependency; iget p1, p1, Landroidx/constraintlayout/solver/widgets/analyzer/DependencyNode;->value:I int-to-float p1, p1 mul-float p2, p2, p1 add-float/2addr p2, v2 float-to-int p1, p2 :goto_0 iget-object p2, p0, Landroidx/constraintlayout/solver/widgets/analyzer/WidgetRun;->dimension:Landroidx/constraintlayout/solver/widgets/analyzer/DimensionDependency; invoke-virtual {p2, p1}, Landroidx/constraintlayout/solver/widgets/analyzer/DimensionDependency;->resolve(I)V goto :goto_3 :cond_4 iget-object p2, p0, Landroidx/constraintlayout/solver/widgets/analyzer/WidgetRun;->widget:Landroidx/constraintlayout/solver/widgets/ConstraintWidget; invoke-virtual {p2}, Landroidx/constraintlayout/solver/widgets/ConstraintWidget;->getParent()Landroidx/constraintlayout/solver/widgets/ConstraintWidget; move-result-object p2 if-eqz p2, :cond_9 if-nez p1, :cond_5 iget-object p2, p2, Landroidx/constraintlayout/solver/widgets/ConstraintWidget;->horizontalRun:Landroidx/constraintlayout/solver/widgets/analyzer/HorizontalWidgetRun; goto :goto_1 :cond_5 iget-object p2, p2, Landroidx/constraintlayout/solver/widgets/ConstraintWidget;->verticalRun:Landroidx/constraintlayout/solver/widgets/analyzer/VerticalWidgetRun; :goto_1 iget-object p2, p2, Landroidx/constraintlayout/solver/widgets/analyzer/WidgetRun;->dimension:Landroidx/constraintlayout/solver/widgets/analyzer/DimensionDependency; iget-boolean v0, p2, Landroidx/constraintlayout/solver/widgets/analyzer/DependencyNode;->resolved:Z if-eqz v0, :cond_9 iget-object v0, p0, Landroidx/constraintlayout/solver/widgets/analyzer/WidgetRun;->widget:Landroidx/constraintlayout/solver/widgets/ConstraintWidget; if-nez p1, :cond_6 iget v0, v0, Landroidx/constraintlayout/solver/widgets/ConstraintWidget;->mMatchConstraintPercentWidth:F goto :goto_2 :cond_6 iget v0, v0, Landroidx/constraintlayout/solver/widgets/ConstraintWidget;->mMatchConstraintPercentHeight:F :goto_2 iget p2, p2, Landroidx/constraintlayout/solver/widgets/analyzer/DependencyNode;->value:I int-to-float p2, p2 mul-float p2, p2, v0 add-float/2addr p2, v2 float-to-int p2, p2 iget-object v0, p0, Landroidx/constraintlayout/solver/widgets/analyzer/WidgetRun;->dimension:Landroidx/constraintlayout/solver/widgets/analyzer/DimensionDependency; invoke-virtual {p0, p2, p1}, Landroidx/constraintlayout/solver/widgets/analyzer/WidgetRun;->getLimitedDimension(II)I move-result p1 invoke-virtual {v0, p1}, Landroidx/constraintlayout/solver/widgets/analyzer/DimensionDependency;->resolve(I)V goto :goto_3 :cond_7 iget-object v0, p0, Landroidx/constraintlayout/solver/widgets/analyzer/WidgetRun;->dimension:Landroidx/constraintlayout/solver/widgets/analyzer/DimensionDependency; iget v0, v0, Landroidx/constraintlayout/solver/widgets/analyzer/DimensionDependency;->wrapValue:I invoke-virtual {p0, v0, p1}, Landroidx/constraintlayout/solver/widgets/analyzer/WidgetRun;->getLimitedDimension(II)I move-result p1 iget-object v0, p0, Landroidx/constraintlayout/solver/widgets/analyzer/WidgetRun;->dimension:Landroidx/constraintlayout/solver/widgets/analyzer/DimensionDependency; invoke-static {p1, p2}, Ljava/lang/Math;->min(II)I move-result p1 invoke-virtual {v0, p1}, Landroidx/constraintlayout/solver/widgets/analyzer/DimensionDependency;->resolve(I)V goto :goto_3 :cond_8 iget-object v0, p0, Landroidx/constraintlayout/solver/widgets/analyzer/WidgetRun;->dimension:Landroidx/constraintlayout/solver/widgets/analyzer/DimensionDependency; invoke-virtual {p0, p2, p1}, Landroidx/constraintlayout/solver/widgets/analyzer/WidgetRun;->getLimitedDimension(II)I move-result p1 invoke-virtual {v0, p1}, Landroidx/constraintlayout/solver/widgets/analyzer/DimensionDependency;->resolve(I)V :cond_9 :goto_3 return-void .end method # virtual methods .method public final addTarget(Landroidx/constraintlayout/solver/widgets/analyzer/DependencyNode;Landroidx/constraintlayout/solver/widgets/analyzer/DependencyNode;I)V .locals 1 iget-object v0, p1, Landroidx/constraintlayout/solver/widgets/analyzer/DependencyNode;->targets:Ljava/util/List; invoke-interface {v0, p2}, Ljava/util/List;->add(Ljava/lang/Object;)Z iput p3, p1, Landroidx/constraintlayout/solver/widgets/analyzer/DependencyNode;->margin:I iget-object p2, p2, Landroidx/constraintlayout/solver/widgets/analyzer/DependencyNode;->dependencies:Ljava/util/List; invoke-interface {p2, p1}, Ljava/util/List;->add(Ljava/lang/Object;)Z return-void .end method .method public final addTarget(Landroidx/constraintlayout/solver/widgets/analyzer/DependencyNode;Landroidx/constraintlayout/solver/widgets/analyzer/DependencyNode;ILandroidx/constraintlayout/solver/widgets/analyzer/DimensionDependency;)V .locals 2 iget-object v0, p1, Landroidx/constraintlayout/solver/widgets/analyzer/DependencyNode;->targets:Ljava/util/List; invoke-interface {v0, p2}, Ljava/util/List;->add(Ljava/lang/Object;)Z iget-object v0, p1, Landroidx/constraintlayout/solver/widgets/analyzer/DependencyNode;->targets:Ljava/util/List; iget-object v1, p0, Landroidx/constraintlayout/solver/widgets/analyzer/WidgetRun;->dimension:Landroidx/constraintlayout/solver/widgets/analyzer/DimensionDependency; invoke-interface {v0, v1}, Ljava/util/List;->add(Ljava/lang/Object;)Z iput p3, p1, Landroidx/constraintlayout/solver/widgets/analyzer/DependencyNode;->marginFactor:I iput-object p4, p1, Landroidx/constraintlayout/solver/widgets/analyzer/DependencyNode;->marginDependency:Landroidx/constraintlayout/solver/widgets/analyzer/DimensionDependency; iget-object p2, p2, Landroidx/constraintlayout/solver/widgets/analyzer/DependencyNode;->dependencies:Ljava/util/List; invoke-interface {p2, p1}, Ljava/util/List;->add(Ljava/lang/Object;)Z iget-object p2, p4, Landroidx/constraintlayout/solver/widgets/analyzer/DependencyNode;->dependencies:Ljava/util/List; invoke-interface {p2, p1}, Ljava/util/List;->add(Ljava/lang/Object;)Z return-void .end method .method public abstract apply()V .end method .method public abstract applyToWidget()V .end method .method public abstract clear()V .end method .method public final getLimitedDimension(II)I .locals 1 if-nez p2, :cond_1 iget-object p2, p0, Landroidx/constraintlayout/solver/widgets/analyzer/WidgetRun;->widget:Landroidx/constraintlayout/solver/widgets/ConstraintWidget; iget v0, p2, Landroidx/constraintlayout/solver/widgets/ConstraintWidget;->mMatchConstraintMaxWidth:I iget p2, p2, Landroidx/constraintlayout/solver/widgets/ConstraintWidget;->mMatchConstraintMinWidth:I invoke-static {p2, p1}, Ljava/lang/Math;->max(II)I move-result p2 if-lez v0, :cond_0 invoke-static {v0, p1}, Ljava/lang/Math;->min(II)I move-result p2 :cond_0 if-eq p2, p1, :cond_3 goto :goto_0 :cond_1 iget-object p2, p0, Landroidx/constraintlayout/solver/widgets/analyzer/WidgetRun;->widget:Landroidx/constraintlayout/solver/widgets/ConstraintWidget; iget v0, p2, Landroidx/constraintlayout/solver/widgets/ConstraintWidget;->mMatchConstraintMaxHeight:I iget p2, p2, Landroidx/constraintlayout/solver/widgets/ConstraintWidget;->mMatchConstraintMinHeight:I invoke-static {p2, p1}, Ljava/lang/Math;->max(II)I move-result p2 if-lez v0, :cond_2 invoke-static {v0, p1}, Ljava/lang/Math;->min(II)I move-result p2 :cond_2 if-eq p2, p1, :cond_3 :goto_0 move p1, p2 :cond_3 return p1 .end method .method public final getTarget(Landroidx/constraintlayout/solver/widgets/ConstraintAnchor;)Landroidx/constraintlayout/solver/widgets/analyzer/DependencyNode; .locals 3 iget-object p1, p1, Landroidx/constraintlayout/solver/widgets/ConstraintAnchor;->mTarget:Landroidx/constraintlayout/solver/widgets/ConstraintAnchor; const/4 v0, 0x0 if-nez p1, :cond_0 return-object v0 :cond_0 iget-object v1, p1, Landroidx/constraintlayout/solver/widgets/ConstraintAnchor;->mOwner:Landroidx/constraintlayout/solver/widgets/ConstraintWidget; iget-object p1, p1, Landroidx/constraintlayout/solver/widgets/ConstraintAnchor;->mType:Landroidx/constraintlayout/solver/widgets/ConstraintAnchor$Type; invoke-virtual {p1}, Ljava/lang/Enum;->ordinal()I move-result p1 const/4 v2, 0x1 if-eq p1, v2, :cond_5 const/4 v2, 0x2 if-eq p1, v2, :cond_4 const/4 v2, 0x3 if-eq p1, v2, :cond_3 const/4 v2, 0x4 if-eq p1, v2, :cond_2 const/4 v2, 0x5 if-eq p1, v2, :cond_1 goto :goto_0 :cond_1 iget-object p1, v1, Landroidx/constraintlayout/solver/widgets/ConstraintWidget;->verticalRun:Landroidx/constraintlayout/solver/widgets/analyzer/VerticalWidgetRun; iget-object v0, p1, Landroidx/constraintlayout/solver/widgets/analyzer/VerticalWidgetRun;->baseline:Landroidx/constraintlayout/solver/widgets/analyzer/DependencyNode; goto :goto_0 :cond_2 iget-object p1, v1, Landroidx/constraintlayout/solver/widgets/ConstraintWidget;->verticalRun:Landroidx/constraintlayout/solver/widgets/analyzer/VerticalWidgetRun; iget-object v0, p1, Landroidx/constraintlayout/solver/widgets/analyzer/WidgetRun;->end:Landroidx/constraintlayout/solver/widgets/analyzer/DependencyNode; goto :goto_0 :cond_3 iget-object p1, v1, Landroidx/constraintlayout/solver/widgets/ConstraintWidget;->horizontalRun:Landroidx/constraintlayout/solver/widgets/analyzer/HorizontalWidgetRun; iget-object v0, p1, Landroidx/constraintlayout/solver/widgets/analyzer/WidgetRun;->end:Landroidx/constraintlayout/solver/widgets/analyzer/DependencyNode; goto :goto_0 :cond_4 iget-object p1, v1, Landroidx/constraintlayout/solver/widgets/ConstraintWidget;->verticalRun:Landroidx/constraintlayout/solver/widgets/analyzer/VerticalWidgetRun; iget-object v0, p1, Landroidx/constraintlayout/solver/widgets/analyzer/WidgetRun;->start:Landroidx/constraintlayout/solver/widgets/analyzer/DependencyNode; goto :goto_0 :cond_5 iget-object p1, v1, Landroidx/constraintlayout/solver/widgets/ConstraintWidget;->horizontalRun:Landroidx/constraintlayout/solver/widgets/analyzer/HorizontalWidgetRun; iget-object v0, p1, Landroidx/constraintlayout/solver/widgets/analyzer/WidgetRun;->start:Landroidx/constraintlayout/solver/widgets/analyzer/DependencyNode; :goto_0 return-object v0 .end method .method public final getTarget(Landroidx/constraintlayout/solver/widgets/ConstraintAnchor;I)Landroidx/constraintlayout/solver/widgets/analyzer/DependencyNode; .locals 2 iget-object p1, p1, Landroidx/constraintlayout/solver/widgets/ConstraintAnchor;->mTarget:Landroidx/constraintlayout/solver/widgets/ConstraintAnchor; const/4 v0, 0x0 if-nez p1, :cond_0 return-object v0 :cond_0 iget-object v1, p1, Landroidx/constraintlayout/solver/widgets/ConstraintAnchor;->mOwner:Landroidx/constraintlayout/solver/widgets/ConstraintWidget; if-nez p2, :cond_1 iget-object p2, v1, Landroidx/constraintlayout/solver/widgets/ConstraintWidget;->horizontalRun:Landroidx/constraintlayout/solver/widgets/analyzer/HorizontalWidgetRun; goto :goto_0 :cond_1 iget-object p2, v1, Landroidx/constraintlayout/solver/widgets/ConstraintWidget;->verticalRun:Landroidx/constraintlayout/solver/widgets/analyzer/VerticalWidgetRun; :goto_0 iget-object p1, p1, Landroidx/constraintlayout/solver/widgets/ConstraintAnchor;->mType:Landroidx/constraintlayout/solver/widgets/ConstraintAnchor$Type; invoke-virtual {p1}, Ljava/lang/Enum;->ordinal()I move-result p1 const/4 v1, 0x1 if-eq p1, v1, :cond_3 const/4 v1, 0x2 if-eq p1, v1, :cond_3 const/4 v1, 0x3 if-eq p1, v1, :cond_2 const/4 v1, 0x4 if-eq p1, v1, :cond_2 goto :goto_1 :cond_2 iget-object v0, p2, Landroidx/constraintlayout/solver/widgets/analyzer/WidgetRun;->end:Landroidx/constraintlayout/solver/widgets/analyzer/DependencyNode; goto :goto_1 :cond_3 iget-object v0, p2, Landroidx/constraintlayout/solver/widgets/analyzer/WidgetRun;->start:Landroidx/constraintlayout/solver/widgets/analyzer/DependencyNode; :goto_1 return-object v0 .end method .method public getWrapDimension()J .locals 2 iget-object v0, p0, Landroidx/constraintlayout/solver/widgets/analyzer/WidgetRun;->dimension:Landroidx/constraintlayout/solver/widgets/analyzer/DimensionDependency; iget-boolean v1, v0, Landroidx/constraintlayout/solver/widgets/analyzer/DependencyNode;->resolved:Z if-eqz v1, :cond_0 iget v0, v0, Landroidx/constraintlayout/solver/widgets/analyzer/DependencyNode;->value:I int-to-long v0, v0 return-wide v0 :cond_0 const-wide/16 v0, 0x0 return-wide v0 .end method .method public isCenterConnection()Z .locals 5 iget-object v0, p0, Landroidx/constraintlayout/solver/widgets/analyzer/WidgetRun;->start:Landroidx/constraintlayout/solver/widgets/analyzer/DependencyNode; iget-object v0, v0, Landroidx/constraintlayout/solver/widgets/analyzer/DependencyNode;->targets:Ljava/util/List; invoke-interface {v0}, Ljava/util/List;->size()I move-result v0 const/4 v1, 0x0 const/4 v2, 0x0 const/4 v3, 0x0 :goto_0 if-ge v2, v0, :cond_1 iget-object v4, p0, Landroidx/constraintlayout/solver/widgets/analyzer/WidgetRun;->start:Landroidx/constraintlayout/solver/widgets/analyzer/DependencyNode; iget-object v4, v4, Landroidx/constraintlayout/solver/widgets/analyzer/DependencyNode;->targets:Ljava/util/List; invoke-interface {v4, v2}, Ljava/util/List;->get(I)Ljava/lang/Object; move-result-object v4 check-cast v4, Landroidx/constraintlayout/solver/widgets/analyzer/DependencyNode; iget-object v4, v4, Landroidx/constraintlayout/solver/widgets/analyzer/DependencyNode;->run:Landroidx/constraintlayout/solver/widgets/analyzer/WidgetRun; if-eq v4, p0, :cond_0 add-int/lit8 v3, v3, 0x1 :cond_0 add-int/lit8 v2, v2, 0x1 goto :goto_0 :cond_1 iget-object v0, p0, Landroidx/constraintlayout/solver/widgets/analyzer/WidgetRun;->end:Landroidx/constraintlayout/solver/widgets/analyzer/DependencyNode; iget-object v0, v0, Landroidx/constraintlayout/solver/widgets/analyzer/DependencyNode;->targets:Ljava/util/List; invoke-interface {v0}, Ljava/util/List;->size()I move-result v0 const/4 v2, 0x0 :goto_1 if-ge v2, v0, :cond_3 iget-object v4, p0, Landroidx/constraintlayout/solver/widgets/analyzer/WidgetRun;->end:Landroidx/constraintlayout/solver/widgets/analyzer/DependencyNode; iget-object v4, v4, Landroidx/constraintlayout/solver/widgets/analyzer/DependencyNode;->targets:Ljava/util/List; invoke-interface {v4, v2}, Ljava/util/List;->get(I)Ljava/lang/Object; move-result-object v4 check-cast v4, Landroidx/constraintlayout/solver/widgets/analyzer/DependencyNode; iget-object v4, v4, Landroidx/constraintlayout/solver/widgets/analyzer/DependencyNode;->run:Landroidx/constraintlayout/solver/widgets/analyzer/WidgetRun; if-eq v4, p0, :cond_2 add-int/lit8 v3, v3, 0x1 :cond_2 add-int/lit8 v2, v2, 0x1 goto :goto_1 :cond_3 const/4 v0, 0x2 if-lt v3, v0, :cond_4 const/4 v1, 0x1 :cond_4 return v1 .end method .method public isDimensionResolved()Z .locals 1 iget-object v0, p0, Landroidx/constraintlayout/solver/widgets/analyzer/WidgetRun;->dimension:Landroidx/constraintlayout/solver/widgets/analyzer/DimensionDependency; iget-boolean v0, v0, Landroidx/constraintlayout/solver/widgets/analyzer/DependencyNode;->resolved:Z return v0 .end method .method public isResolved()Z .locals 1 iget-boolean v0, p0, Landroidx/constraintlayout/solver/widgets/analyzer/WidgetRun;->resolved:Z return v0 .end method .method public abstract reset()V .end method .method public abstract supportsWrapComputation()Z .end method .method public update(Landroidx/constraintlayout/solver/widgets/analyzer/Dependency;)V .locals 0 return-void .end method .method public updateRunCenter(Landroidx/constraintlayout/solver/widgets/analyzer/Dependency;Landroidx/constraintlayout/solver/widgets/ConstraintAnchor;Landroidx/constraintlayout/solver/widgets/ConstraintAnchor;I)V .locals 4 invoke-virtual {p0, p2}, Landroidx/constraintlayout/solver/widgets/analyzer/WidgetRun;->getTarget(Landroidx/constraintlayout/solver/widgets/ConstraintAnchor;)Landroidx/constraintlayout/solver/widgets/analyzer/DependencyNode; move-result-object p1 invoke-virtual {p0, p3}, Landroidx/constraintlayout/solver/widgets/analyzer/WidgetRun;->getTarget(Landroidx/constraintlayout/solver/widgets/ConstraintAnchor;)Landroidx/constraintlayout/solver/widgets/analyzer/DependencyNode; move-result-object v0 iget-boolean v1, p1, Landroidx/constraintlayout/solver/widgets/analyzer/DependencyNode;->resolved:Z if-eqz v1, :cond_6 iget-boolean v1, v0, Landroidx/constraintlayout/solver/widgets/analyzer/DependencyNode;->resolved:Z if-nez v1, :cond_0 goto :goto_1 :cond_0 iget v1, p1, Landroidx/constraintlayout/solver/widgets/analyzer/DependencyNode;->value:I invoke-virtual {p2}, Landroidx/constraintlayout/solver/widgets/ConstraintAnchor;->getMargin()I move-result p2 add-int/2addr p2, v1 iget v1, v0, Landroidx/constraintlayout/solver/widgets/analyzer/DependencyNode;->value:I invoke-virtual {p3}, Landroidx/constraintlayout/solver/widgets/ConstraintAnchor;->getMargin()I move-result p3 sub-int/2addr v1, p3 sub-int p3, v1, p2 iget-object v2, p0, Landroidx/constraintlayout/solver/widgets/analyzer/WidgetRun;->dimension:Landroidx/constraintlayout/solver/widgets/analyzer/DimensionDependency; iget-boolean v2, v2, Landroidx/constraintlayout/solver/widgets/analyzer/DependencyNode;->resolved:Z if-nez v2, :cond_1 iget-object v2, p0, Landroidx/constraintlayout/solver/widgets/analyzer/WidgetRun;->dimensionBehavior:Landroidx/constraintlayout/solver/widgets/ConstraintWidget$DimensionBehaviour; sget-object v3, Landroidx/constraintlayout/solver/widgets/ConstraintWidget$DimensionBehaviour;->MATCH_CONSTRAINT:Landroidx/constraintlayout/solver/widgets/ConstraintWidget$DimensionBehaviour; if-ne v2, v3, :cond_1 invoke-direct {p0, p4, p3}, Landroidx/constraintlayout/solver/widgets/analyzer/WidgetRun;->resolveDimension(II)V :cond_1 iget-object v2, p0, Landroidx/constraintlayout/solver/widgets/analyzer/WidgetRun;->dimension:Landroidx/constraintlayout/solver/widgets/analyzer/DimensionDependency; iget-boolean v3, v2, Landroidx/constraintlayout/solver/widgets/analyzer/DependencyNode;->resolved:Z if-nez v3, :cond_2 return-void :cond_2 iget v2, v2, Landroidx/constraintlayout/solver/widgets/analyzer/DependencyNode;->value:I if-ne v2, p3, :cond_3 iget-object p1, p0, Landroidx/constraintlayout/solver/widgets/analyzer/WidgetRun;->start:Landroidx/constraintlayout/solver/widgets/analyzer/DependencyNode; invoke-virtual {p1, p2}, Landroidx/constraintlayout/solver/widgets/analyzer/DependencyNode;->resolve(I)V iget-object p1, p0, Landroidx/constraintlayout/solver/widgets/analyzer/WidgetRun;->end:Landroidx/constraintlayout/solver/widgets/analyzer/DependencyNode; invoke-virtual {p1, v1}, Landroidx/constraintlayout/solver/widgets/analyzer/DependencyNode;->resolve(I)V return-void :cond_3 iget-object p3, p0, Landroidx/constraintlayout/solver/widgets/analyzer/WidgetRun;->widget:Landroidx/constraintlayout/solver/widgets/ConstraintWidget; if-nez p4, :cond_4 invoke-virtual {p3}, Landroidx/constraintlayout/solver/widgets/ConstraintWidget;->getHorizontalBiasPercent()F move-result p3 goto :goto_0 :cond_4 invoke-virtual {p3}, Landroidx/constraintlayout/solver/widgets/ConstraintWidget;->getVerticalBiasPercent()F move-result p3 :goto_0 const/high16 p4, 0x3f000000 # 0.5f if-ne p1, v0, :cond_5 iget p2, p1, Landroidx/constraintlayout/solver/widgets/analyzer/DependencyNode;->value:I iget v1, v0, Landroidx/constraintlayout/solver/widgets/analyzer/DependencyNode;->value:I const/high16 p3, 0x3f000000 # 0.5f :cond_5 sub-int/2addr v1, p2 iget-object p1, p0, Landroidx/constraintlayout/solver/widgets/analyzer/WidgetRun;->dimension:Landroidx/constraintlayout/solver/widgets/analyzer/DimensionDependency; iget p1, p1, Landroidx/constraintlayout/solver/widgets/analyzer/DependencyNode;->value:I sub-int/2addr v1, p1 iget-object p1, p0, Landroidx/constraintlayout/solver/widgets/analyzer/WidgetRun;->start:Landroidx/constraintlayout/solver/widgets/analyzer/DependencyNode; int-to-float p2, p2 add-float/2addr p2, p4 int-to-float p4, v1 mul-float p4, p4, p3 add-float/2addr p4, p2 float-to-int p2, p4 invoke-virtual {p1, p2}, Landroidx/constraintlayout/solver/widgets/analyzer/DependencyNode;->resolve(I)V iget-object p1, p0, Landroidx/constraintlayout/solver/widgets/analyzer/WidgetRun;->end:Landroidx/constraintlayout/solver/widgets/analyzer/DependencyNode; iget-object p2, p0, Landroidx/constraintlayout/solver/widgets/analyzer/WidgetRun;->start:Landroidx/constraintlayout/solver/widgets/analyzer/DependencyNode; iget p2, p2, Landroidx/constraintlayout/solver/widgets/analyzer/DependencyNode;->value:I iget-object p3, p0, Landroidx/constraintlayout/solver/widgets/analyzer/WidgetRun;->dimension:Landroidx/constraintlayout/solver/widgets/analyzer/DimensionDependency; iget p3, p3, Landroidx/constraintlayout/solver/widgets/analyzer/DependencyNode;->value:I add-int/2addr p2, p3 invoke-virtual {p1, p2}, Landroidx/constraintlayout/solver/widgets/analyzer/DependencyNode;->resolve(I)V :cond_6 :goto_1 return-void .end method .method public updateRunEnd(Landroidx/constraintlayout/solver/widgets/analyzer/Dependency;)V .locals 0 return-void .end method .method public updateRunStart(Landroidx/constraintlayout/solver/widgets/analyzer/Dependency;)V .locals 0 return-void .end method .method public wrapSize(I)J .locals 4 iget-object v0, p0, Landroidx/constraintlayout/solver/widgets/analyzer/WidgetRun;->dimension:Landroidx/constraintlayout/solver/widgets/analyzer/DimensionDependency; iget-boolean v1, v0, Landroidx/constraintlayout/solver/widgets/analyzer/DependencyNode;->resolved:Z if-eqz v1, :cond_2 iget v0, v0, Landroidx/constraintlayout/solver/widgets/analyzer/DependencyNode;->value:I int-to-long v0, v0 invoke-virtual {p0}, Landroidx/constraintlayout/solver/widgets/analyzer/WidgetRun;->isCenterConnection()Z move-result v2 if-eqz v2, :cond_0 iget-object p1, p0, Landroidx/constraintlayout/solver/widgets/analyzer/WidgetRun;->start:Landroidx/constraintlayout/solver/widgets/analyzer/DependencyNode; iget p1, p1, Landroidx/constraintlayout/solver/widgets/analyzer/DependencyNode;->margin:I iget-object v2, p0, Landroidx/constraintlayout/solver/widgets/analyzer/WidgetRun;->end:Landroidx/constraintlayout/solver/widgets/analyzer/DependencyNode; iget v2, v2, Landroidx/constraintlayout/solver/widgets/analyzer/DependencyNode;->margin:I sub-int/2addr p1, v2 :goto_0 int-to-long v2, p1 add-long/2addr v0, v2 goto :goto_1 :cond_0 if-nez p1, :cond_1 iget-object p1, p0, Landroidx/constraintlayout/solver/widgets/analyzer/WidgetRun;->start:Landroidx/constraintlayout/solver/widgets/analyzer/DependencyNode; iget p1, p1, Landroidx/constraintlayout/solver/widgets/analyzer/DependencyNode;->margin:I goto :goto_0 :cond_1 iget-object p1, p0, Landroidx/constraintlayout/solver/widgets/analyzer/WidgetRun;->end:Landroidx/constraintlayout/solver/widgets/analyzer/DependencyNode; iget p1, p1, Landroidx/constraintlayout/solver/widgets/analyzer/DependencyNode;->margin:I int-to-long v2, p1 sub-long/2addr v0, v2 :goto_1 return-wide v0 :cond_2 const-wide/16 v0, 0x0 return-wide v0 .end method