CircularFlow.smali
.class public Landroidx/constraintlayout/helper/widget/CircularFlow;
.super Landroidx/constraintlayout/widget/VirtualLayout;
.source "SourceFile"
# static fields
.field private static DEFAULT_ANGLE:F = 0.0f
.field private static DEFAULT_RADIUS:I = 0x0
.field private static final TAG:Ljava/lang/String; = "CircularFlow"
# instance fields
.field private mAngles:[F
.field mContainer:Landroidx/constraintlayout/widget/ConstraintLayout;
.field private mCountAngle:I
.field private mCountRadius:I
.field private mRadius:[I
.field private mReferenceAngles:Ljava/lang/String;
.field private mReferenceDefaultAngle:Ljava/lang/Float;
.field private mReferenceDefaultRadius:Ljava/lang/Integer;
.field private mReferenceRadius:Ljava/lang/String;
.field mViewCenter:I
# direct methods
.method static constructor <clinit>()V
.registers 0
return-void
.end method
.method public constructor <init>(Landroid/content/Context;)V
.registers 2
.line 111
invoke-direct {p0, p1}, Landroidx/constraintlayout/widget/VirtualLayout;-><init>(Landroid/content/Context;)V
return-void
.end method
.method public constructor <init>(Landroid/content/Context;Landroid/util/AttributeSet;)V
.registers 3
.line 115
invoke-direct {p0, p1, p2}, Landroidx/constraintlayout/widget/VirtualLayout;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;)V
return-void
.end method
.method public constructor <init>(Landroid/content/Context;Landroid/util/AttributeSet;I)V
.registers 4
.line 119
invoke-direct {p0, p1, p2, p3}, Landroidx/constraintlayout/widget/VirtualLayout;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;I)V
return-void
.end method
.method private addAngle(Ljava/lang/String;)V
.registers 5
if-eqz p1, :cond_34
.line 428
invoke-virtual {p1}, Ljava/lang/String;->length()I
move-result v0
if-nez v0, :cond_9
goto :goto_34
.line 431
:cond_9
iget-object v0, p0, Landroidx/constraintlayout/helper/widget/CircularFlow;->myContext:Landroid/content/Context;
if-nez v0, :cond_e
return-void
.line 434
:cond_e
iget-object v0, p0, Landroidx/constraintlayout/helper/widget/CircularFlow;->mAngles:[F
if-nez v0, :cond_13
return-void
.line 438
:cond_13
iget v1, p0, Landroidx/constraintlayout/helper/widget/CircularFlow;->mCountAngle:I
add-int/lit8 v1, v1, 0x1
array-length v2, v0
if-le v1, v2, :cond_23
.line 439
array-length v1, v0
add-int/lit8 v1, v1, 0x1
invoke-static {v0, v1}, Ljava/util/Arrays;->copyOf([FI)[F
move-result-object v0
iput-object v0, p0, Landroidx/constraintlayout/helper/widget/CircularFlow;->mAngles:[F
.line 441
:cond_23
iget-object v0, p0, Landroidx/constraintlayout/helper/widget/CircularFlow;->mAngles:[F
iget v1, p0, Landroidx/constraintlayout/helper/widget/CircularFlow;->mCountAngle:I
invoke-static {p1}, Ljava/lang/Integer;->parseInt(Ljava/lang/String;)I
move-result p1
int-to-float p1, p1
aput p1, v0, v1
.line 442
iget p1, p0, Landroidx/constraintlayout/helper/widget/CircularFlow;->mCountAngle:I
add-int/lit8 p1, p1, 0x1
iput p1, p0, Landroidx/constraintlayout/helper/widget/CircularFlow;->mCountAngle:I
:cond_34
:goto_34
return-void
.end method
.method private addRadius(Ljava/lang/String;)V
.registers 5
if-eqz p1, :cond_43
.line 449
invoke-virtual {p1}, Ljava/lang/String;->length()I
move-result v0
if-nez v0, :cond_9
goto :goto_43
.line 452
:cond_9
iget-object v0, p0, Landroidx/constraintlayout/helper/widget/CircularFlow;->myContext:Landroid/content/Context;
if-nez v0, :cond_e
return-void
.line 455
:cond_e
iget-object v0, p0, Landroidx/constraintlayout/helper/widget/CircularFlow;->mRadius:[I
if-nez v0, :cond_13
return-void
.line 459
:cond_13
iget v1, p0, Landroidx/constraintlayout/helper/widget/CircularFlow;->mCountRadius:I
add-int/lit8 v1, v1, 0x1
array-length v2, v0
if-le v1, v2, :cond_23
.line 460
array-length v1, v0
add-int/lit8 v1, v1, 0x1
invoke-static {v0, v1}, Ljava/util/Arrays;->copyOf([II)[I
move-result-object v0
iput-object v0, p0, Landroidx/constraintlayout/helper/widget/CircularFlow;->mRadius:[I
.line 463
:cond_23
iget-object v0, p0, Landroidx/constraintlayout/helper/widget/CircularFlow;->mRadius:[I
iget v1, p0, Landroidx/constraintlayout/helper/widget/CircularFlow;->mCountRadius:I
invoke-static {p1}, Ljava/lang/Integer;->parseInt(Ljava/lang/String;)I
move-result p1
int-to-float p1, p1
iget-object v2, p0, Landroidx/constraintlayout/helper/widget/CircularFlow;->myContext:Landroid/content/Context;
invoke-virtual {v2}, Landroid/content/Context;->getResources()Landroid/content/res/Resources;
move-result-object v2
invoke-virtual {v2}, Landroid/content/res/Resources;->getDisplayMetrics()Landroid/util/DisplayMetrics;
move-result-object v2
iget v2, v2, Landroid/util/DisplayMetrics;->density:F
mul-float p1, p1, v2
float-to-int p1, p1
aput p1, v0, v1
.line 464
iget p1, p0, Landroidx/constraintlayout/helper/widget/CircularFlow;->mCountRadius:I
add-int/lit8 p1, p1, 0x1
iput p1, p0, Landroidx/constraintlayout/helper/widget/CircularFlow;->mCountRadius:I
:cond_43
:goto_43
return-void
.end method
.method private anchorReferences()V
.registers 10
.line 182
invoke-virtual {p0}, Landroidx/constraintlayout/helper/widget/CircularFlow;->getParent()Landroid/view/ViewParent;
move-result-object v0
check-cast v0, Landroidx/constraintlayout/widget/ConstraintLayout;
iput-object v0, p0, Landroidx/constraintlayout/helper/widget/CircularFlow;->mContainer:Landroidx/constraintlayout/widget/ConstraintLayout;
const/4 v0, 0x0
.line 183
:goto_9
iget v1, p0, Landroidx/constraintlayout/helper/widget/CircularFlow;->mCount:I
if-ge v0, v1, :cond_de
.line 184
iget-object v1, p0, Landroidx/constraintlayout/helper/widget/CircularFlow;->mContainer:Landroidx/constraintlayout/widget/ConstraintLayout;
iget-object v2, p0, Landroidx/constraintlayout/helper/widget/CircularFlow;->mIds:[I
aget v2, v2, v0
invoke-virtual {v1, v2}, Landroidx/constraintlayout/widget/ConstraintLayout;->getViewById(I)Landroid/view/View;
move-result-object v1
if-nez v1, :cond_1b
goto/16 :goto_da
.line 188
:cond_1b
sget v2, Landroidx/constraintlayout/helper/widget/CircularFlow;->DEFAULT_RADIUS:I
.line 189
sget v3, Landroidx/constraintlayout/helper/widget/CircularFlow;->DEFAULT_ANGLE:F
.line 191
iget-object v4, p0, Landroidx/constraintlayout/helper/widget/CircularFlow;->mRadius:[I
const-string v5, "CircularFlow"
const/4 v6, 0x1
if-eqz v4, :cond_2c
array-length v7, v4
if-ge v0, v7, :cond_2c
.line 192
aget v2, v4, v0
goto :goto_74
.line 193
:cond_2c
iget-object v4, p0, Landroidx/constraintlayout/helper/widget/CircularFlow;->mReferenceDefaultRadius:Ljava/lang/Integer;
if-eqz v4, :cond_50
invoke-virtual {v4}, Ljava/lang/Integer;->intValue()I
move-result v4
const/4 v7, -0x1
if-eq v4, v7, :cond_50
.line 194
iget v4, p0, Landroidx/constraintlayout/helper/widget/CircularFlow;->mCountRadius:I
add-int/2addr v4, v6
iput v4, p0, Landroidx/constraintlayout/helper/widget/CircularFlow;->mCountRadius:I
.line 195
iget-object v4, p0, Landroidx/constraintlayout/helper/widget/CircularFlow;->mRadius:[I
if-nez v4, :cond_44
new-array v4, v6, [I
.line 196
iput-object v4, p0, Landroidx/constraintlayout/helper/widget/CircularFlow;->mRadius:[I
.line 198
:cond_44
invoke-virtual {p0}, Landroidx/constraintlayout/helper/widget/CircularFlow;->getRadius()[I
move-result-object v4
iput-object v4, p0, Landroidx/constraintlayout/helper/widget/CircularFlow;->mRadius:[I
.line 199
iget v7, p0, Landroidx/constraintlayout/helper/widget/CircularFlow;->mCountRadius:I
sub-int/2addr v7, v6
aput v2, v4, v7
goto :goto_74
.line 201
:cond_50
new-instance v4, Ljava/lang/StringBuilder;
invoke-direct {v4}, Ljava/lang/StringBuilder;-><init>()V
const-string v7, "Added radius to view with id: "
invoke-virtual {v4, v7}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
iget-object v7, p0, Landroidx/constraintlayout/helper/widget/CircularFlow;->mMap:Ljava/util/HashMap;
invoke-virtual {v1}, Landroid/view/View;->getId()I
move-result v8
invoke-static {v8}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object v8
invoke-virtual {v7, v8}, Ljava/util/HashMap;->get(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v7
check-cast v7, Ljava/lang/String;
invoke-virtual {v4, v7}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v4}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v4
invoke-static {v5, v4}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
.line 204
:goto_74
iget-object v4, p0, Landroidx/constraintlayout/helper/widget/CircularFlow;->mAngles:[F
if-eqz v4, :cond_7e
array-length v7, v4
if-ge v0, v7, :cond_7e
.line 205
aget v3, v4, v0
goto :goto_c9
.line 206
:cond_7e
iget-object v4, p0, Landroidx/constraintlayout/helper/widget/CircularFlow;->mReferenceDefaultAngle:Ljava/lang/Float;
if-eqz v4, :cond_a5
invoke-virtual {v4}, Ljava/lang/Float;->floatValue()F
move-result v4
const/high16 v7, -0x40800000 # -1.0f
cmpl-float v4, v4, v7
if-eqz v4, :cond_a5
.line 207
iget v4, p0, Landroidx/constraintlayout/helper/widget/CircularFlow;->mCountAngle:I
add-int/2addr v4, v6
iput v4, p0, Landroidx/constraintlayout/helper/widget/CircularFlow;->mCountAngle:I
.line 208
iget-object v4, p0, Landroidx/constraintlayout/helper/widget/CircularFlow;->mAngles:[F
if-nez v4, :cond_99
new-array v4, v6, [F
.line 209
iput-object v4, p0, Landroidx/constraintlayout/helper/widget/CircularFlow;->mAngles:[F
.line 211
:cond_99
invoke-virtual {p0}, Landroidx/constraintlayout/helper/widget/CircularFlow;->getAngles()[F
move-result-object v4
iput-object v4, p0, Landroidx/constraintlayout/helper/widget/CircularFlow;->mAngles:[F
.line 212
iget v5, p0, Landroidx/constraintlayout/helper/widget/CircularFlow;->mCountAngle:I
sub-int/2addr v5, v6
aput v3, v4, v5
goto :goto_c9
.line 214
:cond_a5
new-instance v4, Ljava/lang/StringBuilder;
invoke-direct {v4}, Ljava/lang/StringBuilder;-><init>()V
const-string v6, "Added angle to view with id: "
invoke-virtual {v4, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
iget-object v6, p0, Landroidx/constraintlayout/helper/widget/CircularFlow;->mMap:Ljava/util/HashMap;
invoke-virtual {v1}, Landroid/view/View;->getId()I
move-result v7
invoke-static {v7}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object v7
invoke-virtual {v6, v7}, Ljava/util/HashMap;->get(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v6
check-cast v6, Ljava/lang/String;
invoke-virtual {v4, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v4}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v4
invoke-static {v5, v4}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
.line 216
:goto_c9
invoke-virtual {v1}, Landroid/view/View;->getLayoutParams()Landroid/view/ViewGroup$LayoutParams;
move-result-object v4
check-cast v4, Landroidx/constraintlayout/widget/ConstraintLayout$LayoutParams;
.line 217
iput v3, v4, Landroidx/constraintlayout/widget/ConstraintLayout$LayoutParams;->circleAngle:F
.line 218
iget v3, p0, Landroidx/constraintlayout/helper/widget/CircularFlow;->mViewCenter:I
iput v3, v4, Landroidx/constraintlayout/widget/ConstraintLayout$LayoutParams;->circleConstraint:I
.line 219
iput v2, v4, Landroidx/constraintlayout/widget/ConstraintLayout$LayoutParams;->circleRadius:I
.line 220
invoke-virtual {v1, v4}, Landroid/view/View;->setLayoutParams(Landroid/view/ViewGroup$LayoutParams;)V
:goto_da
add-int/lit8 v0, v0, 0x1
goto/16 :goto_9
.line 222
:cond_de
invoke-virtual {p0}, Landroidx/constraintlayout/helper/widget/CircularFlow;->applyLayoutFeatures()V
return-void
.end method
.method private removeAngle([FI)[F
.registers 4
if-eqz p1, :cond_d
if-ltz p2, :cond_d
.line 362
iget v0, p0, Landroidx/constraintlayout/helper/widget/CircularFlow;->mCountAngle:I
if-lt p2, v0, :cond_9
goto :goto_d
.line 368
:cond_9
invoke-static {p1, p2}, Landroidx/constraintlayout/helper/widget/CircularFlow;->removeElementFromArray([FI)[F
move-result-object p1
:cond_d
:goto_d
return-object p1
.end method
.method public static removeElementFromArray([FI)[F
.registers 7
.line 480
array-length v0, p0
add-int/lit8 v0, v0, -0x1
new-array v0, v0, [F
const/4 v1, 0x0
const/4 v2, 0x0
.line 482
:goto_7
array-length v3, p0
if-ge v1, v3, :cond_17
if-ne v1, p1, :cond_d
goto :goto_14
:cond_d
add-int/lit8 v3, v2, 0x1
.line 486
aget v4, p0, v1
aput v4, v0, v2
move v2, v3
:goto_14
add-int/lit8 v1, v1, 0x1
goto :goto_7
:cond_17
return-object v0
.end method
.method public static removeElementFromArray([II)[I
.registers 7
.line 468
array-length v0, p0
add-int/lit8 v0, v0, -0x1
new-array v0, v0, [I
const/4 v1, 0x0
const/4 v2, 0x0
.line 470
:goto_7
array-length v3, p0
if-ge v1, v3, :cond_17
if-ne v1, p1, :cond_d
goto :goto_14
:cond_d
add-int/lit8 v3, v2, 0x1
.line 474
aget v4, p0, v1
aput v4, v0, v2
move v2, v3
:goto_14
add-int/lit8 v1, v1, 0x1
goto :goto_7
:cond_17
return-object v0
.end method
.method private removeRadius([II)[I
.registers 4
if-eqz p1, :cond_d
if-ltz p2, :cond_d
.line 375
iget v0, p0, Landroidx/constraintlayout/helper/widget/CircularFlow;->mCountRadius:I
if-lt p2, v0, :cond_9
goto :goto_d
.line 381
:cond_9
invoke-static {p1, p2}, Landroidx/constraintlayout/helper/widget/CircularFlow;->removeElementFromArray([II)[I
move-result-object p1
:cond_d
:goto_d
return-object p1
.end method
.method private setAngles(Ljava/lang/String;)V
.registers 5
if-nez p1, :cond_3
return-void
:cond_3
const/4 v0, 0x0
.line 392
iput v0, p0, Landroidx/constraintlayout/helper/widget/CircularFlow;->mCountAngle:I
:goto_6
const/16 v1, 0x2c
.line 394
invoke-virtual {p1, v1, v0}, Ljava/lang/String;->indexOf(II)I
move-result v1
const/4 v2, -0x1
if-ne v1, v2, :cond_1b
.line 396
invoke-virtual {p1, v0}, Ljava/lang/String;->substring(I)Ljava/lang/String;
move-result-object p1
invoke-virtual {p1}, Ljava/lang/String;->trim()Ljava/lang/String;
move-result-object p1
invoke-direct {p0, p1}, Landroidx/constraintlayout/helper/widget/CircularFlow;->addAngle(Ljava/lang/String;)V
return-void
.line 399
:cond_1b
invoke-virtual {p1, v0, v1}, Ljava/lang/String;->substring(II)Ljava/lang/String;
move-result-object v0
invoke-virtual {v0}, Ljava/lang/String;->trim()Ljava/lang/String;
move-result-object v0
invoke-direct {p0, v0}, Landroidx/constraintlayout/helper/widget/CircularFlow;->addAngle(Ljava/lang/String;)V
add-int/lit8 v0, v1, 0x1
goto :goto_6
.end method
.method private setRadius(Ljava/lang/String;)V
.registers 5
if-nez p1, :cond_3
return-void
:cond_3
const/4 v0, 0x0
.line 412
iput v0, p0, Landroidx/constraintlayout/helper/widget/CircularFlow;->mCountRadius:I
:goto_6
const/16 v1, 0x2c
.line 414
invoke-virtual {p1, v1, v0}, Ljava/lang/String;->indexOf(II)I
move-result v1
const/4 v2, -0x1
if-ne v1, v2, :cond_1b
.line 416
invoke-virtual {p1, v0}, Ljava/lang/String;->substring(I)Ljava/lang/String;
move-result-object p1
invoke-virtual {p1}, Ljava/lang/String;->trim()Ljava/lang/String;
move-result-object p1
invoke-direct {p0, p1}, Landroidx/constraintlayout/helper/widget/CircularFlow;->addRadius(Ljava/lang/String;)V
return-void
.line 419
:cond_1b
invoke-virtual {p1, v0, v1}, Ljava/lang/String;->substring(II)Ljava/lang/String;
move-result-object v0
invoke-virtual {v0}, Ljava/lang/String;->trim()Ljava/lang/String;
move-result-object v0
invoke-direct {p0, v0}, Landroidx/constraintlayout/helper/widget/CircularFlow;->addRadius(Ljava/lang/String;)V
add-int/lit8 v0, v1, 0x1
goto :goto_6
.end method
# virtual methods
.method public addViewToCircularFlow(Landroid/view/View;IF)V
.registers 5
.line 235
invoke-virtual {p1}, Landroid/view/View;->getId()I
move-result v0
invoke-virtual {p0, v0}, Landroidx/constraintlayout/helper/widget/CircularFlow;->containsId(I)Z
move-result v0
if-eqz v0, :cond_b
return-void
.line 238
:cond_b
invoke-virtual {p0, p1}, Landroidx/constraintlayout/helper/widget/CircularFlow;->addView(Landroid/view/View;)V
.line 239
iget p1, p0, Landroidx/constraintlayout/helper/widget/CircularFlow;->mCountAngle:I
add-int/lit8 p1, p1, 0x1
iput p1, p0, Landroidx/constraintlayout/helper/widget/CircularFlow;->mCountAngle:I
.line 240
invoke-virtual {p0}, Landroidx/constraintlayout/helper/widget/CircularFlow;->getAngles()[F
move-result-object p1
iput-object p1, p0, Landroidx/constraintlayout/helper/widget/CircularFlow;->mAngles:[F
.line 241
iget v0, p0, Landroidx/constraintlayout/helper/widget/CircularFlow;->mCountAngle:I
add-int/lit8 v0, v0, -0x1
aput p3, p1, v0
.line 242
iget p1, p0, Landroidx/constraintlayout/helper/widget/CircularFlow;->mCountRadius:I
add-int/lit8 p1, p1, 0x1
iput p1, p0, Landroidx/constraintlayout/helper/widget/CircularFlow;->mCountRadius:I
.line 243
invoke-virtual {p0}, Landroidx/constraintlayout/helper/widget/CircularFlow;->getRadius()[I
move-result-object p1
iput-object p1, p0, Landroidx/constraintlayout/helper/widget/CircularFlow;->mRadius:[I
.line 244
iget p3, p0, Landroidx/constraintlayout/helper/widget/CircularFlow;->mCountRadius:I
add-int/lit8 p3, p3, -0x1
int-to-float p2, p2
iget-object v0, p0, Landroidx/constraintlayout/helper/widget/CircularFlow;->myContext:Landroid/content/Context;
invoke-virtual {v0}, Landroid/content/Context;->getResources()Landroid/content/res/Resources;
move-result-object v0
invoke-virtual {v0}, Landroid/content/res/Resources;->getDisplayMetrics()Landroid/util/DisplayMetrics;
move-result-object v0
iget v0, v0, Landroid/util/DisplayMetrics;->density:F
mul-float p2, p2, v0
float-to-int p2, p2
aput p2, p1, p3
.line 245
invoke-direct {p0}, Landroidx/constraintlayout/helper/widget/CircularFlow;->anchorReferences()V
return-void
.end method
.method public getAngles()[F
.registers 3
.line 128
iget-object v0, p0, Landroidx/constraintlayout/helper/widget/CircularFlow;->mAngles:[F
iget v1, p0, Landroidx/constraintlayout/helper/widget/CircularFlow;->mCountAngle:I
invoke-static {v0, v1}, Ljava/util/Arrays;->copyOf([FI)[F
move-result-object v0
return-object v0
.end method
.method public getRadius()[I
.registers 3
.line 123
iget-object v0, p0, Landroidx/constraintlayout/helper/widget/CircularFlow;->mRadius:[I
iget v1, p0, Landroidx/constraintlayout/helper/widget/CircularFlow;->mCountRadius:I
invoke-static {v0, v1}, Ljava/util/Arrays;->copyOf([II)[I
move-result-object v0
return-object v0
.end method
.method protected init(Landroid/util/AttributeSet;)V
.registers 7
.line 134
invoke-super {p0, p1}, Landroidx/constraintlayout/widget/VirtualLayout;->init(Landroid/util/AttributeSet;)V
if-eqz p1, :cond_77
.line 136
invoke-virtual {p0}, Landroidx/constraintlayout/helper/widget/CircularFlow;->getContext()Landroid/content/Context;
move-result-object v0
sget-object v1, Landroidx/constraintlayout/widget/R$styleable;->ConstraintLayout_Layout:[I
invoke-virtual {v0, p1, v1}, Landroid/content/Context;->obtainStyledAttributes(Landroid/util/AttributeSet;[I)Landroid/content/res/TypedArray;
move-result-object p1
.line 137
invoke-virtual {p1}, Landroid/content/res/TypedArray;->getIndexCount()I
move-result v0
const/4 v1, 0x0
const/4 v2, 0x0
:goto_15
if-ge v2, v0, :cond_74
.line 140
invoke-virtual {p1, v2}, Landroid/content/res/TypedArray;->getIndex(I)I
move-result v3
.line 141
sget v4, Landroidx/constraintlayout/widget/R$styleable;->ConstraintLayout_Layout_circularflow_viewCenter:I
if-ne v3, v4, :cond_26
.line 142
invoke-virtual {p1, v3, v1}, Landroid/content/res/TypedArray;->getResourceId(II)I
move-result v3
iput v3, p0, Landroidx/constraintlayout/helper/widget/CircularFlow;->mViewCenter:I
goto :goto_71
.line 143
:cond_26
sget v4, Landroidx/constraintlayout/widget/R$styleable;->ConstraintLayout_Layout_circularflow_angles:I
if-ne v3, v4, :cond_34
.line 144
invoke-virtual {p1, v3}, Landroid/content/res/TypedArray;->getString(I)Ljava/lang/String;
move-result-object v3
iput-object v3, p0, Landroidx/constraintlayout/helper/widget/CircularFlow;->mReferenceAngles:Ljava/lang/String;
.line 145
invoke-direct {p0, v3}, Landroidx/constraintlayout/helper/widget/CircularFlow;->setAngles(Ljava/lang/String;)V
goto :goto_71
.line 146
:cond_34
sget v4, Landroidx/constraintlayout/widget/R$styleable;->ConstraintLayout_Layout_circularflow_radiusInDP:I
if-ne v3, v4, :cond_42
.line 147
invoke-virtual {p1, v3}, Landroid/content/res/TypedArray;->getString(I)Ljava/lang/String;
move-result-object v3
iput-object v3, p0, Landroidx/constraintlayout/helper/widget/CircularFlow;->mReferenceRadius:Ljava/lang/String;
.line 148
invoke-direct {p0, v3}, Landroidx/constraintlayout/helper/widget/CircularFlow;->setRadius(Ljava/lang/String;)V
goto :goto_71
.line 149
:cond_42
sget v4, Landroidx/constraintlayout/widget/R$styleable;->ConstraintLayout_Layout_circularflow_defaultAngle:I
if-ne v3, v4, :cond_5a
.line 150
sget v4, Landroidx/constraintlayout/helper/widget/CircularFlow;->DEFAULT_ANGLE:F
invoke-virtual {p1, v3, v4}, Landroid/content/res/TypedArray;->getFloat(IF)F
move-result v3
invoke-static {v3}, Ljava/lang/Float;->valueOf(F)Ljava/lang/Float;
move-result-object v3
iput-object v3, p0, Landroidx/constraintlayout/helper/widget/CircularFlow;->mReferenceDefaultAngle:Ljava/lang/Float;
.line 151
invoke-virtual {v3}, Ljava/lang/Float;->floatValue()F
move-result v3
invoke-virtual {p0, v3}, Landroidx/constraintlayout/helper/widget/CircularFlow;->setDefaultAngle(F)V
goto :goto_71
.line 152
:cond_5a
sget v4, Landroidx/constraintlayout/widget/R$styleable;->ConstraintLayout_Layout_circularflow_defaultRadius:I
if-ne v3, v4, :cond_71
.line 153
sget v4, Landroidx/constraintlayout/helper/widget/CircularFlow;->DEFAULT_RADIUS:I
invoke-virtual {p1, v3, v4}, Landroid/content/res/TypedArray;->getDimensionPixelSize(II)I
move-result v3
invoke-static {v3}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object v3
iput-object v3, p0, Landroidx/constraintlayout/helper/widget/CircularFlow;->mReferenceDefaultRadius:Ljava/lang/Integer;
.line 154
invoke-virtual {v3}, Ljava/lang/Integer;->intValue()I
move-result v3
invoke-virtual {p0, v3}, Landroidx/constraintlayout/helper/widget/CircularFlow;->setDefaultRadius(I)V
:cond_71
:goto_71
add-int/lit8 v2, v2, 0x1
goto :goto_15
.line 157
:cond_74
invoke-virtual {p1}, Landroid/content/res/TypedArray;->recycle()V
:cond_77
return-void
.end method
.method public isUpdatable(Landroid/view/View;)Z
.registers 4
.line 492
invoke-virtual {p1}, Landroid/view/View;->getId()I
move-result v0
invoke-virtual {p0, v0}, Landroidx/constraintlayout/helper/widget/CircularFlow;->containsId(I)Z
move-result v0
const/4 v1, 0x0
if-nez v0, :cond_c
return v1
.line 495
:cond_c
invoke-virtual {p1}, Landroid/view/View;->getId()I
move-result p1
invoke-virtual {p0, p1}, Landroidx/constraintlayout/helper/widget/CircularFlow;->indexFromId(I)I
move-result p1
const/4 v0, -0x1
if-eq p1, v0, :cond_18
const/4 v1, 0x1
:cond_18
return v1
.end method
.method public onAttachedToWindow()V
.registers 4
.line 163
invoke-super {p0}, Landroidx/constraintlayout/widget/VirtualLayout;->onAttachedToWindow()V
.line 164
iget-object v0, p0, Landroidx/constraintlayout/helper/widget/CircularFlow;->mReferenceAngles:Ljava/lang/String;
const/4 v1, 0x1
if-eqz v0, :cond_f
new-array v2, v1, [F
.line 165
iput-object v2, p0, Landroidx/constraintlayout/helper/widget/CircularFlow;->mAngles:[F
.line 166
invoke-direct {p0, v0}, Landroidx/constraintlayout/helper/widget/CircularFlow;->setAngles(Ljava/lang/String;)V
.line 168
:cond_f
iget-object v0, p0, Landroidx/constraintlayout/helper/widget/CircularFlow;->mReferenceRadius:Ljava/lang/String;
if-eqz v0, :cond_1a
new-array v1, v1, [I
.line 169
iput-object v1, p0, Landroidx/constraintlayout/helper/widget/CircularFlow;->mRadius:[I
.line 170
invoke-direct {p0, v0}, Landroidx/constraintlayout/helper/widget/CircularFlow;->setRadius(Ljava/lang/String;)V
.line 172
:cond_1a
iget-object v0, p0, Landroidx/constraintlayout/helper/widget/CircularFlow;->mReferenceDefaultAngle:Ljava/lang/Float;
if-eqz v0, :cond_25
.line 173
invoke-virtual {v0}, Ljava/lang/Float;->floatValue()F
move-result v0
invoke-virtual {p0, v0}, Landroidx/constraintlayout/helper/widget/CircularFlow;->setDefaultAngle(F)V
.line 175
:cond_25
iget-object v0, p0, Landroidx/constraintlayout/helper/widget/CircularFlow;->mReferenceDefaultRadius:Ljava/lang/Integer;
if-eqz v0, :cond_30
.line 176
invoke-virtual {v0}, Ljava/lang/Integer;->intValue()I
move-result v0
invoke-virtual {p0, v0}, Landroidx/constraintlayout/helper/widget/CircularFlow;->setDefaultRadius(I)V
.line 178
:cond_30
invoke-direct {p0}, Landroidx/constraintlayout/helper/widget/CircularFlow;->anchorReferences()V
return-void
.end method
.method public removeView(Landroid/view/View;)I
.registers 5
.line 337
invoke-super {p0, p1}, Landroidx/constraintlayout/widget/VirtualLayout;->removeView(Landroid/view/View;)I
move-result v0
const/4 v1, -0x1
if-ne v0, v1, :cond_8
return v0
.line 341
:cond_8
new-instance v1, Landroidx/constraintlayout/widget/ConstraintSet;
invoke-direct {v1}, Landroidx/constraintlayout/widget/ConstraintSet;-><init>()V
.line 342
iget-object v2, p0, Landroidx/constraintlayout/helper/widget/CircularFlow;->mContainer:Landroidx/constraintlayout/widget/ConstraintLayout;
invoke-virtual {v1, v2}, Landroidx/constraintlayout/widget/ConstraintSet;->clone(Landroidx/constraintlayout/widget/ConstraintLayout;)V
.line 343
invoke-virtual {p1}, Landroid/view/View;->getId()I
move-result p1
const/16 v2, 0x8
invoke-virtual {v1, p1, v2}, Landroidx/constraintlayout/widget/ConstraintSet;->clear(II)V
.line 344
iget-object p1, p0, Landroidx/constraintlayout/helper/widget/CircularFlow;->mContainer:Landroidx/constraintlayout/widget/ConstraintLayout;
invoke-virtual {v1, p1}, Landroidx/constraintlayout/widget/ConstraintSet;->applyTo(Landroidx/constraintlayout/widget/ConstraintLayout;)V
.line 346
iget-object p1, p0, Landroidx/constraintlayout/helper/widget/CircularFlow;->mAngles:[F
array-length v1, p1
if-ge v0, v1, :cond_31
.line 347
invoke-direct {p0, p1, v0}, Landroidx/constraintlayout/helper/widget/CircularFlow;->removeAngle([FI)[F
move-result-object p1
iput-object p1, p0, Landroidx/constraintlayout/helper/widget/CircularFlow;->mAngles:[F
.line 348
iget p1, p0, Landroidx/constraintlayout/helper/widget/CircularFlow;->mCountAngle:I
add-int/lit8 p1, p1, -0x1
iput p1, p0, Landroidx/constraintlayout/helper/widget/CircularFlow;->mCountAngle:I
.line 350
:cond_31
iget-object p1, p0, Landroidx/constraintlayout/helper/widget/CircularFlow;->mRadius:[I
array-length v1, p1
if-ge v0, v1, :cond_42
.line 351
invoke-direct {p0, p1, v0}, Landroidx/constraintlayout/helper/widget/CircularFlow;->removeRadius([II)[I
move-result-object p1
iput-object p1, p0, Landroidx/constraintlayout/helper/widget/CircularFlow;->mRadius:[I
.line 352
iget p1, p0, Landroidx/constraintlayout/helper/widget/CircularFlow;->mCountRadius:I
add-int/lit8 p1, p1, -0x1
iput p1, p0, Landroidx/constraintlayout/helper/widget/CircularFlow;->mCountRadius:I
.line 354
:cond_42
invoke-direct {p0}, Landroidx/constraintlayout/helper/widget/CircularFlow;->anchorReferences()V
return v0
.end method
.method public setDefaultAngle(F)V
.registers 2
.line 322
sput p1, Landroidx/constraintlayout/helper/widget/CircularFlow;->DEFAULT_ANGLE:F
return-void
.end method
.method public setDefaultRadius(I)V
.registers 2
.line 332
sput p1, Landroidx/constraintlayout/helper/widget/CircularFlow;->DEFAULT_RADIUS:I
return-void
.end method
.method public updateAngle(Landroid/view/View;F)V
.registers 4
.line 277
invoke-virtual {p0, p1}, Landroidx/constraintlayout/helper/widget/CircularFlow;->isUpdatable(Landroid/view/View;)Z
move-result v0
if-nez v0, :cond_21
.line 278
new-instance p2, Ljava/lang/StringBuilder;
invoke-direct {p2}, Ljava/lang/StringBuilder;-><init>()V
const-string v0, "It was not possible to update angle to view with id: "
invoke-virtual {p2, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {p1}, Landroid/view/View;->getId()I
move-result p1
invoke-virtual {p2, p1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
invoke-virtual {p2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p1
const-string p2, "CircularFlow"
invoke-static {p2, p1}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
return-void
.line 281
:cond_21
invoke-virtual {p1}, Landroid/view/View;->getId()I
move-result p1
invoke-virtual {p0, p1}, Landroidx/constraintlayout/helper/widget/CircularFlow;->indexFromId(I)I
move-result p1
.line 282
iget-object v0, p0, Landroidx/constraintlayout/helper/widget/CircularFlow;->mAngles:[F
array-length v0, v0
if-le p1, v0, :cond_2f
return-void
.line 285
:cond_2f
invoke-virtual {p0}, Landroidx/constraintlayout/helper/widget/CircularFlow;->getAngles()[F
move-result-object v0
iput-object v0, p0, Landroidx/constraintlayout/helper/widget/CircularFlow;->mAngles:[F
.line 286
aput p2, v0, p1
.line 287
invoke-direct {p0}, Landroidx/constraintlayout/helper/widget/CircularFlow;->anchorReferences()V
return-void
.end method
.method public updateRadius(Landroid/view/View;I)V
.registers 5
.line 256
invoke-virtual {p0, p1}, Landroidx/constraintlayout/helper/widget/CircularFlow;->isUpdatable(Landroid/view/View;)Z
move-result v0
if-nez v0, :cond_21
.line 257
new-instance p2, Ljava/lang/StringBuilder;
invoke-direct {p2}, Ljava/lang/StringBuilder;-><init>()V
const-string v0, "It was not possible to update radius to view with id: "
invoke-virtual {p2, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {p1}, Landroid/view/View;->getId()I
move-result p1
invoke-virtual {p2, p1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
invoke-virtual {p2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p1
const-string p2, "CircularFlow"
invoke-static {p2, p1}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
return-void
.line 260
:cond_21
invoke-virtual {p1}, Landroid/view/View;->getId()I
move-result p1
invoke-virtual {p0, p1}, Landroidx/constraintlayout/helper/widget/CircularFlow;->indexFromId(I)I
move-result p1
.line 261
iget-object v0, p0, Landroidx/constraintlayout/helper/widget/CircularFlow;->mRadius:[I
array-length v0, v0
if-le p1, v0, :cond_2f
return-void
.line 264
:cond_2f
invoke-virtual {p0}, Landroidx/constraintlayout/helper/widget/CircularFlow;->getRadius()[I
move-result-object v0
iput-object v0, p0, Landroidx/constraintlayout/helper/widget/CircularFlow;->mRadius:[I
int-to-float p2, p2
.line 265
iget-object v1, p0, Landroidx/constraintlayout/helper/widget/CircularFlow;->myContext:Landroid/content/Context;
invoke-virtual {v1}, Landroid/content/Context;->getResources()Landroid/content/res/Resources;
move-result-object v1
invoke-virtual {v1}, Landroid/content/res/Resources;->getDisplayMetrics()Landroid/util/DisplayMetrics;
move-result-object v1
iget v1, v1, Landroid/util/DisplayMetrics;->density:F
mul-float p2, p2, v1
float-to-int p2, p2
aput p2, v0, p1
.line 266
invoke-direct {p0}, Landroidx/constraintlayout/helper/widget/CircularFlow;->anchorReferences()V
return-void
.end method
.method public updateReference(Landroid/view/View;IF)V
.registers 5
.line 299
invoke-virtual {p0, p1}, Landroidx/constraintlayout/helper/widget/CircularFlow;->isUpdatable(Landroid/view/View;)Z
move-result v0
if-nez v0, :cond_21
.line 300
new-instance p2, Ljava/lang/StringBuilder;
invoke-direct {p2}, Ljava/lang/StringBuilder;-><init>()V
const-string p3, "It was not possible to update radius and angle to view with id: "
invoke-virtual {p2, p3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {p1}, Landroid/view/View;->getId()I
move-result p1
invoke-virtual {p2, p1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
invoke-virtual {p2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p1
const-string p2, "CircularFlow"
invoke-static {p2, p1}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
return-void
.line 303
:cond_21
invoke-virtual {p1}, Landroid/view/View;->getId()I
move-result p1
invoke-virtual {p0, p1}, Landroidx/constraintlayout/helper/widget/CircularFlow;->indexFromId(I)I
move-result p1
.line 304
invoke-virtual {p0}, Landroidx/constraintlayout/helper/widget/CircularFlow;->getAngles()[F
move-result-object v0
array-length v0, v0
if-le v0, p1, :cond_38
.line 305
invoke-virtual {p0}, Landroidx/constraintlayout/helper/widget/CircularFlow;->getAngles()[F
move-result-object v0
iput-object v0, p0, Landroidx/constraintlayout/helper/widget/CircularFlow;->mAngles:[F
.line 306
aput p3, v0, p1
.line 308
:cond_38
invoke-virtual {p0}, Landroidx/constraintlayout/helper/widget/CircularFlow;->getRadius()[I
move-result-object p3
array-length p3, p3
if-le p3, p1, :cond_57
.line 309
invoke-virtual {p0}, Landroidx/constraintlayout/helper/widget/CircularFlow;->getRadius()[I
move-result-object p3
iput-object p3, p0, Landroidx/constraintlayout/helper/widget/CircularFlow;->mRadius:[I
int-to-float p2, p2
.line 310
iget-object v0, p0, Landroidx/constraintlayout/helper/widget/CircularFlow;->myContext:Landroid/content/Context;
invoke-virtual {v0}, Landroid/content/Context;->getResources()Landroid/content/res/Resources;
move-result-object v0
invoke-virtual {v0}, Landroid/content/res/Resources;->getDisplayMetrics()Landroid/util/DisplayMetrics;
move-result-object v0
iget v0, v0, Landroid/util/DisplayMetrics;->density:F
mul-float p2, p2, v0
float-to-int p2, p2
aput p2, p3, p1
.line 312
:cond_57
invoke-direct {p0}, Landroidx/constraintlayout/helper/widget/CircularFlow;->anchorReferences()V
return-void
.end method