tmap/smali_classes3/com/google/android/material/bottomappbar/BottomAppBarTopEdgeTreatment.smali
2022-06-10 21:38:30 +09:00

372 lines
8.1 KiB
Smali

.class public Lcom/google/android/material/bottomappbar/BottomAppBarTopEdgeTreatment;
.super Lcom/google/android/material/shape/EdgeTreatment;
.source "BottomAppBarTopEdgeTreatment.java"
# interfaces
.implements Ljava/lang/Cloneable;
# static fields
.field private static final ANGLE_LEFT:I = 0xb4
.field private static final ANGLE_UP:I = 0x10e
.field private static final ARC_HALF:I = 0xb4
.field private static final ARC_QUARTER:I = 0x5a
# instance fields
.field private cradleVerticalOffset:F
.field private fabDiameter:F
.field private fabMargin:F
.field private horizontalOffset:F
.field private roundedCornerRadius:F
# direct methods
.method public constructor <init>(FFF)V
.locals 0
.line 1
invoke-direct {p0}, Lcom/google/android/material/shape/EdgeTreatment;-><init>()V
.line 2
iput p1, p0, Lcom/google/android/material/bottomappbar/BottomAppBarTopEdgeTreatment;->fabMargin:F
.line 3
iput p2, p0, Lcom/google/android/material/bottomappbar/BottomAppBarTopEdgeTreatment;->roundedCornerRadius:F
.line 4
invoke-virtual {p0, p3}, Lcom/google/android/material/bottomappbar/BottomAppBarTopEdgeTreatment;->setCradleVerticalOffset(F)V
const/4 p1, 0x0
.line 5
iput p1, p0, Lcom/google/android/material/bottomappbar/BottomAppBarTopEdgeTreatment;->horizontalOffset:F
return-void
.end method
# virtual methods
.method public getCradleVerticalOffset()F
.locals 1
.line 1
iget v0, p0, Lcom/google/android/material/bottomappbar/BottomAppBarTopEdgeTreatment;->cradleVerticalOffset:F
return v0
.end method
.method public getEdgePath(FFFLcom/google/android/material/shape/ShapePath;)V
.locals 20
.param p4 # Lcom/google/android/material/shape/ShapePath;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
move-object/from16 v0, p0
move/from16 v1, p1
move/from16 v2, p3
move-object/from16 v9, p4
.line 1
iget v3, v0, Lcom/google/android/material/bottomappbar/BottomAppBarTopEdgeTreatment;->fabDiameter:F
const/4 v10, 0x0
cmpl-float v4, v3, v10
if-nez v4, :cond_0
.line 2
invoke-virtual {v9, v1, v10}, Lcom/google/android/material/shape/ShapePath;->lineTo(FF)V
return-void
.line 3
:cond_0
iget v4, v0, Lcom/google/android/material/bottomappbar/BottomAppBarTopEdgeTreatment;->fabMargin:F
const/high16 v11, 0x40000000 # 2.0f
mul-float/2addr v4, v11
add-float/2addr v4, v3
div-float v12, v4, v11
.line 4
iget v3, v0, Lcom/google/android/material/bottomappbar/BottomAppBarTopEdgeTreatment;->roundedCornerRadius:F
mul-float v13, v2, v3
.line 5
iget v3, v0, Lcom/google/android/material/bottomappbar/BottomAppBarTopEdgeTreatment;->horizontalOffset:F
add-float v14, p2, v3
.line 6
iget v3, v0, Lcom/google/android/material/bottomappbar/BottomAppBarTopEdgeTreatment;->cradleVerticalOffset:F
mul-float/2addr v3, v2
const/high16 v4, 0x3f800000 # 1.0f
invoke-static {v4, v2, v12, v3}, Landroidx/appcompat/graphics/drawable/d;->a(FFFF)F
move-result v15
div-float v2, v15, v12
cmpl-float v2, v2, v4
if-ltz v2, :cond_1
.line 7
invoke-virtual {v9, v1, v10}, Lcom/google/android/material/shape/ShapePath;->lineTo(FF)V
return-void
:cond_1
add-float v2, v12, v13
mul-float/2addr v2, v2
add-float v3, v15, v13
mul-float v4, v3, v3
sub-float/2addr v2, v4
float-to-double v4, v2
.line 8
invoke-static {v4, v5}, Ljava/lang/Math;->sqrt(D)D
move-result-wide v4
double-to-float v2, v4
sub-float v4, v14, v2
add-float v16, v14, v2
div-float/2addr v2, v3
float-to-double v2, v2
.line 9
invoke-static {v2, v3}, Ljava/lang/Math;->atan(D)D
move-result-wide v2
invoke-static {v2, v3}, Ljava/lang/Math;->toDegrees(D)D
move-result-wide v2
double-to-float v8, v2
const/high16 v2, 0x42b40000 # 90.0f
sub-float v17, v2, v8
.line 10
invoke-virtual {v9, v4, v10}, Lcom/google/android/material/shape/ShapePath;->lineTo(FF)V
sub-float v3, v4, v13
const/4 v5, 0x0
add-float v6, v4, v13
mul-float v18, v13, v11
const/high16 v7, 0x43870000 # 270.0f
move-object/from16 v2, p4
move v4, v5
move v5, v6
move/from16 v6, v18
move/from16 v19, v8
.line 11
invoke-virtual/range {v2 .. v8}, Lcom/google/android/material/shape/ShapePath;->addArc(FFFFFF)V
sub-float v3, v14, v12
neg-float v2, v12
sub-float v4, v2, v15
add-float v5, v14, v12
sub-float v6, v12, v15
const/high16 v2, 0x43340000 # 180.0f
sub-float v7, v2, v17
mul-float v17, v17, v11
sub-float v8, v17, v2
move-object/from16 v2, p4
.line 12
invoke-virtual/range {v2 .. v8}, Lcom/google/android/material/shape/ShapePath;->addArc(FFFFFF)V
sub-float v3, v16, v13
const/4 v4, 0x0
add-float v5, v16, v13
const/high16 v2, 0x43870000 # 270.0f
sub-float v7, v2, v19
move-object/from16 v2, p4
move/from16 v6, v18
move/from16 v8, v19
.line 13
invoke-virtual/range {v2 .. v8}, Lcom/google/android/material/shape/ShapePath;->addArc(FFFFFF)V
.line 14
invoke-virtual {v9, v1, v10}, Lcom/google/android/material/shape/ShapePath;->lineTo(FF)V
return-void
.end method
.method public getFabCradleMargin()F
.locals 1
.line 1
iget v0, p0, Lcom/google/android/material/bottomappbar/BottomAppBarTopEdgeTreatment;->fabMargin:F
return v0
.end method
.method public getFabCradleRoundedCornerRadius()F
.locals 1
.line 1
iget v0, p0, Lcom/google/android/material/bottomappbar/BottomAppBarTopEdgeTreatment;->roundedCornerRadius:F
return v0
.end method
.method public getFabDiameter()F
.locals 1
.annotation build Landroidx/annotation/RestrictTo;
value = {
.enum Landroidx/annotation/RestrictTo$Scope;->LIBRARY_GROUP:Landroidx/annotation/RestrictTo$Scope;
}
.end annotation
.line 1
iget v0, p0, Lcom/google/android/material/bottomappbar/BottomAppBarTopEdgeTreatment;->fabDiameter:F
return v0
.end method
.method public getHorizontalOffset()F
.locals 1
.annotation build Landroidx/annotation/RestrictTo;
value = {
.enum Landroidx/annotation/RestrictTo$Scope;->LIBRARY_GROUP:Landroidx/annotation/RestrictTo$Scope;
}
.end annotation
.line 1
iget v0, p0, Lcom/google/android/material/bottomappbar/BottomAppBarTopEdgeTreatment;->horizontalOffset:F
return v0
.end method
.method public setCradleVerticalOffset(F)V
.locals 1
.param p1 # F
.annotation build Landroidx/annotation/FloatRange;
from = 0.0
.end annotation
.end param
const/4 v0, 0x0
cmpg-float v0, p1, v0
if-ltz v0, :cond_0
.line 1
iput p1, p0, Lcom/google/android/material/bottomappbar/BottomAppBarTopEdgeTreatment;->cradleVerticalOffset:F
return-void
.line 2
:cond_0
new-instance p1, Ljava/lang/IllegalArgumentException;
const-string v0, "cradleVerticalOffset must be positive."
invoke-direct {p1, v0}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
throw p1
.end method
.method public setFabCradleMargin(F)V
.locals 0
.line 1
iput p1, p0, Lcom/google/android/material/bottomappbar/BottomAppBarTopEdgeTreatment;->fabMargin:F
return-void
.end method
.method public setFabCradleRoundedCornerRadius(F)V
.locals 0
.line 1
iput p1, p0, Lcom/google/android/material/bottomappbar/BottomAppBarTopEdgeTreatment;->roundedCornerRadius:F
return-void
.end method
.method public setFabDiameter(F)V
.locals 0
.annotation build Landroidx/annotation/RestrictTo;
value = {
.enum Landroidx/annotation/RestrictTo$Scope;->LIBRARY_GROUP:Landroidx/annotation/RestrictTo$Scope;
}
.end annotation
.line 1
iput p1, p0, Lcom/google/android/material/bottomappbar/BottomAppBarTopEdgeTreatment;->fabDiameter:F
return-void
.end method
.method public setHorizontalOffset(F)V
.locals 0
.line 1
iput p1, p0, Lcom/google/android/material/bottomappbar/BottomAppBarTopEdgeTreatment;->horizontalOffset:F
return-void
.end method