.class Landroidx/constraintlayout/solver/widgets/analyzer/RunGroup; .super Ljava/lang/Object; .source "RunGroup.java" # static fields .field public static final BASELINE:I = 0x2 .field public static final END:I = 0x1 .field public static final START:I .field public static index:I # instance fields .field direction:I .field public dual:Z .field firstRun:Landroidx/constraintlayout/solver/widgets/analyzer/WidgetRun; .field groupIndex:I .field lastRun:Landroidx/constraintlayout/solver/widgets/analyzer/WidgetRun; .field public position:I .field runs:Ljava/util/ArrayList; .annotation system Ldalvik/annotation/Signature; value = { "Ljava/util/ArrayList<", "Landroidx/constraintlayout/solver/widgets/analyzer/WidgetRun;", ">;" } .end annotation .end field # direct methods .method public constructor (Landroidx/constraintlayout/solver/widgets/analyzer/WidgetRun;I)V .locals 2 .line 43 invoke-direct {p0}, Ljava/lang/Object;->()V const/4 v0, 0x0 .line 33 iput v0, p0, Landroidx/constraintlayout/solver/widgets/analyzer/RunGroup;->position:I .line 34 iput-boolean v0, p0, Landroidx/constraintlayout/solver/widgets/analyzer/RunGroup;->dual:Z const/4 v1, 0x0 .line 36 iput-object v1, p0, Landroidx/constraintlayout/solver/widgets/analyzer/RunGroup;->firstRun:Landroidx/constraintlayout/solver/widgets/analyzer/WidgetRun; .line 37 iput-object v1, p0, Landroidx/constraintlayout/solver/widgets/analyzer/RunGroup;->lastRun:Landroidx/constraintlayout/solver/widgets/analyzer/WidgetRun; .line 38 new-instance v1, Ljava/util/ArrayList; invoke-direct {v1}, Ljava/util/ArrayList;->()V iput-object v1, p0, Landroidx/constraintlayout/solver/widgets/analyzer/RunGroup;->runs:Ljava/util/ArrayList; .line 40 iput v0, p0, Landroidx/constraintlayout/solver/widgets/analyzer/RunGroup;->groupIndex:I .line 44 sget v0, Landroidx/constraintlayout/solver/widgets/analyzer/RunGroup;->index:I iput v0, p0, Landroidx/constraintlayout/solver/widgets/analyzer/RunGroup;->groupIndex:I add-int/lit8 v0, v0, 0x1 .line 45 sput v0, Landroidx/constraintlayout/solver/widgets/analyzer/RunGroup;->index:I .line 46 iput-object p1, p0, Landroidx/constraintlayout/solver/widgets/analyzer/RunGroup;->firstRun:Landroidx/constraintlayout/solver/widgets/analyzer/WidgetRun; .line 47 iput-object p1, p0, Landroidx/constraintlayout/solver/widgets/analyzer/RunGroup;->lastRun:Landroidx/constraintlayout/solver/widgets/analyzer/WidgetRun; .line 48 iput p2, p0, Landroidx/constraintlayout/solver/widgets/analyzer/RunGroup;->direction:I return-void .end method .method private defineTerminalWidget(Landroidx/constraintlayout/solver/widgets/analyzer/WidgetRun;I)Z .locals 5 .line 186 iget-object v0, p1, Landroidx/constraintlayout/solver/widgets/analyzer/WidgetRun;->widget:Landroidx/constraintlayout/solver/widgets/ConstraintWidget; iget-object v0, v0, Landroidx/constraintlayout/solver/widgets/ConstraintWidget;->isTerminalWidget:[Z aget-boolean v0, v0, p2 const/4 v1, 0x0 if-nez v0, :cond_0 return v1 .line 189 :cond_0 iget-object v0, p1, Landroidx/constraintlayout/solver/widgets/analyzer/WidgetRun;->start:Landroidx/constraintlayout/solver/widgets/analyzer/DependencyNode; iget-object v0, v0, Landroidx/constraintlayout/solver/widgets/analyzer/DependencyNode;->dependencies:Ljava/util/List; invoke-interface {v0}, Ljava/util/List;->iterator()Ljava/util/Iterator; move-result-object v0 :cond_1 :goto_0 invoke-interface {v0}, Ljava/util/Iterator;->hasNext()Z move-result v2 if-eqz v2, :cond_5 invoke-interface {v0}, Ljava/util/Iterator;->next()Ljava/lang/Object; move-result-object v2 check-cast v2, Landroidx/constraintlayout/solver/widgets/analyzer/Dependency; .line 190 instance-of v3, v2, Landroidx/constraintlayout/solver/widgets/analyzer/DependencyNode; if-eqz v3, :cond_1 .line 191 check-cast v2, Landroidx/constraintlayout/solver/widgets/analyzer/DependencyNode; .line 192 iget-object v3, v2, Landroidx/constraintlayout/solver/widgets/analyzer/DependencyNode;->run:Landroidx/constraintlayout/solver/widgets/analyzer/WidgetRun; if-ne v3, p1, :cond_2 goto :goto_0 .line 195 :cond_2 iget-object v3, v2, Landroidx/constraintlayout/solver/widgets/analyzer/DependencyNode;->run:Landroidx/constraintlayout/solver/widgets/analyzer/WidgetRun; iget-object v3, v3, Landroidx/constraintlayout/solver/widgets/analyzer/WidgetRun;->start:Landroidx/constraintlayout/solver/widgets/analyzer/DependencyNode; if-ne v2, v3, :cond_1 .line 196 instance-of v3, p1, Landroidx/constraintlayout/solver/widgets/analyzer/ChainRun; if-eqz v3, :cond_3 .line 197 move-object v3, p1 check-cast v3, Landroidx/constraintlayout/solver/widgets/analyzer/ChainRun; .line 198 iget-object v3, v3, Landroidx/constraintlayout/solver/widgets/analyzer/ChainRun;->widgets:Ljava/util/ArrayList; invoke-virtual {v3}, Ljava/util/ArrayList;->iterator()Ljava/util/Iterator; move-result-object v3 :goto_1 invoke-interface {v3}, Ljava/util/Iterator;->hasNext()Z move-result v4 if-eqz v4, :cond_4 invoke-interface {v3}, Ljava/util/Iterator;->next()Ljava/lang/Object; move-result-object v4 check-cast v4, Landroidx/constraintlayout/solver/widgets/analyzer/WidgetRun; .line 199 invoke-direct {p0, v4, p2}, Landroidx/constraintlayout/solver/widgets/analyzer/RunGroup;->defineTerminalWidget(Landroidx/constraintlayout/solver/widgets/analyzer/WidgetRun;I)Z goto :goto_1 .line 202 :cond_3 instance-of v3, p1, Landroidx/constraintlayout/solver/widgets/analyzer/HelperReferences; if-nez v3, :cond_4 .line 203 iget-object v3, p1, Landroidx/constraintlayout/solver/widgets/analyzer/WidgetRun;->widget:Landroidx/constraintlayout/solver/widgets/ConstraintWidget; iget-object v3, v3, Landroidx/constraintlayout/solver/widgets/ConstraintWidget;->isTerminalWidget:[Z aput-boolean v1, v3, p2 .line 206 :cond_4 iget-object v2, v2, Landroidx/constraintlayout/solver/widgets/analyzer/DependencyNode;->run:Landroidx/constraintlayout/solver/widgets/analyzer/WidgetRun; invoke-direct {p0, v2, p2}, Landroidx/constraintlayout/solver/widgets/analyzer/RunGroup;->defineTerminalWidget(Landroidx/constraintlayout/solver/widgets/analyzer/WidgetRun;I)Z goto :goto_0 .line 210 :cond_5 iget-object v0, p1, Landroidx/constraintlayout/solver/widgets/analyzer/WidgetRun;->end:Landroidx/constraintlayout/solver/widgets/analyzer/DependencyNode; iget-object v0, v0, Landroidx/constraintlayout/solver/widgets/analyzer/DependencyNode;->dependencies:Ljava/util/List; invoke-interface {v0}, Ljava/util/List;->iterator()Ljava/util/Iterator; move-result-object v0 :cond_6 :goto_2 invoke-interface {v0}, Ljava/util/Iterator;->hasNext()Z move-result v2 if-eqz v2, :cond_a invoke-interface {v0}, Ljava/util/Iterator;->next()Ljava/lang/Object; move-result-object v2 check-cast v2, Landroidx/constraintlayout/solver/widgets/analyzer/Dependency; .line 211 instance-of v3, v2, Landroidx/constraintlayout/solver/widgets/analyzer/DependencyNode; if-eqz v3, :cond_6 .line 212 check-cast v2, Landroidx/constraintlayout/solver/widgets/analyzer/DependencyNode; .line 213 iget-object v3, v2, Landroidx/constraintlayout/solver/widgets/analyzer/DependencyNode;->run:Landroidx/constraintlayout/solver/widgets/analyzer/WidgetRun; if-ne v3, p1, :cond_7 goto :goto_2 .line 216 :cond_7 iget-object v3, v2, Landroidx/constraintlayout/solver/widgets/analyzer/DependencyNode;->run:Landroidx/constraintlayout/solver/widgets/analyzer/WidgetRun; iget-object v3, v3, Landroidx/constraintlayout/solver/widgets/analyzer/WidgetRun;->start:Landroidx/constraintlayout/solver/widgets/analyzer/DependencyNode; if-ne v2, v3, :cond_6 .line 217 instance-of v3, p1, Landroidx/constraintlayout/solver/widgets/analyzer/ChainRun; if-eqz v3, :cond_8 .line 218 move-object v3, p1 check-cast v3, Landroidx/constraintlayout/solver/widgets/analyzer/ChainRun; .line 219 iget-object v3, v3, Landroidx/constraintlayout/solver/widgets/analyzer/ChainRun;->widgets:Ljava/util/ArrayList; invoke-virtual {v3}, Ljava/util/ArrayList;->iterator()Ljava/util/Iterator; move-result-object v3 :goto_3 invoke-interface {v3}, Ljava/util/Iterator;->hasNext()Z move-result v4 if-eqz v4, :cond_9 invoke-interface {v3}, Ljava/util/Iterator;->next()Ljava/lang/Object; move-result-object v4 check-cast v4, Landroidx/constraintlayout/solver/widgets/analyzer/WidgetRun; .line 220 invoke-direct {p0, v4, p2}, Landroidx/constraintlayout/solver/widgets/analyzer/RunGroup;->defineTerminalWidget(Landroidx/constraintlayout/solver/widgets/analyzer/WidgetRun;I)Z goto :goto_3 .line 223 :cond_8 instance-of v3, p1, Landroidx/constraintlayout/solver/widgets/analyzer/HelperReferences; if-nez v3, :cond_9 .line 224 iget-object v3, p1, Landroidx/constraintlayout/solver/widgets/analyzer/WidgetRun;->widget:Landroidx/constraintlayout/solver/widgets/ConstraintWidget; iget-object v3, v3, Landroidx/constraintlayout/solver/widgets/ConstraintWidget;->isTerminalWidget:[Z aput-boolean v1, v3, p2 .line 227 :cond_9 iget-object v2, v2, Landroidx/constraintlayout/solver/widgets/analyzer/DependencyNode;->run:Landroidx/constraintlayout/solver/widgets/analyzer/WidgetRun; invoke-direct {p0, v2, p2}, Landroidx/constraintlayout/solver/widgets/analyzer/RunGroup;->defineTerminalWidget(Landroidx/constraintlayout/solver/widgets/analyzer/WidgetRun;I)Z goto :goto_2 :cond_a return v1 .end method .method private traverseEnd(Landroidx/constraintlayout/solver/widgets/analyzer/DependencyNode;J)J .locals 8 .line 89 iget-object v0, p1, Landroidx/constraintlayout/solver/widgets/analyzer/DependencyNode;->run:Landroidx/constraintlayout/solver/widgets/analyzer/WidgetRun; .line 90 instance-of v1, v0, Landroidx/constraintlayout/solver/widgets/analyzer/HelperReferences; if-eqz v1, :cond_0 return-wide p2 .line 97 :cond_0 iget-object v1, p1, Landroidx/constraintlayout/solver/widgets/analyzer/DependencyNode;->dependencies:Ljava/util/List; invoke-interface {v1}, Ljava/util/List;->size()I move-result v1 const/4 v2, 0x0 move-wide v3, p2 :goto_0 if-ge v2, v1, :cond_3 .line 99 iget-object v5, p1, Landroidx/constraintlayout/solver/widgets/analyzer/DependencyNode;->dependencies:Ljava/util/List; invoke-interface {v5, v2}, Ljava/util/List;->get(I)Ljava/lang/Object; move-result-object v5 check-cast v5, Landroidx/constraintlayout/solver/widgets/analyzer/Dependency; .line 100 instance-of v6, v5, Landroidx/constraintlayout/solver/widgets/analyzer/DependencyNode; if-eqz v6, :cond_2 .line 101 check-cast v5, Landroidx/constraintlayout/solver/widgets/analyzer/DependencyNode; .line 102 iget-object v6, v5, Landroidx/constraintlayout/solver/widgets/analyzer/DependencyNode;->run:Landroidx/constraintlayout/solver/widgets/analyzer/WidgetRun; if-ne v6, v0, :cond_1 goto :goto_1 .line 106 :cond_1 iget v6, v5, Landroidx/constraintlayout/solver/widgets/analyzer/DependencyNode;->margin:I int-to-long v6, v6 add-long/2addr v6, p2 invoke-direct {p0, v5, v6, v7}, Landroidx/constraintlayout/solver/widgets/analyzer/RunGroup;->traverseEnd(Landroidx/constraintlayout/solver/widgets/analyzer/DependencyNode;J)J move-result-wide v5 invoke-static {v3, v4, v5, v6}, Ljava/lang/Math;->min(JJ)J move-result-wide v3 :cond_2 :goto_1 add-int/lit8 v2, v2, 0x1 goto :goto_0 .line 110 :cond_3 iget-object v1, v0, Landroidx/constraintlayout/solver/widgets/analyzer/WidgetRun;->end:Landroidx/constraintlayout/solver/widgets/analyzer/DependencyNode; if-ne p1, v1, :cond_4 .line 112 invoke-virtual {v0}, Landroidx/constraintlayout/solver/widgets/analyzer/WidgetRun;->getWrapDimension()J move-result-wide v1 .line 113 iget-object p1, v0, Landroidx/constraintlayout/solver/widgets/analyzer/WidgetRun;->start:Landroidx/constraintlayout/solver/widgets/analyzer/DependencyNode; sub-long/2addr p2, v1 invoke-direct {p0, p1, p2, p3}, Landroidx/constraintlayout/solver/widgets/analyzer/RunGroup;->traverseEnd(Landroidx/constraintlayout/solver/widgets/analyzer/DependencyNode;J)J move-result-wide v1 invoke-static {v3, v4, v1, v2}, Ljava/lang/Math;->min(JJ)J move-result-wide v1 .line 114 iget-object p1, v0, Landroidx/constraintlayout/solver/widgets/analyzer/WidgetRun;->start:Landroidx/constraintlayout/solver/widgets/analyzer/DependencyNode; iget p1, p1, Landroidx/constraintlayout/solver/widgets/analyzer/DependencyNode;->margin:I int-to-long v3, p1 sub-long/2addr p2, v3 invoke-static {v1, v2, p2, p3}, Ljava/lang/Math;->min(JJ)J move-result-wide v3 :cond_4 return-wide v3 .end method .method private traverseStart(Landroidx/constraintlayout/solver/widgets/analyzer/DependencyNode;J)J .locals 8 .line 57 iget-object v0, p1, Landroidx/constraintlayout/solver/widgets/analyzer/DependencyNode;->run:Landroidx/constraintlayout/solver/widgets/analyzer/WidgetRun; .line 58 instance-of v1, v0, Landroidx/constraintlayout/solver/widgets/analyzer/HelperReferences; if-eqz v1, :cond_0 return-wide p2 .line 65 :cond_0 iget-object v1, p1, Landroidx/constraintlayout/solver/widgets/analyzer/DependencyNode;->dependencies:Ljava/util/List; invoke-interface {v1}, Ljava/util/List;->size()I move-result v1 const/4 v2, 0x0 move-wide v3, p2 :goto_0 if-ge v2, v1, :cond_3 .line 67 iget-object v5, p1, Landroidx/constraintlayout/solver/widgets/analyzer/DependencyNode;->dependencies:Ljava/util/List; invoke-interface {v5, v2}, Ljava/util/List;->get(I)Ljava/lang/Object; move-result-object v5 check-cast v5, Landroidx/constraintlayout/solver/widgets/analyzer/Dependency; .line 68 instance-of v6, v5, Landroidx/constraintlayout/solver/widgets/analyzer/DependencyNode; if-eqz v6, :cond_2 .line 69 check-cast v5, Landroidx/constraintlayout/solver/widgets/analyzer/DependencyNode; .line 70 iget-object v6, v5, Landroidx/constraintlayout/solver/widgets/analyzer/DependencyNode;->run:Landroidx/constraintlayout/solver/widgets/analyzer/WidgetRun; if-ne v6, v0, :cond_1 goto :goto_1 .line 74 :cond_1 iget v6, v5, Landroidx/constraintlayout/solver/widgets/analyzer/DependencyNode;->margin:I int-to-long v6, v6 add-long/2addr v6, p2 invoke-direct {p0, v5, v6, v7}, Landroidx/constraintlayout/solver/widgets/analyzer/RunGroup;->traverseStart(Landroidx/constraintlayout/solver/widgets/analyzer/DependencyNode;J)J move-result-wide v5 invoke-static {v3, v4, v5, v6}, Ljava/lang/Math;->max(JJ)J move-result-wide v3 :cond_2 :goto_1 add-int/lit8 v2, v2, 0x1 goto :goto_0 .line 78 :cond_3 iget-object v1, v0, Landroidx/constraintlayout/solver/widgets/analyzer/WidgetRun;->start:Landroidx/constraintlayout/solver/widgets/analyzer/DependencyNode; if-ne p1, v1, :cond_4 .line 80 invoke-virtual {v0}, Landroidx/constraintlayout/solver/widgets/analyzer/WidgetRun;->getWrapDimension()J move-result-wide v1 .line 81 iget-object p1, v0, Landroidx/constraintlayout/solver/widgets/analyzer/WidgetRun;->end:Landroidx/constraintlayout/solver/widgets/analyzer/DependencyNode; add-long/2addr p2, v1 invoke-direct {p0, p1, p2, p3}, Landroidx/constraintlayout/solver/widgets/analyzer/RunGroup;->traverseStart(Landroidx/constraintlayout/solver/widgets/analyzer/DependencyNode;J)J move-result-wide v1 invoke-static {v3, v4, v1, v2}, Ljava/lang/Math;->max(JJ)J move-result-wide v1 .line 82 iget-object p1, v0, 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 v3, p1 sub-long/2addr p2, v3 invoke-static {v1, v2, p2, p3}, Ljava/lang/Math;->max(JJ)J move-result-wide v3 :cond_4 return-wide v3 .end method # virtual methods .method public add(Landroidx/constraintlayout/solver/widgets/analyzer/WidgetRun;)V .locals 1 .line 52 iget-object v0, p0, Landroidx/constraintlayout/solver/widgets/analyzer/RunGroup;->runs:Ljava/util/ArrayList; invoke-virtual {v0, p1}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z .line 53 iput-object p1, p0, Landroidx/constraintlayout/solver/widgets/analyzer/RunGroup;->lastRun:Landroidx/constraintlayout/solver/widgets/analyzer/WidgetRun; return-void .end method .method public computeWrapSize(Landroidx/constraintlayout/solver/widgets/ConstraintWidgetContainer;I)J .locals 10 .line 121 iget-object v0, p0, Landroidx/constraintlayout/solver/widgets/analyzer/RunGroup;->firstRun:Landroidx/constraintlayout/solver/widgets/analyzer/WidgetRun; instance-of v1, v0, Landroidx/constraintlayout/solver/widgets/analyzer/ChainRun; const-wide/16 v2, 0x0 if-eqz v1, :cond_0 .line 122 check-cast v0, Landroidx/constraintlayout/solver/widgets/analyzer/ChainRun; .line 123 iget v0, v0, Landroidx/constraintlayout/solver/widgets/analyzer/ChainRun;->orientation:I if-eq v0, p2, :cond_2 return-wide v2 :cond_0 if-nez p2, :cond_1 .line 128 instance-of v0, v0, Landroidx/constraintlayout/solver/widgets/analyzer/HorizontalWidgetRun; if-nez v0, :cond_2 return-wide v2 .line 132 :cond_1 instance-of v0, v0, Landroidx/constraintlayout/solver/widgets/analyzer/VerticalWidgetRun; if-nez v0, :cond_2 return-wide v2 :cond_2 if-nez p2, :cond_3 .line 137 iget-object v0, p1, Landroidx/constraintlayout/solver/widgets/ConstraintWidgetContainer;->horizontalRun:Landroidx/constraintlayout/solver/widgets/analyzer/HorizontalWidgetRun; iget-object v0, v0, Landroidx/constraintlayout/solver/widgets/analyzer/HorizontalWidgetRun;->start:Landroidx/constraintlayout/solver/widgets/analyzer/DependencyNode; goto :goto_0 :cond_3 iget-object v0, p1, Landroidx/constraintlayout/solver/widgets/ConstraintWidgetContainer;->verticalRun:Landroidx/constraintlayout/solver/widgets/analyzer/VerticalWidgetRun; iget-object v0, v0, Landroidx/constraintlayout/solver/widgets/analyzer/VerticalWidgetRun;->start:Landroidx/constraintlayout/solver/widgets/analyzer/DependencyNode; :goto_0 if-nez p2, :cond_4 .line 138 iget-object p1, p1, Landroidx/constraintlayout/solver/widgets/ConstraintWidgetContainer;->horizontalRun:Landroidx/constraintlayout/solver/widgets/analyzer/HorizontalWidgetRun; iget-object p1, p1, Landroidx/constraintlayout/solver/widgets/analyzer/HorizontalWidgetRun;->end:Landroidx/constraintlayout/solver/widgets/analyzer/DependencyNode; goto :goto_1 :cond_4 iget-object p1, p1, Landroidx/constraintlayout/solver/widgets/ConstraintWidgetContainer;->verticalRun:Landroidx/constraintlayout/solver/widgets/analyzer/VerticalWidgetRun; iget-object p1, p1, Landroidx/constraintlayout/solver/widgets/analyzer/VerticalWidgetRun;->end:Landroidx/constraintlayout/solver/widgets/analyzer/DependencyNode; .line 140 :goto_1 iget-object v1, p0, Landroidx/constraintlayout/solver/widgets/analyzer/RunGroup;->firstRun:Landroidx/constraintlayout/solver/widgets/analyzer/WidgetRun; iget-object v1, v1, Landroidx/constraintlayout/solver/widgets/analyzer/WidgetRun;->start:Landroidx/constraintlayout/solver/widgets/analyzer/DependencyNode; iget-object v1, v1, Landroidx/constraintlayout/solver/widgets/analyzer/DependencyNode;->targets:Ljava/util/List; invoke-interface {v1, v0}, Ljava/util/List;->contains(Ljava/lang/Object;)Z move-result v0 .line 141 iget-object v1, p0, Landroidx/constraintlayout/solver/widgets/analyzer/RunGroup;->firstRun:Landroidx/constraintlayout/solver/widgets/analyzer/WidgetRun; iget-object v1, v1, Landroidx/constraintlayout/solver/widgets/analyzer/WidgetRun;->end:Landroidx/constraintlayout/solver/widgets/analyzer/DependencyNode; iget-object v1, v1, Landroidx/constraintlayout/solver/widgets/analyzer/DependencyNode;->targets:Ljava/util/List; invoke-interface {v1, p1}, Ljava/util/List;->contains(Ljava/lang/Object;)Z move-result p1 .line 143 iget-object v1, p0, Landroidx/constraintlayout/solver/widgets/analyzer/RunGroup;->firstRun:Landroidx/constraintlayout/solver/widgets/analyzer/WidgetRun; invoke-virtual {v1}, Landroidx/constraintlayout/solver/widgets/analyzer/WidgetRun;->getWrapDimension()J move-result-wide v4 if-eqz v0, :cond_8 if-eqz p1, :cond_8 .line 146 iget-object p1, p0, Landroidx/constraintlayout/solver/widgets/analyzer/RunGroup;->firstRun:Landroidx/constraintlayout/solver/widgets/analyzer/WidgetRun; iget-object p1, p1, Landroidx/constraintlayout/solver/widgets/analyzer/WidgetRun;->start:Landroidx/constraintlayout/solver/widgets/analyzer/DependencyNode; invoke-direct {p0, p1, v2, v3}, Landroidx/constraintlayout/solver/widgets/analyzer/RunGroup;->traverseStart(Landroidx/constraintlayout/solver/widgets/analyzer/DependencyNode;J)J move-result-wide v0 .line 147 iget-object p1, p0, Landroidx/constraintlayout/solver/widgets/analyzer/RunGroup;->firstRun:Landroidx/constraintlayout/solver/widgets/analyzer/WidgetRun; iget-object p1, p1, Landroidx/constraintlayout/solver/widgets/analyzer/WidgetRun;->end:Landroidx/constraintlayout/solver/widgets/analyzer/DependencyNode; invoke-direct {p0, p1, v2, v3}, Landroidx/constraintlayout/solver/widgets/analyzer/RunGroup;->traverseEnd(Landroidx/constraintlayout/solver/widgets/analyzer/DependencyNode;J)J move-result-wide v6 sub-long/2addr v0, v4 .line 151 iget-object p1, p0, Landroidx/constraintlayout/solver/widgets/analyzer/RunGroup;->firstRun:Landroidx/constraintlayout/solver/widgets/analyzer/WidgetRun; iget-object p1, p1, Landroidx/constraintlayout/solver/widgets/analyzer/WidgetRun;->end:Landroidx/constraintlayout/solver/widgets/analyzer/DependencyNode; iget p1, p1, Landroidx/constraintlayout/solver/widgets/analyzer/DependencyNode;->margin:I neg-int p1, p1 int-to-long v8, p1 cmp-long p1, v0, v8 if-ltz p1, :cond_5 .line 152 iget-object p1, p0, Landroidx/constraintlayout/solver/widgets/analyzer/RunGroup;->firstRun:Landroidx/constraintlayout/solver/widgets/analyzer/WidgetRun; iget-object p1, p1, 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 v8, p1 add-long/2addr v0, v8 :cond_5 neg-long v6, v6 sub-long/2addr v6, v4 .line 154 iget-object p1, p0, Landroidx/constraintlayout/solver/widgets/analyzer/RunGroup;->firstRun:Landroidx/constraintlayout/solver/widgets/analyzer/WidgetRun; iget-object p1, p1, Landroidx/constraintlayout/solver/widgets/analyzer/WidgetRun;->start:Landroidx/constraintlayout/solver/widgets/analyzer/DependencyNode; iget p1, p1, Landroidx/constraintlayout/solver/widgets/analyzer/DependencyNode;->margin:I int-to-long v8, p1 sub-long/2addr v6, v8 .line 155 iget-object p1, p0, Landroidx/constraintlayout/solver/widgets/analyzer/RunGroup;->firstRun:Landroidx/constraintlayout/solver/widgets/analyzer/WidgetRun; iget-object p1, p1, Landroidx/constraintlayout/solver/widgets/analyzer/WidgetRun;->start:Landroidx/constraintlayout/solver/widgets/analyzer/DependencyNode; iget p1, p1, Landroidx/constraintlayout/solver/widgets/analyzer/DependencyNode;->margin:I int-to-long v8, p1 cmp-long p1, v6, v8 if-ltz p1, :cond_6 .line 156 iget-object p1, p0, Landroidx/constraintlayout/solver/widgets/analyzer/RunGroup;->firstRun:Landroidx/constraintlayout/solver/widgets/analyzer/WidgetRun; iget-object p1, p1, Landroidx/constraintlayout/solver/widgets/analyzer/WidgetRun;->start:Landroidx/constraintlayout/solver/widgets/analyzer/DependencyNode; iget p1, p1, Landroidx/constraintlayout/solver/widgets/analyzer/DependencyNode;->margin:I int-to-long v8, p1 sub-long/2addr v6, v8 .line 158 :cond_6 iget-object p1, p0, Landroidx/constraintlayout/solver/widgets/analyzer/RunGroup;->firstRun:Landroidx/constraintlayout/solver/widgets/analyzer/WidgetRun; iget-object p1, p1, Landroidx/constraintlayout/solver/widgets/analyzer/WidgetRun;->widget:Landroidx/constraintlayout/solver/widgets/ConstraintWidget; invoke-virtual {p1, p2}, Landroidx/constraintlayout/solver/widgets/ConstraintWidget;->getBiasPercent(I)F move-result p1 const/4 p2, 0x0 cmpl-float p2, p1, p2 const/high16 v8, 0x3f800000 # 1.0f if-lez p2, :cond_7 long-to-float p2, v6 div-float/2addr p2, p1 long-to-float v0, v0 sub-float v1, v8, p1 div-float/2addr v0, v1 add-float/2addr p2, v0 float-to-long v2, p2 :cond_7 long-to-float p2, v2 mul-float v0, p2, p1 const/high16 v1, 0x3f000000 # 0.5f add-float/2addr v0, v1 float-to-long v2, v0 sub-float/2addr v8, p1 mul-float/2addr p2, v8 add-float/2addr p2, v1 float-to-long p1, p2 add-long/2addr v2, v4 add-long/2addr v2, p1 .line 168 iget-object p1, p0, Landroidx/constraintlayout/solver/widgets/analyzer/RunGroup;->firstRun:Landroidx/constraintlayout/solver/widgets/analyzer/WidgetRun; iget-object p1, p1, Landroidx/constraintlayout/solver/widgets/analyzer/WidgetRun;->start:Landroidx/constraintlayout/solver/widgets/analyzer/DependencyNode; iget p1, p1, Landroidx/constraintlayout/solver/widgets/analyzer/DependencyNode;->margin:I int-to-long p1, p1 add-long/2addr p1, v2 iget-object v0, p0, Landroidx/constraintlayout/solver/widgets/analyzer/RunGroup;->firstRun:Landroidx/constraintlayout/solver/widgets/analyzer/WidgetRun; iget-object v0, v0, Landroidx/constraintlayout/solver/widgets/analyzer/WidgetRun;->end:Landroidx/constraintlayout/solver/widgets/analyzer/DependencyNode; iget v0, v0, Landroidx/constraintlayout/solver/widgets/analyzer/DependencyNode;->margin:I goto :goto_2 :cond_8 if-eqz v0, :cond_9 .line 171 iget-object p1, p0, Landroidx/constraintlayout/solver/widgets/analyzer/RunGroup;->firstRun:Landroidx/constraintlayout/solver/widgets/analyzer/WidgetRun; iget-object p1, p1, Landroidx/constraintlayout/solver/widgets/analyzer/WidgetRun;->start:Landroidx/constraintlayout/solver/widgets/analyzer/DependencyNode; iget-object p2, p0, Landroidx/constraintlayout/solver/widgets/analyzer/RunGroup;->firstRun:Landroidx/constraintlayout/solver/widgets/analyzer/WidgetRun; iget-object p2, p2, Landroidx/constraintlayout/solver/widgets/analyzer/WidgetRun;->start:Landroidx/constraintlayout/solver/widgets/analyzer/DependencyNode; iget p2, p2, Landroidx/constraintlayout/solver/widgets/analyzer/DependencyNode;->margin:I int-to-long v0, p2 invoke-direct {p0, p1, v0, v1}, Landroidx/constraintlayout/solver/widgets/analyzer/RunGroup;->traverseStart(Landroidx/constraintlayout/solver/widgets/analyzer/DependencyNode;J)J move-result-wide p1 .line 172 iget-object v0, p0, Landroidx/constraintlayout/solver/widgets/analyzer/RunGroup;->firstRun:Landroidx/constraintlayout/solver/widgets/analyzer/WidgetRun; iget-object v0, v0, Landroidx/constraintlayout/solver/widgets/analyzer/WidgetRun;->start:Landroidx/constraintlayout/solver/widgets/analyzer/DependencyNode; iget v0, v0, Landroidx/constraintlayout/solver/widgets/analyzer/DependencyNode;->margin:I int-to-long v0, v0 add-long/2addr v0, v4 .line 173 invoke-static {p1, p2, v0, v1}, Ljava/lang/Math;->max(JJ)J move-result-wide p1 goto :goto_3 :cond_9 if-eqz p1, :cond_a .line 175 iget-object p1, p0, Landroidx/constraintlayout/solver/widgets/analyzer/RunGroup;->firstRun:Landroidx/constraintlayout/solver/widgets/analyzer/WidgetRun; iget-object p1, p1, Landroidx/constraintlayout/solver/widgets/analyzer/WidgetRun;->end:Landroidx/constraintlayout/solver/widgets/analyzer/DependencyNode; iget-object p2, p0, Landroidx/constraintlayout/solver/widgets/analyzer/RunGroup;->firstRun:Landroidx/constraintlayout/solver/widgets/analyzer/WidgetRun; iget-object p2, p2, Landroidx/constraintlayout/solver/widgets/analyzer/WidgetRun;->end:Landroidx/constraintlayout/solver/widgets/analyzer/DependencyNode; iget p2, p2, Landroidx/constraintlayout/solver/widgets/analyzer/DependencyNode;->margin:I int-to-long v0, p2 invoke-direct {p0, p1, v0, v1}, Landroidx/constraintlayout/solver/widgets/analyzer/RunGroup;->traverseEnd(Landroidx/constraintlayout/solver/widgets/analyzer/DependencyNode;J)J move-result-wide p1 .line 176 iget-object v0, p0, Landroidx/constraintlayout/solver/widgets/analyzer/RunGroup;->firstRun:Landroidx/constraintlayout/solver/widgets/analyzer/WidgetRun; iget-object v0, v0, Landroidx/constraintlayout/solver/widgets/analyzer/WidgetRun;->end:Landroidx/constraintlayout/solver/widgets/analyzer/DependencyNode; iget v0, v0, Landroidx/constraintlayout/solver/widgets/analyzer/DependencyNode;->margin:I neg-int v0, v0 int-to-long v0, v0 add-long/2addr v0, v4 neg-long p1, p1 .line 177 invoke-static {p1, p2, v0, v1}, Ljava/lang/Math;->max(JJ)J move-result-wide p1 goto :goto_3 .line 179 :cond_a iget-object p1, p0, Landroidx/constraintlayout/solver/widgets/analyzer/RunGroup;->firstRun:Landroidx/constraintlayout/solver/widgets/analyzer/WidgetRun; iget-object p1, p1, Landroidx/constraintlayout/solver/widgets/analyzer/WidgetRun;->start:Landroidx/constraintlayout/solver/widgets/analyzer/DependencyNode; iget p1, p1, Landroidx/constraintlayout/solver/widgets/analyzer/DependencyNode;->margin:I int-to-long p1, p1 iget-object v0, p0, Landroidx/constraintlayout/solver/widgets/analyzer/RunGroup;->firstRun:Landroidx/constraintlayout/solver/widgets/analyzer/WidgetRun; invoke-virtual {v0}, Landroidx/constraintlayout/solver/widgets/analyzer/WidgetRun;->getWrapDimension()J move-result-wide v0 add-long/2addr p1, v0 iget-object v0, p0, Landroidx/constraintlayout/solver/widgets/analyzer/RunGroup;->firstRun:Landroidx/constraintlayout/solver/widgets/analyzer/WidgetRun; iget-object v0, v0, Landroidx/constraintlayout/solver/widgets/analyzer/WidgetRun;->end:Landroidx/constraintlayout/solver/widgets/analyzer/DependencyNode; iget v0, v0, Landroidx/constraintlayout/solver/widgets/analyzer/DependencyNode;->margin:I :goto_2 int-to-long v0, v0 sub-long/2addr p1, v0 :goto_3 return-wide p1 .end method .method public defineTerminalWidgets(ZZ)V .locals 1 if-eqz p1, :cond_0 .line 236 iget-object p1, p0, Landroidx/constraintlayout/solver/widgets/analyzer/RunGroup;->firstRun:Landroidx/constraintlayout/solver/widgets/analyzer/WidgetRun; instance-of v0, p1, Landroidx/constraintlayout/solver/widgets/analyzer/HorizontalWidgetRun; if-eqz v0, :cond_0 const/4 v0, 0x0 .line 237 invoke-direct {p0, p1, v0}, Landroidx/constraintlayout/solver/widgets/analyzer/RunGroup;->defineTerminalWidget(Landroidx/constraintlayout/solver/widgets/analyzer/WidgetRun;I)Z :cond_0 if-eqz p2, :cond_1 .line 239 iget-object p1, p0, Landroidx/constraintlayout/solver/widgets/analyzer/RunGroup;->firstRun:Landroidx/constraintlayout/solver/widgets/analyzer/WidgetRun; instance-of p2, p1, Landroidx/constraintlayout/solver/widgets/analyzer/VerticalWidgetRun; if-eqz p2, :cond_1 const/4 p2, 0x1 .line 240 invoke-direct {p0, p1, p2}, Landroidx/constraintlayout/solver/widgets/analyzer/RunGroup;->defineTerminalWidget(Landroidx/constraintlayout/solver/widgets/analyzer/WidgetRun;I)Z :cond_1 return-void .end method