CropView.smali

.class public Lim/tpelyyftgw/ui/components/crop/CropView;
.super Landroid/widget/FrameLayout;
.source "CropView.java"

# interfaces
.implements Lim/tpelyyftgw/ui/components/crop/CropAreaView$AreaViewListener;
.implements Lim/tpelyyftgw/ui/components/crop/CropGestureDetector$CropGestureListener;


# annotations
.annotation system Ldalvik/annotation/MemberClasses;
    value = {
        Lim/tpelyyftgw/ui/components/crop/CropView$CropRectangle;,
        Lim/tpelyyftgw/ui/components/crop/CropView$CropViewListener;,
        Lim/tpelyyftgw/ui/components/crop/CropView$CropState;
    }
.end annotation


# static fields
.field private static final EPSILON:F = 1.0E-5f

.field private static final MAX_SCALE:F = 30.0f

.field private static final RESULT_SIDE:I


# instance fields
.field private animating:Z

.field private areaView:Lim/tpelyyftgw/ui/components/crop/CropAreaView;

.field private backView:Landroid/view/View;

.field private bitmap:Landroid/graphics/Bitmap;

.field private bottomPadding:F

.field private detector:Lim/tpelyyftgw/ui/components/crop/CropGestureDetector;

.field private freeform:Z

.field private hasAspectRatioDialog:Z

.field private imageView:Landroid/widget/ImageView;

.field private initialAreaRect:Landroid/graphics/RectF;

.field private listener:Lim/tpelyyftgw/ui/components/crop/CropView$CropViewListener;

.field private presentationMatrix:Landroid/graphics/Matrix;

.field private previousAreaRect:Landroid/graphics/RectF;

.field private rotationStartScale:F

.field private state:Lim/tpelyyftgw/ui/components/crop/CropView$CropState;

.field private tempMatrix:Landroid/graphics/Matrix;

.field private tempRect:Lim/tpelyyftgw/ui/components/crop/CropView$CropRectangle;


# direct methods
.method static constructor <clinit>()V
    .registers 1

    const v0, 0x106f

    invoke-static {v0}, Lnp/NPFog;->d(I)I

    move-result v0

    sput v0, Lim/tpelyyftgw/ui/components/crop/CropView;->RESULT_SIDE:I

    return-void
.end method

.method public constructor <init>(Landroid/content/Context;)V
    .registers 4
    .param p1, "context"    # Landroid/content/Context;

    .line 205
    invoke-direct {p0, p1}, Landroid/widget/FrameLayout;-><init>(Landroid/content/Context;)V

    .line 207
    new-instance v0, Landroid/graphics/RectF;

    invoke-direct {v0}, Landroid/graphics/RectF;-><init>()V

    iput-object v0, p0, Lim/tpelyyftgw/ui/components/crop/CropView;->previousAreaRect:Landroid/graphics/RectF;

    .line 208
    new-instance v0, Landroid/graphics/RectF;

    invoke-direct {v0}, Landroid/graphics/RectF;-><init>()V

    iput-object v0, p0, Lim/tpelyyftgw/ui/components/crop/CropView;->initialAreaRect:Landroid/graphics/RectF;

    .line 209
    new-instance v0, Landroid/graphics/Matrix;

    invoke-direct {v0}, Landroid/graphics/Matrix;-><init>()V

    iput-object v0, p0, Lim/tpelyyftgw/ui/components/crop/CropView;->presentationMatrix:Landroid/graphics/Matrix;

    .line 210
    new-instance v0, Lim/tpelyyftgw/ui/components/crop/CropView$CropRectangle;

    invoke-direct {v0, p0}, Lim/tpelyyftgw/ui/components/crop/CropView$CropRectangle;-><init>(Lim/tpelyyftgw/ui/components/crop/CropView;)V

    iput-object v0, p0, Lim/tpelyyftgw/ui/components/crop/CropView;->tempRect:Lim/tpelyyftgw/ui/components/crop/CropView$CropRectangle;

    .line 211
    new-instance v0, Landroid/graphics/Matrix;

    invoke-direct {v0}, Landroid/graphics/Matrix;-><init>()V

    iput-object v0, p0, Lim/tpelyyftgw/ui/components/crop/CropView;->tempMatrix:Landroid/graphics/Matrix;

    .line 212
    const/4 v0, 0x0

    iput-boolean v0, p0, Lim/tpelyyftgw/ui/components/crop/CropView;->animating:Z

    .line 214
    new-instance v0, Landroid/view/View;

    invoke-direct {v0, p1}, Landroid/view/View;-><init>(Landroid/content/Context;)V

    iput-object v0, p0, Lim/tpelyyftgw/ui/components/crop/CropView;->backView:Landroid/view/View;

    .line 215
    const/high16 v1, -0x1000000

    invoke-virtual {v0, v1}, Landroid/view/View;->setBackgroundColor(I)V

    .line 216
    iget-object v0, p0, Lim/tpelyyftgw/ui/components/crop/CropView;->backView:Landroid/view/View;

    const/4 v1, 0x4

    invoke-virtual {v0, v1}, Landroid/view/View;->setVisibility(I)V

    .line 217
    iget-object v0, p0, Lim/tpelyyftgw/ui/components/crop/CropView;->backView:Landroid/view/View;

    invoke-virtual {p0, v0}, Lim/tpelyyftgw/ui/components/crop/CropView;->addView(Landroid/view/View;)V

    .line 219
    new-instance v0, Landroid/widget/ImageView;

    invoke-direct {v0, p1}, Landroid/widget/ImageView;-><init>(Landroid/content/Context;)V

    iput-object v0, p0, Lim/tpelyyftgw/ui/components/crop/CropView;->imageView:Landroid/widget/ImageView;

    .line 220
    const/4 v1, 0x1

    invoke-virtual {v0, v1}, Landroid/widget/ImageView;->setDrawingCacheEnabled(Z)V

    .line 221
    iget-object v0, p0, Lim/tpelyyftgw/ui/components/crop/CropView;->imageView:Landroid/widget/ImageView;

    sget-object v1, Landroid/widget/ImageView$ScaleType;->MATRIX:Landroid/widget/ImageView$ScaleType;

    invoke-virtual {v0, v1}, Landroid/widget/ImageView;->setScaleType(Landroid/widget/ImageView$ScaleType;)V

    .line 222
    iget-object v0, p0, Lim/tpelyyftgw/ui/components/crop/CropView;->imageView:Landroid/widget/ImageView;

    invoke-virtual {p0, v0}, Lim/tpelyyftgw/ui/components/crop/CropView;->addView(Landroid/view/View;)V

    .line 224
    new-instance v0, Lim/tpelyyftgw/ui/components/crop/CropGestureDetector;

    invoke-direct {v0, p1}, Lim/tpelyyftgw/ui/components/crop/CropGestureDetector;-><init>(Landroid/content/Context;)V

    iput-object v0, p0, Lim/tpelyyftgw/ui/components/crop/CropView;->detector:Lim/tpelyyftgw/ui/components/crop/CropGestureDetector;

    .line 225
    invoke-virtual {v0, p0}, Lim/tpelyyftgw/ui/components/crop/CropGestureDetector;->setOnGestureListener(Lim/tpelyyftgw/ui/components/crop/CropGestureDetector$CropGestureListener;)V

    .line 227
    new-instance v0, Lim/tpelyyftgw/ui/components/crop/CropAreaView;

    invoke-direct {v0, p1}, Lim/tpelyyftgw/ui/components/crop/CropAreaView;-><init>(Landroid/content/Context;)V

    iput-object v0, p0, Lim/tpelyyftgw/ui/components/crop/CropView;->areaView:Lim/tpelyyftgw/ui/components/crop/CropAreaView;

    .line 228
    invoke-virtual {v0, p0}, Lim/tpelyyftgw/ui/components/crop/CropAreaView;->setListener(Lim/tpelyyftgw/ui/components/crop/CropAreaView$AreaViewListener;)V

    .line 229
    iget-object v0, p0, Lim/tpelyyftgw/ui/components/crop/CropView;->areaView:Lim/tpelyyftgw/ui/components/crop/CropAreaView;

    invoke-virtual {p0, v0}, Lim/tpelyyftgw/ui/components/crop/CropView;->addView(Landroid/view/View;)V

    .line 230
    return-void
.end method

.method public constructor <init>(Landroid/content/Context;Z)V
    .registers 6
    .param p1, "context"    # Landroid/content/Context;
    .param p2, "isFcCrop"    # Z

    .line 233
    invoke-direct {p0, p1}, Landroid/widget/FrameLayout;-><init>(Landroid/content/Context;)V

    .line 235
    new-instance v0, Landroid/graphics/RectF;

    invoke-direct {v0}, Landroid/graphics/RectF;-><init>()V

    iput-object v0, p0, Lim/tpelyyftgw/ui/components/crop/CropView;->previousAreaRect:Landroid/graphics/RectF;

    .line 236
    new-instance v0, Landroid/graphics/RectF;

    invoke-direct {v0}, Landroid/graphics/RectF;-><init>()V

    iput-object v0, p0, Lim/tpelyyftgw/ui/components/crop/CropView;->initialAreaRect:Landroid/graphics/RectF;

    .line 237
    new-instance v0, Landroid/graphics/Matrix;

    invoke-direct {v0}, Landroid/graphics/Matrix;-><init>()V

    iput-object v0, p0, Lim/tpelyyftgw/ui/components/crop/CropView;->presentationMatrix:Landroid/graphics/Matrix;

    .line 238
    new-instance v0, Lim/tpelyyftgw/ui/components/crop/CropView$CropRectangle;

    invoke-direct {v0, p0}, Lim/tpelyyftgw/ui/components/crop/CropView$CropRectangle;-><init>(Lim/tpelyyftgw/ui/components/crop/CropView;)V

    iput-object v0, p0, Lim/tpelyyftgw/ui/components/crop/CropView;->tempRect:Lim/tpelyyftgw/ui/components/crop/CropView$CropRectangle;

    .line 239
    new-instance v0, Landroid/graphics/Matrix;

    invoke-direct {v0}, Landroid/graphics/Matrix;-><init>()V

    iput-object v0, p0, Lim/tpelyyftgw/ui/components/crop/CropView;->tempMatrix:Landroid/graphics/Matrix;

    .line 240
    const/4 v0, 0x0

    iput-boolean v0, p0, Lim/tpelyyftgw/ui/components/crop/CropView;->animating:Z

    .line 242
    new-instance v0, Landroid/view/View;

    invoke-direct {v0, p1}, Landroid/view/View;-><init>(Landroid/content/Context;)V

    iput-object v0, p0, Lim/tpelyyftgw/ui/components/crop/CropView;->backView:Landroid/view/View;

    .line 243
    const/high16 v1, -0x1000000

    invoke-virtual {v0, v1}, Landroid/view/View;->setBackgroundColor(I)V

    .line 244
    iget-object v0, p0, Lim/tpelyyftgw/ui/components/crop/CropView;->backView:Landroid/view/View;

    const/4 v1, 0x4

    invoke-virtual {v0, v1}, Landroid/view/View;->setVisibility(I)V

    .line 245
    iget-object v0, p0, Lim/tpelyyftgw/ui/components/crop/CropView;->backView:Landroid/view/View;

    invoke-virtual {p0, v0}, Lim/tpelyyftgw/ui/components/crop/CropView;->addView(Landroid/view/View;)V

    .line 247
    new-instance v0, Landroid/widget/ImageView;

    invoke-direct {v0, p1}, Landroid/widget/ImageView;-><init>(Landroid/content/Context;)V

    iput-object v0, p0, Lim/tpelyyftgw/ui/components/crop/CropView;->imageView:Landroid/widget/ImageView;

    .line 248
    const/4 v1, 0x1

    invoke-virtual {v0, v1}, Landroid/widget/ImageView;->setDrawingCacheEnabled(Z)V

    .line 249
    iget-object v0, p0, Lim/tpelyyftgw/ui/components/crop/CropView;->imageView:Landroid/widget/ImageView;

    sget-object v2, Landroid/widget/ImageView$ScaleType;->MATRIX:Landroid/widget/ImageView$ScaleType;

    invoke-virtual {v0, v2}, Landroid/widget/ImageView;->setScaleType(Landroid/widget/ImageView$ScaleType;)V

    .line 250
    iget-object v0, p0, Lim/tpelyyftgw/ui/components/crop/CropView;->imageView:Landroid/widget/ImageView;

    invoke-virtual {p0, v0}, Lim/tpelyyftgw/ui/components/crop/CropView;->addView(Landroid/view/View;)V

    .line 252
    new-instance v0, Lim/tpelyyftgw/ui/components/crop/CropGestureDetector;

    invoke-direct {v0, p1}, Lim/tpelyyftgw/ui/components/crop/CropGestureDetector;-><init>(Landroid/content/Context;)V

    iput-object v0, p0, Lim/tpelyyftgw/ui/components/crop/CropView;->detector:Lim/tpelyyftgw/ui/components/crop/CropGestureDetector;

    .line 253
    invoke-virtual {v0, p0}, Lim/tpelyyftgw/ui/components/crop/CropGestureDetector;->setOnGestureListener(Lim/tpelyyftgw/ui/components/crop/CropGestureDetector$CropGestureListener;)V

    .line 255
    if-eqz p2, :cond_6b

    .line 256
    new-instance v0, Lim/tpelyyftgw/ui/components/crop/CropAreaView;

    invoke-direct {v0, p1, v1}, Lim/tpelyyftgw/ui/components/crop/CropAreaView;-><init>(Landroid/content/Context;Z)V

    iput-object v0, p0, Lim/tpelyyftgw/ui/components/crop/CropView;->areaView:Lim/tpelyyftgw/ui/components/crop/CropAreaView;

    goto :goto_72

    .line 258
    :cond_6b
    new-instance v0, Lim/tpelyyftgw/ui/components/crop/CropAreaView;

    invoke-direct {v0, p1}, Lim/tpelyyftgw/ui/components/crop/CropAreaView;-><init>(Landroid/content/Context;)V

    iput-object v0, p0, Lim/tpelyyftgw/ui/components/crop/CropView;->areaView:Lim/tpelyyftgw/ui/components/crop/CropAreaView;

    .line 260
    :goto_72
    iget-object v0, p0, Lim/tpelyyftgw/ui/components/crop/CropView;->areaView:Lim/tpelyyftgw/ui/components/crop/CropAreaView;

    invoke-virtual {v0, p0}, Lim/tpelyyftgw/ui/components/crop/CropAreaView;->setListener(Lim/tpelyyftgw/ui/components/crop/CropAreaView$AreaViewListener;)V

    .line 261
    iget-object v0, p0, Lim/tpelyyftgw/ui/components/crop/CropView;->areaView:Lim/tpelyyftgw/ui/components/crop/CropAreaView;

    invoke-virtual {p0, v0}, Lim/tpelyyftgw/ui/components/crop/CropView;->addView(Landroid/view/View;)V

    .line 262
    return-void
.end method

.method static synthetic access$000(Lim/tpelyyftgw/ui/components/crop/CropView;)Z
    .registers 2
    .param p0, "x0"    # Lim/tpelyyftgw/ui/components/crop/CropView;

    .line 27
    iget-boolean v0, p0, Lim/tpelyyftgw/ui/components/crop/CropView;->freeform:Z

    return v0
.end method

.method static synthetic access$100(Lim/tpelyyftgw/ui/components/crop/CropView;)Lim/tpelyyftgw/ui/components/crop/CropAreaView;
    .registers 2
    .param p0, "x0"    # Lim/tpelyyftgw/ui/components/crop/CropView;

    .line 27
    iget-object v0, p0, Lim/tpelyyftgw/ui/components/crop/CropView;->areaView:Lim/tpelyyftgw/ui/components/crop/CropAreaView;

    return-object v0
.end method

.method static synthetic access$1400(Lim/tpelyyftgw/ui/components/crop/CropView;ZZZ)V
    .registers 4
    .param p0, "x0"    # Lim/tpelyyftgw/ui/components/crop/CropView;
    .param p1, "x1"    # Z
    .param p2, "x2"    # Z
    .param p3, "x3"    # Z

    .line 27
    invoke-direct {p0, p1, p2, p3}, Lim/tpelyyftgw/ui/components/crop/CropView;->fitContentInBounds(ZZZ)V

    return-void
.end method

.method static synthetic access$1902(Lim/tpelyyftgw/ui/components/crop/CropView;Z)Z
    .registers 2
    .param p0, "x0"    # Lim/tpelyyftgw/ui/components/crop/CropView;
    .param p1, "x1"    # Z

    .line 27
    iput-boolean p1, p0, Lim/tpelyyftgw/ui/components/crop/CropView;->animating:Z

    return p1
.end method

.method static synthetic access$2000(Lim/tpelyyftgw/ui/components/crop/CropView;ZZZZ)V
    .registers 5
    .param p0, "x0"    # Lim/tpelyyftgw/ui/components/crop/CropView;
    .param p1, "x1"    # Z
    .param p2, "x2"    # Z
    .param p3, "x3"    # Z
    .param p4, "x4"    # Z

    .line 27
    invoke-direct {p0, p1, p2, p3, p4}, Lim/tpelyyftgw/ui/components/crop/CropView;->fitContentInBounds(ZZZZ)V

    return-void
.end method

.method static synthetic access$300(Lim/tpelyyftgw/ui/components/crop/CropView;)Landroid/widget/ImageView;
    .registers 2
    .param p0, "x0"    # Lim/tpelyyftgw/ui/components/crop/CropView;

    .line 27
    iget-object v0, p0, Lim/tpelyyftgw/ui/components/crop/CropView;->imageView:Landroid/widget/ImageView;

    return-object v0
.end method

.method private fillAreaView(Landroid/graphics/RectF;Z)V
    .registers 20
    .param p1, "targetRect"    # Landroid/graphics/RectF;
    .param p2, "allowZoomOut"    # Z

    .line 369
    move-object/from16 v6, p0

    move-object/from16 v7, p1

    const/4 v8, 0x1

    new-array v3, v8, [F

    const/high16 v0, 0x3f800000    # 1.0f

    const/4 v1, 0x0

    aput v0, v3, v1

    .line 370
    .local v3, "currentScale":[F
    invoke-virtual/range {p1 .. p1}, Landroid/graphics/RectF;->width()F

    move-result v0

    iget-object v2, v6, Lim/tpelyyftgw/ui/components/crop/CropView;->areaView:Lim/tpelyyftgw/ui/components/crop/CropAreaView;

    invoke-virtual {v2}, Lim/tpelyyftgw/ui/components/crop/CropAreaView;->getCropWidth()F

    move-result v2

    div-float/2addr v0, v2

    .line 371
    invoke-virtual/range {p1 .. p1}, Landroid/graphics/RectF;->height()F

    move-result v2

    iget-object v4, v6, Lim/tpelyyftgw/ui/components/crop/CropView;->areaView:Lim/tpelyyftgw/ui/components/crop/CropAreaView;

    invoke-virtual {v4}, Lim/tpelyyftgw/ui/components/crop/CropAreaView;->getCropHeight()F

    move-result v4

    div-float/2addr v2, v4

    .line 370
    invoke-static {v0, v2}, Ljava/lang/Math;->max(FF)F

    move-result v0

    .line 373
    .local v0, "scale":F
    iget-object v2, v6, Lim/tpelyyftgw/ui/components/crop/CropView;->state:Lim/tpelyyftgw/ui/components/crop/CropView$CropState;

    invoke-static {v2}, Lim/tpelyyftgw/ui/components/crop/CropView$CropState;->access$1100(Lim/tpelyyftgw/ui/components/crop/CropView$CropState;)F

    move-result v2

    mul-float v9, v2, v0

    .line 374
    .local v9, "newScale":F
    const/4 v2, 0x0

    .line 375
    .local v2, "ensureFit":Z
    const/high16 v4, 0x41f00000    # 30.0f

    cmpl-float v5, v9, v4

    if-lez v5, :cond_41

    .line 376
    iget-object v5, v6, Lim/tpelyyftgw/ui/components/crop/CropView;->state:Lim/tpelyyftgw/ui/components/crop/CropView$CropState;

    invoke-static {v5}, Lim/tpelyyftgw/ui/components/crop/CropView$CropState;->access$1100(Lim/tpelyyftgw/ui/components/crop/CropView$CropState;)F

    move-result v5

    div-float v0, v4, v5

    .line 377
    const/4 v2, 0x1

    move v10, v0

    move v11, v2

    goto :goto_43

    .line 375
    :cond_41
    move v10, v0

    move v11, v2

    .line 379
    .end local v0    # "scale":F
    .end local v2    # "ensureFit":Z
    .local v10, "scale":F
    .local v11, "ensureFit":Z
    :goto_43
    sget v0, Landroid/os/Build$VERSION;->SDK_INT:I

    const/16 v2, 0x15

    if-lt v0, v2, :cond_4b

    sget v1, Lim/tpelyyftgw/messenger/AndroidUtilities;->statusBarHeight:I

    :cond_4b
    int-to-float v12, v1

    .line 381
    .local v12, "statusBarHeight":F
    invoke-virtual/range {p1 .. p1}, Landroid/graphics/RectF;->centerX()F

    move-result v0

    iget-object v1, v6, Lim/tpelyyftgw/ui/components/crop/CropView;->imageView:Landroid/widget/ImageView;

    invoke-virtual {v1}, Landroid/widget/ImageView;->getWidth()I

    move-result v1

    const/4 v4, 0x2

    div-int/2addr v1, v4

    int-to-float v1, v1

    sub-float/2addr v0, v1

    iget-object v1, v6, Lim/tpelyyftgw/ui/components/crop/CropView;->areaView:Lim/tpelyyftgw/ui/components/crop/CropAreaView;

    invoke-virtual {v1}, Lim/tpelyyftgw/ui/components/crop/CropAreaView;->getCropWidth()F

    move-result v1

    div-float/2addr v0, v1

    iget-object v1, v6, Lim/tpelyyftgw/ui/components/crop/CropView;->state:Lim/tpelyyftgw/ui/components/crop/CropView$CropState;

    invoke-static {v1}, Lim/tpelyyftgw/ui/components/crop/CropView$CropState;->access$1200(Lim/tpelyyftgw/ui/components/crop/CropView$CropState;)F

    move-result v1

    mul-float v13, v0, v1

    .line 382
    .local v13, "x":F
    invoke-virtual/range {p1 .. p1}, Landroid/graphics/RectF;->centerY()F

    move-result v0

    iget-object v1, v6, Lim/tpelyyftgw/ui/components/crop/CropView;->imageView:Landroid/widget/ImageView;

    invoke-virtual {v1}, Landroid/widget/ImageView;->getHeight()I

    move-result v1

    int-to-float v1, v1

    iget v2, v6, Lim/tpelyyftgw/ui/components/crop/CropView;->bottomPadding:F

    sub-float/2addr v1, v2

    add-float/2addr v1, v12

    const/high16 v2, 0x40000000    # 2.0f

    div-float/2addr v1, v2

    sub-float/2addr v0, v1

    iget-object v1, v6, Lim/tpelyyftgw/ui/components/crop/CropView;->areaView:Lim/tpelyyftgw/ui/components/crop/CropAreaView;

    invoke-virtual {v1}, Lim/tpelyyftgw/ui/components/crop/CropAreaView;->getCropHeight()F

    move-result v1

    div-float/2addr v0, v1

    iget-object v1, v6, Lim/tpelyyftgw/ui/components/crop/CropView;->state:Lim/tpelyyftgw/ui/components/crop/CropView$CropState;

    invoke-static {v1}, Lim/tpelyyftgw/ui/components/crop/CropView$CropState;->access$1300(Lim/tpelyyftgw/ui/components/crop/CropView$CropState;)F

    move-result v1

    mul-float v14, v0, v1

    .line 383
    .local v14, "y":F
    move v2, v10

    .line 385
    .local v2, "targetScale":F
    move v15, v11

    .line 387
    .local v15, "animEnsureFit":Z
    new-array v0, v4, [F

    fill-array-data v0, :array_bc

    invoke-static {v0}, Landroid/animation/ValueAnimator;->ofFloat([F)Landroid/animation/ValueAnimator;

    move-result-object v5

    .line 388
    .local v5, "animator":Landroid/animation/ValueAnimator;
    new-instance v4, Lim/tpelyyftgw/ui/components/crop/-$$Lambda$CropView$a7pz8m0Ik0BRUHI0ctrheX-Llus;

    move-object v0, v4

    move-object/from16 v1, p0

    move-object v8, v4

    move v4, v13

    move/from16 v16, v9

    move-object v9, v5

    .end local v5    # "animator":Landroid/animation/ValueAnimator;
    .local v9, "animator":Landroid/animation/ValueAnimator;
    .local v16, "newScale":F
    move v5, v14

    invoke-direct/range {v0 .. v5}, Lim/tpelyyftgw/ui/components/crop/-$$Lambda$CropView$a7pz8m0Ik0BRUHI0ctrheX-Llus;-><init>(Lim/tpelyyftgw/ui/components/crop/CropView;F[FFF)V

    invoke-virtual {v9, v8}, Landroid/animation/ValueAnimator;->addUpdateListener(Landroid/animation/ValueAnimator$AnimatorUpdateListener;)V

    .line 395
    new-instance v0, Lim/tpelyyftgw/ui/components/crop/CropView$2;

    invoke-direct {v0, v6, v15}, Lim/tpelyyftgw/ui/components/crop/CropView$2;-><init>(Lim/tpelyyftgw/ui/components/crop/CropView;Z)V

    invoke-virtual {v9, v0}, Landroid/animation/ValueAnimator;->addListener(Landroid/animation/Animator$AnimatorListener;)V

    .line 402
    iget-object v0, v6, Lim/tpelyyftgw/ui/components/crop/CropView;->areaView:Lim/tpelyyftgw/ui/components/crop/CropAreaView;

    const/4 v1, 0x1

    invoke-virtual {v0, v7, v9, v1}, Lim/tpelyyftgw/ui/components/crop/CropAreaView;->fill(Landroid/graphics/RectF;Landroid/animation/Animator;Z)V

    .line 403
    iget-object v0, v6, Lim/tpelyyftgw/ui/components/crop/CropView;->initialAreaRect:Landroid/graphics/RectF;

    invoke-virtual {v0, v7}, Landroid/graphics/RectF;->set(Landroid/graphics/RectF;)V

    .line 404
    return-void

    nop

    :array_bc
    .array-data 4
        0x0
        0x3f800000    # 1.0f
    .end array-data
.end method

.method private fitContentInBounds(ZZZ)V
    .registers 5
    .param p1, "allowScale"    # Z
    .param p2, "maximize"    # Z
    .param p3, "animated"    # Z

    .line 497
    const/4 v0, 0x0

    invoke-direct {p0, p1, p2, p3, v0}, Lim/tpelyyftgw/ui/components/crop/CropView;->fitContentInBounds(ZZZZ)V

    .line 498
    return-void
.end method

.method private fitContentInBounds(ZZZZ)V
    .registers 34
    .param p1, "allowScale"    # Z
    .param p2, "maximize"    # Z
    .param p3, "animated"    # Z
    .param p4, "fast"    # Z

    .line 501
    move-object/from16 v11, p0

    iget-object v0, v11, Lim/tpelyyftgw/ui/components/crop/CropView;->state:Lim/tpelyyftgw/ui/components/crop/CropView$CropState;

    if-nez v0, :cond_7

    .line 502
    return-void

    .line 504
    :cond_7
    iget-object v0, v11, Lim/tpelyyftgw/ui/components/crop/CropView;->areaView:Lim/tpelyyftgw/ui/components/crop/CropAreaView;

    invoke-virtual {v0}, Lim/tpelyyftgw/ui/components/crop/CropAreaView;->getCropWidth()F

    move-result v12

    .line 505
    .local v12, "boundsW":F
    iget-object v0, v11, Lim/tpelyyftgw/ui/components/crop/CropView;->areaView:Lim/tpelyyftgw/ui/components/crop/CropAreaView;

    invoke-virtual {v0}, Lim/tpelyyftgw/ui/components/crop/CropAreaView;->getCropHeight()F

    move-result v13

    .line 506
    .local v13, "boundsH":F
    iget-object v0, v11, Lim/tpelyyftgw/ui/components/crop/CropView;->state:Lim/tpelyyftgw/ui/components/crop/CropView$CropState;

    invoke-static {v0}, Lim/tpelyyftgw/ui/components/crop/CropView$CropState;->access$1200(Lim/tpelyyftgw/ui/components/crop/CropView$CropState;)F

    move-result v14

    .line 507
    .local v14, "contentW":F
    iget-object v0, v11, Lim/tpelyyftgw/ui/components/crop/CropView;->state:Lim/tpelyyftgw/ui/components/crop/CropView$CropState;

    invoke-static {v0}, Lim/tpelyyftgw/ui/components/crop/CropView$CropState;->access$1300(Lim/tpelyyftgw/ui/components/crop/CropView$CropState;)F

    move-result v15

    .line 508
    .local v15, "contentH":F
    iget-object v0, v11, Lim/tpelyyftgw/ui/components/crop/CropView;->state:Lim/tpelyyftgw/ui/components/crop/CropView$CropState;

    invoke-static {v0}, Lim/tpelyyftgw/ui/components/crop/CropView$CropState;->access$1500(Lim/tpelyyftgw/ui/components/crop/CropView$CropState;)F

    move-result v10

    .line 509
    .local v10, "rotation":F
    float-to-double v0, v10

    invoke-static {v0, v1}, Ljava/lang/Math;->toRadians(D)D

    move-result-wide v0

    double-to-float v9, v0

    .line 511
    .local v9, "radians":F
    invoke-virtual {v11, v12, v13, v10}, Lim/tpelyyftgw/ui/components/crop/CropView;->calculateBoundingBox(FFF)Landroid/graphics/RectF;

    move-result-object v8

    .line 512
    .local v8, "boundsRect":Landroid/graphics/RectF;
    new-instance v0, Landroid/graphics/RectF;

    const/4 v1, 0x0

    invoke-direct {v0, v1, v1, v14, v15}, Landroid/graphics/RectF;-><init>(FFFF)V

    move-object v7, v0

    .line 514
    .local v7, "contentRect":Landroid/graphics/RectF;
    sub-float v0, v12, v14

    const/high16 v2, 0x40000000    # 2.0f

    div-float v16, v0, v2

    .line 515
    .local v16, "initialX":F
    sub-float v0, v13, v15

    div-float v17, v0, v2

    .line 517
    .local v17, "initialY":F
    iget-object v0, v11, Lim/tpelyyftgw/ui/components/crop/CropView;->state:Lim/tpelyyftgw/ui/components/crop/CropView$CropState;

    invoke-static {v0}, Lim/tpelyyftgw/ui/components/crop/CropView$CropState;->access$1100(Lim/tpelyyftgw/ui/components/crop/CropView$CropState;)F

    move-result v6

    .line 519
    .local v6, "scale":F
    iget-object v0, v11, Lim/tpelyyftgw/ui/components/crop/CropView;->tempRect:Lim/tpelyyftgw/ui/components/crop/CropView$CropRectangle;

    invoke-virtual {v0, v7}, Lim/tpelyyftgw/ui/components/crop/CropView$CropRectangle;->setRect(Landroid/graphics/RectF;)V

    .line 521
    iget-object v0, v11, Lim/tpelyyftgw/ui/components/crop/CropView;->state:Lim/tpelyyftgw/ui/components/crop/CropView$CropState;

    invoke-static {v0}, Lim/tpelyyftgw/ui/components/crop/CropView$CropState;->access$1600(Lim/tpelyyftgw/ui/components/crop/CropView$CropState;)Landroid/graphics/Matrix;

    move-result-object v5

    .line 522
    .local v5, "matrix":Landroid/graphics/Matrix;
    div-float v0, v16, v6

    div-float v3, v17, v6

    invoke-virtual {v5, v0, v3}, Landroid/graphics/Matrix;->preTranslate(FF)Z

    .line 524
    iget-object v0, v11, Lim/tpelyyftgw/ui/components/crop/CropView;->tempMatrix:Landroid/graphics/Matrix;

    invoke-virtual {v0}, Landroid/graphics/Matrix;->reset()V

    .line 525
    iget-object v0, v11, Lim/tpelyyftgw/ui/components/crop/CropView;->tempMatrix:Landroid/graphics/Matrix;

    invoke-virtual {v7}, Landroid/graphics/RectF;->centerX()F

    move-result v3

    invoke-virtual {v7}, Landroid/graphics/RectF;->centerY()F

    move-result v4

    invoke-virtual {v0, v3, v4}, Landroid/graphics/Matrix;->setTranslate(FF)V

    .line 526
    iget-object v0, v11, Lim/tpelyyftgw/ui/components/crop/CropView;->tempMatrix:Landroid/graphics/Matrix;

    invoke-virtual {v0, v0, v5}, Landroid/graphics/Matrix;->setConcat(Landroid/graphics/Matrix;Landroid/graphics/Matrix;)Z

    .line 527
    iget-object v0, v11, Lim/tpelyyftgw/ui/components/crop/CropView;->tempMatrix:Landroid/graphics/Matrix;

    invoke-virtual {v7}, Landroid/graphics/RectF;->centerX()F

    move-result v3

    neg-float v3, v3

    invoke-virtual {v7}, Landroid/graphics/RectF;->centerY()F

    move-result v4

    neg-float v4, v4

    invoke-virtual {v0, v3, v4}, Landroid/graphics/Matrix;->preTranslate(FF)Z

    .line 528
    iget-object v0, v11, Lim/tpelyyftgw/ui/components/crop/CropView;->tempRect:Lim/tpelyyftgw/ui/components/crop/CropView$CropRectangle;

    iget-object v3, v11, Lim/tpelyyftgw/ui/components/crop/CropView;->tempMatrix:Landroid/graphics/Matrix;

    invoke-virtual {v0, v3}, Lim/tpelyyftgw/ui/components/crop/CropView$CropRectangle;->applyMatrix(Landroid/graphics/Matrix;)V

    .line 530
    iget-object v0, v11, Lim/tpelyyftgw/ui/components/crop/CropView;->tempMatrix:Landroid/graphics/Matrix;

    invoke-virtual {v0}, Landroid/graphics/Matrix;->reset()V

    .line 531
    iget-object v0, v11, Lim/tpelyyftgw/ui/components/crop/CropView;->tempMatrix:Landroid/graphics/Matrix;

    neg-float v3, v10

    div-float v4, v14, v2

    div-float v2, v15, v2

    invoke-virtual {v0, v3, v4, v2}, Landroid/graphics/Matrix;->preRotate(FFF)Z

    .line 532
    iget-object v0, v11, Lim/tpelyyftgw/ui/components/crop/CropView;->tempRect:Lim/tpelyyftgw/ui/components/crop/CropView$CropRectangle;

    iget-object v2, v11, Lim/tpelyyftgw/ui/components/crop/CropView;->tempMatrix:Landroid/graphics/Matrix;

    invoke-virtual {v0, v2}, Lim/tpelyyftgw/ui/components/crop/CropView$CropRectangle;->applyMatrix(Landroid/graphics/Matrix;)V

    .line 533
    iget-object v0, v11, Lim/tpelyyftgw/ui/components/crop/CropView;->tempRect:Lim/tpelyyftgw/ui/components/crop/CropView$CropRectangle;

    invoke-virtual {v0, v7}, Lim/tpelyyftgw/ui/components/crop/CropView$CropRectangle;->getRect(Landroid/graphics/RectF;)V

    .line 535
    new-instance v0, Landroid/graphics/PointF;

    iget-object v2, v11, Lim/tpelyyftgw/ui/components/crop/CropView;->state:Lim/tpelyyftgw/ui/components/crop/CropView$CropState;

    invoke-static {v2}, Lim/tpelyyftgw/ui/components/crop/CropView$CropState;->access$1700(Lim/tpelyyftgw/ui/components/crop/CropView$CropState;)F

    move-result v2

    iget-object v3, v11, Lim/tpelyyftgw/ui/components/crop/CropView;->state:Lim/tpelyyftgw/ui/components/crop/CropView$CropState;

    invoke-static {v3}, Lim/tpelyyftgw/ui/components/crop/CropView$CropState;->access$1800(Lim/tpelyyftgw/ui/components/crop/CropView$CropState;)F

    move-result v3

    invoke-direct {v0, v2, v3}, Landroid/graphics/PointF;-><init>(FF)V

    .line 536
    .local v0, "targetTranslation":Landroid/graphics/PointF;
    move v2, v6

    .line 538
    .local v2, "targetScale":F
    invoke-virtual {v7, v8}, Landroid/graphics/RectF;->contains(Landroid/graphics/RectF;)Z

    move-result v3

    if-nez v3, :cond_e5

    .line 539
    if-eqz p1, :cond_df

    invoke-virtual {v8}, Landroid/graphics/RectF;->width()F

    move-result v3

    invoke-virtual {v7}, Landroid/graphics/RectF;->width()F

    move-result v4

    cmpl-float v3, v3, v4

    if-gtz v3, :cond_d2

    invoke-virtual {v8}, Landroid/graphics/RectF;->height()F

    move-result v3

    invoke-virtual {v7}, Landroid/graphics/RectF;->height()F

    move-result v4

    cmpl-float v3, v3, v4

    if-lez v3, :cond_df

    .line 540
    :cond_d2
    invoke-virtual {v8}, Landroid/graphics/RectF;->width()F

    move-result v3

    invoke-virtual {v11, v8, v7}, Lim/tpelyyftgw/ui/components/crop/CropView;->scaleWidthToMaxSize(Landroid/graphics/RectF;Landroid/graphics/RectF;)F

    move-result v4

    div-float/2addr v3, v4

    .line 541
    .local v3, "ratio":F
    invoke-direct {v11, v7, v6, v3}, Lim/tpelyyftgw/ui/components/crop/CropView;->fitScale(Landroid/graphics/RectF;FF)F

    move-result v2

    .line 544
    .end local v3    # "ratio":F
    :cond_df
    invoke-direct {v11, v7, v8, v0, v9}, Lim/tpelyyftgw/ui/components/crop/CropView;->fitTranslation(Landroid/graphics/RectF;Landroid/graphics/RectF;Landroid/graphics/PointF;F)V

    move/from16 v19, v2

    goto :goto_112

    .line 545
    :cond_e5
    if-eqz p2, :cond_110

    iget v3, v11, Lim/tpelyyftgw/ui/components/crop/CropView;->rotationStartScale:F

    cmpl-float v3, v3, v1

    if-lez v3, :cond_110

    .line 546
    invoke-virtual {v8}, Landroid/graphics/RectF;->width()F

    move-result v3

    invoke-virtual {v11, v8, v7}, Lim/tpelyyftgw/ui/components/crop/CropView;->scaleWidthToMaxSize(Landroid/graphics/RectF;Landroid/graphics/RectF;)F

    move-result v4

    div-float/2addr v3, v4

    .line 547
    .restart local v3    # "ratio":F
    iget-object v4, v11, Lim/tpelyyftgw/ui/components/crop/CropView;->state:Lim/tpelyyftgw/ui/components/crop/CropView$CropState;

    invoke-static {v4}, Lim/tpelyyftgw/ui/components/crop/CropView$CropState;->access$1100(Lim/tpelyyftgw/ui/components/crop/CropView$CropState;)F

    move-result v4

    mul-float v4, v4, v3

    .line 548
    .local v4, "newScale":F
    iget v1, v11, Lim/tpelyyftgw/ui/components/crop/CropView;->rotationStartScale:F

    cmpg-float v1, v4, v1

    if-gez v1, :cond_106

    .line 549
    const/high16 v3, 0x3f800000    # 1.0f

    .line 550
    :cond_106
    invoke-direct {v11, v7, v6, v3}, Lim/tpelyyftgw/ui/components/crop/CropView;->fitScale(Landroid/graphics/RectF;FF)F

    move-result v2

    .line 552
    invoke-direct {v11, v7, v8, v0, v9}, Lim/tpelyyftgw/ui/components/crop/CropView;->fitTranslation(Landroid/graphics/RectF;Landroid/graphics/RectF;Landroid/graphics/PointF;F)V

    move/from16 v19, v2

    goto :goto_112

    .line 555
    .end local v3    # "ratio":F
    .end local v4    # "newScale":F
    :cond_110
    move/from16 v19, v2

    .end local v2    # "targetScale":F
    .local v19, "targetScale":F
    :goto_112
    iget v1, v0, Landroid/graphics/PointF;->x:F

    iget-object v2, v11, Lim/tpelyyftgw/ui/components/crop/CropView;->state:Lim/tpelyyftgw/ui/components/crop/CropView$CropState;

    invoke-static {v2}, Lim/tpelyyftgw/ui/components/crop/CropView$CropState;->access$1700(Lim/tpelyyftgw/ui/components/crop/CropView$CropState;)F

    move-result v2

    sub-float/2addr v1, v2

    .line 556
    .local v1, "dx":F
    iget v2, v0, Landroid/graphics/PointF;->y:F

    iget-object v3, v11, Lim/tpelyyftgw/ui/components/crop/CropView;->state:Lim/tpelyyftgw/ui/components/crop/CropView$CropState;

    invoke-static {v3}, Lim/tpelyyftgw/ui/components/crop/CropView$CropState;->access$1800(Lim/tpelyyftgw/ui/components/crop/CropView$CropState;)F

    move-result v3

    sub-float v3, v2, v3

    .line 558
    .local v3, "dy":F
    if-eqz p3, :cond_1af

    .line 559
    div-float v18, v19, v6

    .line 560
    .local v18, "animScale":F
    move v2, v1

    .line 561
    .local v2, "animDX":F
    move v4, v3

    .line 563
    .local v4, "animDY":F
    const/high16 v20, 0x3f800000    # 1.0f

    sub-float v20, v18, v20

    invoke-static/range {v20 .. v20}, Ljava/lang/Math;->abs(F)F

    move-result v20

    const v21, 0x3727c5ac    # 1.0E-5f

    cmpg-float v20, v20, v21

    if-gez v20, :cond_14b

    .line 564
    invoke-static {v2}, Ljava/lang/Math;->abs(F)F

    move-result v20

    cmpg-float v20, v20, v21

    if-gez v20, :cond_14b

    invoke-static {v4}, Ljava/lang/Math;->abs(F)F

    move-result v20

    cmpg-float v20, v20, v21

    if-gez v20, :cond_14b

    .line 565
    return-void

    .line 568
    :cond_14b
    move-object/from16 v20, v0

    .end local v0    # "targetTranslation":Landroid/graphics/PointF;
    .local v20, "targetTranslation":Landroid/graphics/PointF;
    const/4 v0, 0x1

    iput-boolean v0, v11, Lim/tpelyyftgw/ui/components/crop/CropView;->animating:Z

    .line 570
    const/4 v0, 0x3

    new-array v0, v0, [F

    fill-array-data v0, :array_1d6

    move/from16 v21, v12

    move v12, v3

    .end local v3    # "dy":F
    .local v12, "dy":F
    .local v21, "boundsW":F
    move-object v3, v0

    .line 571
    .local v3, "currentValues":[F
    const/4 v0, 0x2

    new-array v0, v0, [F

    fill-array-data v0, :array_1e0

    invoke-static {v0}, Landroid/animation/ValueAnimator;->ofFloat([F)Landroid/animation/ValueAnimator;

    move-result-object v0

    .line 572
    .local v0, "animator":Landroid/animation/ValueAnimator;
    move/from16 v22, v6

    .end local v6    # "scale":F
    .local v22, "scale":F
    new-instance v6, Lim/tpelyyftgw/ui/components/crop/-$$Lambda$CropView$wwHOkZNkU8hEqp3QA5sNSKagYqA;

    move/from16 v23, v13

    move-object v13, v0

    .end local v0    # "animator":Landroid/animation/ValueAnimator;
    .local v13, "animator":Landroid/animation/ValueAnimator;
    .local v23, "boundsH":F
    move-object v0, v6

    move/from16 v24, v14

    move v14, v1

    .end local v1    # "dx":F
    .local v14, "dx":F
    .local v24, "contentW":F
    move-object/from16 v1, p0

    move-object/from16 v25, v5

    .end local v5    # "matrix":Landroid/graphics/Matrix;
    .local v25, "matrix":Landroid/graphics/Matrix;
    move/from16 v5, v18

    invoke-direct/range {v0 .. v5}, Lim/tpelyyftgw/ui/components/crop/-$$Lambda$CropView$wwHOkZNkU8hEqp3QA5sNSKagYqA;-><init>(Lim/tpelyyftgw/ui/components/crop/CropView;F[FFF)V

    invoke-virtual {v13, v6}, Landroid/animation/ValueAnimator;->addUpdateListener(Landroid/animation/ValueAnimator$AnimatorUpdateListener;)V

    .line 587
    new-instance v0, Lim/tpelyyftgw/ui/components/crop/CropView$3;

    move-object v5, v0

    move/from16 v1, v22

    .end local v22    # "scale":F
    .local v1, "scale":F
    move-object/from16 v6, p0

    move-object/from16 v22, v7

    .end local v7    # "contentRect":Landroid/graphics/RectF;
    .local v22, "contentRect":Landroid/graphics/RectF;
    move/from16 v7, p4

    move-object/from16 v26, v8

    .end local v8    # "boundsRect":Landroid/graphics/RectF;
    .local v26, "boundsRect":Landroid/graphics/RectF;
    move/from16 v8, p1

    move/from16 v27, v9

    .end local v9    # "radians":F
    .local v27, "radians":F
    move/from16 v9, p2

    move/from16 v28, v10

    .end local v10    # "rotation":F
    .local v28, "rotation":F
    move/from16 v10, p3

    invoke-direct/range {v5 .. v10}, Lim/tpelyyftgw/ui/components/crop/CropView$3;-><init>(Lim/tpelyyftgw/ui/components/crop/CropView;ZZZZ)V

    invoke-virtual {v13, v0}, Landroid/animation/ValueAnimator;->addListener(Landroid/animation/Animator$AnimatorListener;)V

    .line 596
    iget-object v0, v11, Lim/tpelyyftgw/ui/components/crop/CropView;->areaView:Lim/tpelyyftgw/ui/components/crop/CropAreaView;

    invoke-virtual {v0}, Lim/tpelyyftgw/ui/components/crop/CropAreaView;->getInterpolator()Landroid/view/animation/Interpolator;

    move-result-object v0

    invoke-virtual {v13, v0}, Landroid/animation/ValueAnimator;->setInterpolator(Landroid/animation/TimeInterpolator;)V

    .line 597
    if-eqz p4, :cond_1a6

    const-wide/16 v5, 0x64

    goto :goto_1a8

    :cond_1a6
    const-wide/16 v5, 0xc8

    :goto_1a8
    invoke-virtual {v13, v5, v6}, Landroid/animation/ValueAnimator;->setDuration(J)Landroid/animation/ValueAnimator;

    .line 598
    invoke-virtual {v13}, Landroid/animation/ValueAnimator;->start()V

    .line 599
    .end local v2    # "animDX":F
    .end local v3    # "currentValues":[F
    .end local v4    # "animDY":F
    .end local v13    # "animator":Landroid/animation/ValueAnimator;
    .end local v18    # "animScale":F
    goto :goto_1d4

    .line 600
    .end local v20    # "targetTranslation":Landroid/graphics/PointF;
    .end local v21    # "boundsW":F
    .end local v22    # "contentRect":Landroid/graphics/RectF;
    .end local v23    # "boundsH":F
    .end local v24    # "contentW":F
    .end local v25    # "matrix":Landroid/graphics/Matrix;
    .end local v26    # "boundsRect":Landroid/graphics/RectF;
    .end local v27    # "radians":F
    .end local v28    # "rotation":F
    .local v0, "targetTranslation":Landroid/graphics/PointF;
    .local v1, "dx":F
    .local v3, "dy":F
    .restart local v5    # "matrix":Landroid/graphics/Matrix;
    .restart local v6    # "scale":F
    .restart local v7    # "contentRect":Landroid/graphics/RectF;
    .restart local v8    # "boundsRect":Landroid/graphics/RectF;
    .restart local v9    # "radians":F
    .restart local v10    # "rotation":F
    .local v12, "boundsW":F
    .local v13, "boundsH":F
    .local v14, "contentW":F
    :cond_1af
    move-object/from16 v20, v0

    move-object/from16 v25, v5

    move-object/from16 v22, v7

    move-object/from16 v26, v8

    move/from16 v27, v9

    move/from16 v28, v10

    move/from16 v21, v12

    move/from16 v23, v13

    move/from16 v24, v14

    move v14, v1

    move v12, v3

    move v1, v6

    .end local v0    # "targetTranslation":Landroid/graphics/PointF;
    .end local v3    # "dy":F
    .end local v5    # "matrix":Landroid/graphics/Matrix;
    .end local v6    # "scale":F
    .end local v7    # "contentRect":Landroid/graphics/RectF;
    .end local v8    # "boundsRect":Landroid/graphics/RectF;
    .end local v9    # "radians":F
    .end local v10    # "rotation":F
    .end local v13    # "boundsH":F
    .local v1, "scale":F
    .local v12, "dy":F
    .local v14, "dx":F
    .restart local v20    # "targetTranslation":Landroid/graphics/PointF;
    .restart local v21    # "boundsW":F
    .restart local v22    # "contentRect":Landroid/graphics/RectF;
    .restart local v23    # "boundsH":F
    .restart local v24    # "contentW":F
    .restart local v25    # "matrix":Landroid/graphics/Matrix;
    .restart local v26    # "boundsRect":Landroid/graphics/RectF;
    .restart local v27    # "radians":F
    .restart local v28    # "rotation":F
    iget-object v0, v11, Lim/tpelyyftgw/ui/components/crop/CropView;->state:Lim/tpelyyftgw/ui/components/crop/CropView$CropState;

    invoke-static {v0, v14, v12}, Lim/tpelyyftgw/ui/components/crop/CropView$CropState;->access$2100(Lim/tpelyyftgw/ui/components/crop/CropView$CropState;FF)V

    .line 601
    iget-object v0, v11, Lim/tpelyyftgw/ui/components/crop/CropView;->state:Lim/tpelyyftgw/ui/components/crop/CropView$CropState;

    div-float v2, v19, v1

    const/4 v3, 0x0

    invoke-static {v0, v2, v3, v3}, Lim/tpelyyftgw/ui/components/crop/CropView$CropState;->access$2200(Lim/tpelyyftgw/ui/components/crop/CropView$CropState;FFF)V

    .line 602
    invoke-virtual/range {p0 .. p0}, Lim/tpelyyftgw/ui/components/crop/CropView;->updateMatrix()V

    .line 604
    :goto_1d4
    return-void

    nop

    :array_1d6
    .array-data 4
        0x3f800000    # 1.0f
        0x0
        0x0
    .end array-data

    :array_1e0
    .array-data 4
        0x0
        0x3f800000    # 1.0f
    .end array-data
.end method

.method private fitScale(Landroid/graphics/RectF;FF)F
    .registers 12
    .param p1, "contentRect"    # Landroid/graphics/RectF;
    .param p2, "scale"    # F
    .param p3, "ratio"    # F

    .line 407
    invoke-virtual {p1}, Landroid/graphics/RectF;->width()F

    move-result v0

    mul-float v0, v0, p3

    .line 408
    .local v0, "scaledW":F
    invoke-virtual {p1}, Landroid/graphics/RectF;->height()F

    move-result v1

    mul-float v1, v1, p3

    .line 410
    .local v1, "scaledH":F
    invoke-virtual {p1}, Landroid/graphics/RectF;->width()F

    move-result v2

    sub-float/2addr v2, v0

    const/high16 v3, 0x40000000    # 2.0f

    div-float/2addr v2, v3

    .line 411
    .local v2, "scaledX":F
    invoke-virtual {p1}, Landroid/graphics/RectF;->height()F

    move-result v4

    sub-float/2addr v4, v1

    div-float/2addr v4, v3

    .line 413
    .local v4, "scaledY":F
    iget v3, p1, Landroid/graphics/RectF;->left:F

    add-float/2addr v3, v2

    iget v5, p1, Landroid/graphics/RectF;->top:F

    add-float/2addr v5, v4

    iget v6, p1, Landroid/graphics/RectF;->left:F

    add-float/2addr v6, v2

    add-float/2addr v6, v0

    iget v7, p1, Landroid/graphics/RectF;->top:F

    add-float/2addr v7, v4

    add-float/2addr v7, v1

    invoke-virtual {p1, v3, v5, v6, v7}, Landroid/graphics/RectF;->set(FFFF)V

    .line 416
    mul-float v3, p2, p3

    return v3
.end method

.method private fitTranslation(Landroid/graphics/RectF;Landroid/graphics/RectF;Landroid/graphics/PointF;F)V
    .registers 22
    .param p1, "contentRect"    # Landroid/graphics/RectF;
    .param p2, "boundsRect"    # Landroid/graphics/RectF;
    .param p3, "translation"    # Landroid/graphics/PointF;
    .param p4, "radians"    # F

    .line 420
    move-object/from16 v0, p1

    move-object/from16 v1, p2

    move-object/from16 v2, p3

    move/from16 v3, p4

    iget v4, v1, Landroid/graphics/RectF;->left:F

    .line 421
    .local v4, "frameLeft":F
    iget v5, v1, Landroid/graphics/RectF;->top:F

    .line 422
    .local v5, "frameTop":F
    iget v6, v1, Landroid/graphics/RectF;->right:F

    .line 423
    .local v6, "frameRight":F
    iget v7, v1, Landroid/graphics/RectF;->bottom:F

    .line 425
    .local v7, "frameBottom":F
    iget v8, v0, Landroid/graphics/RectF;->left:F

    cmpl-float v8, v8, v4

    if-lez v8, :cond_1c

    .line 426
    iget v8, v0, Landroid/graphics/RectF;->left:F

    sub-float/2addr v8, v4

    add-float/2addr v6, v8

    .line 427
    iget v4, v0, Landroid/graphics/RectF;->left:F

    .line 429
    :cond_1c
    iget v8, v0, Landroid/graphics/RectF;->top:F

    cmpl-float v8, v8, v5

    if-lez v8, :cond_28

    .line 430
    iget v8, v0, Landroid/graphics/RectF;->top:F

    sub-float/2addr v8, v5

    add-float/2addr v7, v8

    .line 431
    iget v5, v0, Landroid/graphics/RectF;->top:F

    .line 433
    :cond_28
    iget v8, v0, Landroid/graphics/RectF;->right:F

    cmpg-float v8, v8, v6

    if-gez v8, :cond_32

    .line 434
    iget v8, v0, Landroid/graphics/RectF;->right:F

    sub-float/2addr v8, v6

    add-float/2addr v4, v8

    .line 436
    :cond_32
    iget v8, v0, Landroid/graphics/RectF;->bottom:F

    cmpg-float v8, v8, v7

    if-gez v8, :cond_3c

    .line 437
    iget v8, v0, Landroid/graphics/RectF;->bottom:F

    sub-float/2addr v8, v7

    add-float/2addr v5, v8

    .line 440
    :cond_3c
    invoke-virtual/range {p2 .. p2}, Landroid/graphics/RectF;->centerX()F

    move-result v8

    invoke-virtual/range {p2 .. p2}, Landroid/graphics/RectF;->width()F

    move-result v9

    const/high16 v10, 0x40000000    # 2.0f

    div-float/2addr v9, v10

    add-float/2addr v9, v4

    sub-float/2addr v8, v9

    .line 441
    .local v8, "deltaX":F
    invoke-virtual/range {p2 .. p2}, Landroid/graphics/RectF;->centerY()F

    move-result v9

    invoke-virtual/range {p2 .. p2}, Landroid/graphics/RectF;->height()F

    move-result v11

    div-float/2addr v11, v10

    add-float/2addr v11, v5

    sub-float/2addr v9, v11

    .line 443
    .local v9, "deltaY":F
    float-to-double v10, v3

    const-wide v12, 0x3ff921fb54442d18L    # 1.5707963267948966

    invoke-static {v10, v11}, Ljava/lang/Double;->isNaN(D)Z

    sub-double v10, v12, v10

    invoke-static {v10, v11}, Ljava/lang/Math;->sin(D)D

    move-result-wide v10

    float-to-double v14, v8

    invoke-static {v14, v15}, Ljava/lang/Double;->isNaN(D)Z

    mul-double v10, v10, v14

    double-to-float v10, v10

    .line 444
    .local v10, "xCompX":F
    float-to-double v14, v3

    invoke-static {v14, v15}, Ljava/lang/Double;->isNaN(D)Z

    sub-double v14, v12, v14

    invoke-static {v14, v15}, Ljava/lang/Math;->cos(D)D

    move-result-wide v14

    float-to-double v12, v8

    invoke-static {v12, v13}, Ljava/lang/Double;->isNaN(D)Z

    mul-double v14, v14, v12

    double-to-float v11, v14

    .line 446
    .local v11, "xCompY":F
    float-to-double v12, v3

    invoke-static {v12, v13}, Ljava/lang/Double;->isNaN(D)Z

    const-wide v14, 0x3ff921fb54442d18L    # 1.5707963267948966

    add-double/2addr v12, v14

    invoke-static {v12, v13}, Ljava/lang/Math;->cos(D)D

    move-result-wide v12

    float-to-double v14, v9

    invoke-static {v14, v15}, Ljava/lang/Double;->isNaN(D)Z

    mul-double v12, v12, v14

    double-to-float v12, v12

    .line 447
    .local v12, "yCompX":F
    float-to-double v13, v3

    invoke-static {v13, v14}, Ljava/lang/Double;->isNaN(D)Z

    const-wide v15, 0x3ff921fb54442d18L    # 1.5707963267948966

    add-double/2addr v13, v15

    invoke-static {v13, v14}, Ljava/lang/Math;->sin(D)D

    move-result-wide v13

    float-to-double v0, v9

    invoke-static {v0, v1}, Ljava/lang/Double;->isNaN(D)Z

    mul-double v13, v13, v0

    double-to-float v0, v13

    .line 449
    .local v0, "yCompY":F
    iget v1, v2, Landroid/graphics/PointF;->x:F

    add-float/2addr v1, v10

    add-float/2addr v1, v12

    iget v13, v2, Landroid/graphics/PointF;->y:F

    add-float/2addr v13, v11

    add-float/2addr v13, v0

    invoke-virtual {v2, v1, v13}, Landroid/graphics/PointF;->set(FF)V

    .line 450
    return-void
.end method

.method private resetRotationStartScale()V
    .registers 2

    .line 752
    const/4 v0, 0x0

    iput v0, p0, Lim/tpelyyftgw/ui/components/crop/CropView;->rotationStartScale:F

    .line 753
    return-void
.end method

.method private setLockedAspectRatio(F)V
    .registers 6
    .param p1, "aspectRatio"    # F

    .line 791
    iget-object v0, p0, Lim/tpelyyftgw/ui/components/crop/CropView;->areaView:Lim/tpelyyftgw/ui/components/crop/CropAreaView;

    invoke-virtual {v0, p1}, Lim/tpelyyftgw/ui/components/crop/CropAreaView;->setLockedAspectRatio(F)V

    .line 792
    new-instance v0, Landroid/graphics/RectF;

    invoke-direct {v0}, Landroid/graphics/RectF;-><init>()V

    .line 793
    .local v0, "targetRect":Landroid/graphics/RectF;
    iget-object v1, p0, Lim/tpelyyftgw/ui/components/crop/CropView;->areaView:Lim/tpelyyftgw/ui/components/crop/CropAreaView;

    invoke-virtual {v1, v0, p1}, Lim/tpelyyftgw/ui/components/crop/CropAreaView;->calculateRect(Landroid/graphics/RectF;F)V

    .line 794
    const/4 v1, 0x1

    invoke-direct {p0, v0, v1}, Lim/tpelyyftgw/ui/components/crop/CropView;->fillAreaView(Landroid/graphics/RectF;Z)V

    .line 796
    iget-object v2, p0, Lim/tpelyyftgw/ui/components/crop/CropView;->listener:Lim/tpelyyftgw/ui/components/crop/CropView$CropViewListener;

    if-eqz v2, :cond_20

    .line 797
    const/4 v3, 0x0

    invoke-interface {v2, v3}, Lim/tpelyyftgw/ui/components/crop/CropView$CropViewListener;->onChange(Z)V

    .line 798
    iget-object v2, p0, Lim/tpelyyftgw/ui/components/crop/CropView;->listener:Lim/tpelyyftgw/ui/components/crop/CropView$CropViewListener;

    invoke-interface {v2, v1}, Lim/tpelyyftgw/ui/components/crop/CropView$CropViewListener;->onAspectLock(Z)V

    .line 800
    :cond_20
    return-void
.end method


# virtual methods
.method public calculateBoundingBox(FFF)Landroid/graphics/RectF;
    .registers 8
    .param p1, "w"    # F
    .param p2, "h"    # F
    .param p3, "rotation"    # F

    .line 453
    new-instance v0, Landroid/graphics/RectF;

    const/4 v1, 0x0

    invoke-direct {v0, v1, v1, p1, p2}, Landroid/graphics/RectF;-><init>(FFFF)V

    .line 454
    .local v0, "result":Landroid/graphics/RectF;
    new-instance v1, Landroid/graphics/Matrix;

    invoke-direct {v1}, Landroid/graphics/Matrix;-><init>()V

    .line 455
    .local v1, "m":Landroid/graphics/Matrix;
    const/high16 v2, 0x40000000    # 2.0f

    div-float v3, p1, v2

    div-float v2, p2, v2

    invoke-virtual {v1, p3, v3, v2}, Landroid/graphics/Matrix;->postRotate(FFF)Z

    .line 456
    invoke-virtual {v1, v0}, Landroid/graphics/Matrix;->mapRect(Landroid/graphics/RectF;)Z

    .line 457
    return-object v0
.end method

.method public getCropHeight()F
    .registers 2

    .line 903
    iget-object v0, p0, Lim/tpelyyftgw/ui/components/crop/CropView;->areaView:Lim/tpelyyftgw/ui/components/crop/CropAreaView;

    invoke-virtual {v0}, Lim/tpelyyftgw/ui/components/crop/CropAreaView;->getCropHeight()F

    move-result v0

    return v0
.end method

.method public getCropLeft()F
    .registers 2

    .line 891
    iget-object v0, p0, Lim/tpelyyftgw/ui/components/crop/CropView;->areaView:Lim/tpelyyftgw/ui/components/crop/CropAreaView;

    invoke-virtual {v0}, Lim/tpelyyftgw/ui/components/crop/CropAreaView;->getCropLeft()F

    move-result v0

    return v0
.end method

.method public getCropTop()F
    .registers 2

    .line 895
    iget-object v0, p0, Lim/tpelyyftgw/ui/components/crop/CropView;->areaView:Lim/tpelyyftgw/ui/components/crop/CropAreaView;

    invoke-virtual {v0}, Lim/tpelyyftgw/ui/components/crop/CropAreaView;->getCropTop()F

    move-result v0

    return v0
.end method

.method public getCropWidth()F
    .registers 2

    .line 899
    iget-object v0, p0, Lim/tpelyyftgw/ui/components/crop/CropView;->areaView:Lim/tpelyyftgw/ui/components/crop/CropAreaView;

    invoke-virtual {v0}, Lim/tpelyyftgw/ui/components/crop/CropAreaView;->getCropWidth()F

    move-result v0

    return v0
.end method

.method public getResult()Landroid/graphics/Bitmap;
    .registers 13

    .line 762
    iget-object v0, p0, Lim/tpelyyftgw/ui/components/crop/CropView;->state:Lim/tpelyyftgw/ui/components/crop/CropView$CropState;

    if-eqz v0, :cond_9a

    invoke-static {v0}, Lim/tpelyyftgw/ui/components/crop/CropView$CropState;->access$2400(Lim/tpelyyftgw/ui/components/crop/CropView$CropState;)Z

    move-result v0

    if-nez v0, :cond_1d

    iget-object v0, p0, Lim/tpelyyftgw/ui/components/crop/CropView;->state:Lim/tpelyyftgw/ui/components/crop/CropView$CropState;

    invoke-static {v0}, Lim/tpelyyftgw/ui/components/crop/CropView$CropState;->access$500(Lim/tpelyyftgw/ui/components/crop/CropView$CropState;)F

    move-result v0

    const v1, 0x3727c5ac    # 1.0E-5f

    cmpg-float v0, v0, v1

    if-gez v0, :cond_1d

    iget-boolean v0, p0, Lim/tpelyyftgw/ui/components/crop/CropView;->freeform:Z

    if-eqz v0, :cond_1d

    goto/16 :goto_9a

    .line 766
    :cond_1d
    new-instance v0, Landroid/graphics/RectF;

    invoke-direct {v0}, Landroid/graphics/RectF;-><init>()V

    .line 767
    .local v0, "cropRect":Landroid/graphics/RectF;
    iget-object v1, p0, Lim/tpelyyftgw/ui/components/crop/CropView;->areaView:Lim/tpelyyftgw/ui/components/crop/CropAreaView;

    invoke-virtual {v1, v0}, Lim/tpelyyftgw/ui/components/crop/CropAreaView;->getCropRect(Landroid/graphics/RectF;)V

    .line 768
    new-instance v1, Landroid/graphics/RectF;

    const/high16 v2, 0x44a00000    # 1280.0f

    const/4 v3, 0x0

    invoke-direct {v1, v3, v3, v2, v2}, Landroid/graphics/RectF;-><init>(FFFF)V

    .line 770
    .local v1, "sizeRect":Landroid/graphics/RectF;
    invoke-virtual {p0, v0, v1}, Lim/tpelyyftgw/ui/components/crop/CropView;->scaleWidthToMaxSize(Landroid/graphics/RectF;Landroid/graphics/RectF;)F

    move-result v2

    .line 771
    .local v2, "w":F
    float-to-double v3, v2

    invoke-static {v3, v4}, Ljava/lang/Math;->ceil(D)D

    move-result-wide v3

    double-to-int v3, v3

    .line 772
    .local v3, "width":I
    int-to-float v4, v3

    iget-object v5, p0, Lim/tpelyyftgw/ui/components/crop/CropView;->areaView:Lim/tpelyyftgw/ui/components/crop/CropAreaView;

    invoke-virtual {v5}, Lim/tpelyyftgw/ui/components/crop/CropAreaView;->getAspectRatio()F

    move-result v5

    div-float/2addr v4, v5

    float-to-double v4, v4

    invoke-static {v4, v5}, Ljava/lang/Math;->ceil(D)D

    move-result-wide v4

    double-to-int v4, v4

    .line 774
    .local v4, "height":I
    sget-object v5, Landroid/graphics/Bitmap$Config;->ARGB_8888:Landroid/graphics/Bitmap$Config;

    invoke-static {v3, v4, v5}, Landroid/graphics/Bitmap;->createBitmap(IILandroid/graphics/Bitmap$Config;)Landroid/graphics/Bitmap;

    move-result-object v5

    .line 776
    .local v5, "resultBitmap":Landroid/graphics/Bitmap;
    new-instance v6, Landroid/graphics/Matrix;

    invoke-direct {v6}, Landroid/graphics/Matrix;-><init>()V

    .line 777
    .local v6, "matrix":Landroid/graphics/Matrix;
    iget-object v7, p0, Lim/tpelyyftgw/ui/components/crop/CropView;->state:Lim/tpelyyftgw/ui/components/crop/CropView$CropState;

    invoke-static {v7}, Lim/tpelyyftgw/ui/components/crop/CropView$CropState;->access$700(Lim/tpelyyftgw/ui/components/crop/CropView$CropState;)F

    move-result v7

    neg-float v7, v7

    const/high16 v8, 0x40000000    # 2.0f

    div-float/2addr v7, v8

    iget-object v9, p0, Lim/tpelyyftgw/ui/components/crop/CropView;->state:Lim/tpelyyftgw/ui/components/crop/CropView$CropState;

    invoke-static {v9}, Lim/tpelyyftgw/ui/components/crop/CropView$CropState;->access$800(Lim/tpelyyftgw/ui/components/crop/CropView$CropState;)F

    move-result v9

    neg-float v9, v9

    div-float/2addr v9, v8

    invoke-virtual {v6, v7, v9}, Landroid/graphics/Matrix;->postTranslate(FF)Z

    .line 779
    iget-object v7, p0, Lim/tpelyyftgw/ui/components/crop/CropView;->state:Lim/tpelyyftgw/ui/components/crop/CropView$CropState;

    invoke-static {v7}, Lim/tpelyyftgw/ui/components/crop/CropView$CropState;->access$900(Lim/tpelyyftgw/ui/components/crop/CropView$CropState;)F

    move-result v7

    invoke-virtual {v6, v7}, Landroid/graphics/Matrix;->postRotate(F)Z

    .line 780
    iget-object v7, p0, Lim/tpelyyftgw/ui/components/crop/CropView;->state:Lim/tpelyyftgw/ui/components/crop/CropView$CropState;

    invoke-static {v7, v6}, Lim/tpelyyftgw/ui/components/crop/CropView$CropState;->access$1000(Lim/tpelyyftgw/ui/components/crop/CropView$CropState;Landroid/graphics/Matrix;)V

    .line 782
    int-to-float v7, v3

    iget-object v8, p0, Lim/tpelyyftgw/ui/components/crop/CropView;->areaView:Lim/tpelyyftgw/ui/components/crop/CropAreaView;

    invoke-virtual {v8}, Lim/tpelyyftgw/ui/components/crop/CropAreaView;->getCropWidth()F

    move-result v8

    div-float/2addr v7, v8

    .line 783
    .local v7, "scale":F
    invoke-virtual {v6, v7, v7}, Landroid/graphics/Matrix;->postScale(FF)Z

    .line 784
    div-int/lit8 v8, v3, 0x2

    int-to-float v8, v8

    div-int/lit8 v9, v4, 0x2

    int-to-float v9, v9

    invoke-virtual {v6, v8, v9}, Landroid/graphics/Matrix;->postTranslate(FF)Z

    .line 786
    new-instance v8, Landroid/graphics/Canvas;

    invoke-direct {v8, v5}, Landroid/graphics/Canvas;-><init>(Landroid/graphics/Bitmap;)V

    iget-object v9, p0, Lim/tpelyyftgw/ui/components/crop/CropView;->bitmap:Landroid/graphics/Bitmap;

    new-instance v10, Landroid/graphics/Paint;

    const/4 v11, 0x2

    invoke-direct {v10, v11}, Landroid/graphics/Paint;-><init>(I)V

    invoke-virtual {v8, v9, v6, v10}, Landroid/graphics/Canvas;->drawBitmap(Landroid/graphics/Bitmap;Landroid/graphics/Matrix;Landroid/graphics/Paint;)V

    .line 787
    return-object v5

    .line 763
    .end local v0    # "cropRect":Landroid/graphics/RectF;
    .end local v1    # "sizeRect":Landroid/graphics/RectF;
    .end local v2    # "w":F
    .end local v3    # "width":I
    .end local v4    # "height":I
    .end local v5    # "resultBitmap":Landroid/graphics/Bitmap;
    .end local v6    # "matrix":Landroid/graphics/Matrix;
    .end local v7    # "scale":F
    :cond_9a
    :goto_9a
    iget-object v0, p0, Lim/tpelyyftgw/ui/components/crop/CropView;->bitmap:Landroid/graphics/Bitmap;

    return-object v0
.end method

.method public hide()V
    .registers 3

    .line 334
    iget-object v0, p0, Lim/tpelyyftgw/ui/components/crop/CropView;->backView:Landroid/view/View;

    const/4 v1, 0x4

    invoke-virtual {v0, v1}, Landroid/view/View;->setVisibility(I)V

    .line 335
    iget-object v0, p0, Lim/tpelyyftgw/ui/components/crop/CropView;->imageView:Landroid/widget/ImageView;

    invoke-virtual {v0, v1}, Landroid/widget/ImageView;->setVisibility(I)V

    .line 336
    iget-object v0, p0, Lim/tpelyyftgw/ui/components/crop/CropView;->areaView:Lim/tpelyyftgw/ui/components/crop/CropAreaView;

    const/4 v1, 0x0

    invoke-virtual {v0, v1}, Lim/tpelyyftgw/ui/components/crop/CropAreaView;->setDimVisibility(Z)V

    .line 337
    iget-object v0, p0, Lim/tpelyyftgw/ui/components/crop/CropView;->areaView:Lim/tpelyyftgw/ui/components/crop/CropAreaView;

    invoke-virtual {v0, v1}, Lim/tpelyyftgw/ui/components/crop/CropAreaView;->setFrameVisibility(Z)V

    .line 338
    iget-object v0, p0, Lim/tpelyyftgw/ui/components/crop/CropView;->areaView:Lim/tpelyyftgw/ui/components/crop/CropAreaView;

    invoke-virtual {v0}, Lim/tpelyyftgw/ui/components/crop/CropAreaView;->invalidate()V

    .line 339
    return-void
.end method

.method public hideBackView()V
    .registers 3

    .line 313
    iget-object v0, p0, Lim/tpelyyftgw/ui/components/crop/CropView;->backView:Landroid/view/View;

    const/4 v1, 0x4

    invoke-virtual {v0, v1}, Landroid/view/View;->setVisibility(I)V

    .line 314
    return-void
.end method

.method public isReady()Z
    .registers 2

    .line 265
    iget-object v0, p0, Lim/tpelyyftgw/ui/components/crop/CropView;->detector:Lim/tpelyyftgw/ui/components/crop/CropGestureDetector;

    invoke-virtual {v0}, Lim/tpelyyftgw/ui/components/crop/CropGestureDetector;->isScaling()Z

    move-result v0

    if-nez v0, :cond_1a

    iget-object v0, p0, Lim/tpelyyftgw/ui/components/crop/CropView;->detector:Lim/tpelyyftgw/ui/components/crop/CropGestureDetector;

    invoke-virtual {v0}, Lim/tpelyyftgw/ui/components/crop/CropGestureDetector;->isDragging()Z

    move-result v0

    if-nez v0, :cond_1a

    iget-object v0, p0, Lim/tpelyyftgw/ui/components/crop/CropView;->areaView:Lim/tpelyyftgw/ui/components/crop/CropAreaView;

    invoke-virtual {v0}, Lim/tpelyyftgw/ui/components/crop/CropAreaView;->isDragging()Z

    move-result v0

    if-nez v0, :cond_1a

    const/4 v0, 0x1

    goto :goto_1b

    :cond_1a
    const/4 v0, 0x0

    :goto_1b
    return v0
.end method

.method public synthetic lambda$fillAreaView$0$CropView(F[FFFLandroid/animation/ValueAnimator;)V
    .registers 10
    .param p1, "targetScale"    # F
    .param p2, "currentScale"    # [F
    .param p3, "x"    # F
    .param p4, "y"    # F
    .param p5, "animation"    # Landroid/animation/ValueAnimator;

    .line 389
    invoke-virtual {p5}, Landroid/animation/ValueAnimator;->getAnimatedValue()Ljava/lang/Object;

    move-result-object v0

    check-cast v0, Ljava/lang/Float;

    invoke-virtual {v0}, Ljava/lang/Float;->floatValue()F

    move-result v0

    .line 390
    .local v0, "value":F
    const/high16 v1, 0x3f800000    # 1.0f

    sub-float v2, p1, v1

    mul-float v2, v2, v0

    add-float/2addr v2, v1

    const/4 v1, 0x0

    aget v3, p2, v1

    div-float/2addr v2, v3

    .line 391
    .local v2, "deltaScale":F
    aget v3, p2, v1

    mul-float v3, v3, v2

    aput v3, p2, v1

    .line 392
    iget-object v1, p0, Lim/tpelyyftgw/ui/components/crop/CropView;->state:Lim/tpelyyftgw/ui/components/crop/CropView$CropState;

    invoke-static {v1, v2, p3, p4}, Lim/tpelyyftgw/ui/components/crop/CropView$CropState;->access$2200(Lim/tpelyyftgw/ui/components/crop/CropView$CropState;FFF)V

    .line 393
    invoke-virtual {p0}, Lim/tpelyyftgw/ui/components/crop/CropView;->updateMatrix()V

    .line 394
    return-void
.end method

.method public synthetic lambda$fitContentInBounds$1$CropView(F[FFFLandroid/animation/ValueAnimator;)V
    .registers 13
    .param p1, "animDX"    # F
    .param p2, "currentValues"    # [F
    .param p3, "animDY"    # F
    .param p4, "animScale"    # F
    .param p5, "animation"    # Landroid/animation/ValueAnimator;

    .line 573
    invoke-virtual {p5}, Landroid/animation/ValueAnimator;->getAnimatedValue()Ljava/lang/Object;

    move-result-object v0

    check-cast v0, Ljava/lang/Float;

    invoke-virtual {v0}, Ljava/lang/Float;->floatValue()F

    move-result v0

    .line 575
    .local v0, "value":F
    mul-float v1, p1, v0

    const/4 v2, 0x1

    aget v3, p2, v2

    sub-float/2addr v1, v3

    .line 576
    .local v1, "deltaX":F
    aget v3, p2, v2

    add-float/2addr v3, v1

    aput v3, p2, v2

    .line 577
    mul-float v2, p3, v0

    const/4 v3, 0x2

    aget v4, p2, v3

    sub-float/2addr v2, v4

    .line 578
    .local v2, "deltaY":F
    aget v4, p2, v3

    add-float/2addr v4, v2

    aput v4, p2, v3

    .line 579
    iget-object v3, p0, Lim/tpelyyftgw/ui/components/crop/CropView;->state:Lim/tpelyyftgw/ui/components/crop/CropView$CropState;

    const/4 v4, 0x0

    aget v5, p2, v4

    mul-float v5, v5, v1

    aget v6, p2, v4

    mul-float v6, v6, v2

    invoke-static {v3, v5, v6}, Lim/tpelyyftgw/ui/components/crop/CropView$CropState;->access$2100(Lim/tpelyyftgw/ui/components/crop/CropView$CropState;FF)V

    .line 581
    const/high16 v3, 0x3f800000    # 1.0f

    sub-float v5, p4, v3

    mul-float v5, v5, v0

    add-float/2addr v5, v3

    aget v3, p2, v4

    div-float/2addr v5, v3

    .line 582
    .local v5, "deltaScale":F
    aget v3, p2, v4

    mul-float v3, v3, v5

    aput v3, p2, v4

    .line 583
    iget-object v3, p0, Lim/tpelyyftgw/ui/components/crop/CropView;->state:Lim/tpelyyftgw/ui/components/crop/CropView$CropState;

    const/4 v4, 0x0

    invoke-static {v3, v5, v4, v4}, Lim/tpelyyftgw/ui/components/crop/CropView$CropState;->access$2200(Lim/tpelyyftgw/ui/components/crop/CropView$CropState;FFF)V

    .line 585
    invoke-virtual {p0}, Lim/tpelyyftgw/ui/components/crop/CropView;->updateMatrix()V

    .line 586
    return-void
.end method

.method public synthetic lambda$showAspectRatioDialog$2$CropView([[Ljava/lang/Integer;Landroid/content/DialogInterface;I)V
    .registers 9
    .param p1, "ratios"    # [[Ljava/lang/Integer;
    .param p2, "dialog12"    # Landroid/content/DialogInterface;
    .param p3, "which"    # I

    .line 845
    const/4 v0, 0x0

    iput-boolean v0, p0, Lim/tpelyyftgw/ui/components/crop/CropView;->hasAspectRatioDialog:Z

    .line 846
    if-eqz p3, :cond_42

    const/high16 v1, 0x3f800000    # 1.0f

    const/4 v2, 0x1

    if-eq p3, v2, :cond_3e

    .line 860
    add-int/lit8 v3, p3, -0x2

    aget-object v3, p1, v3

    .line 862
    .local v3, "ratioPair":[Ljava/lang/Integer;
    iget-object v4, p0, Lim/tpelyyftgw/ui/components/crop/CropView;->areaView:Lim/tpelyyftgw/ui/components/crop/CropAreaView;

    invoke-virtual {v4}, Lim/tpelyyftgw/ui/components/crop/CropAreaView;->getAspectRatio()F

    move-result v4

    cmpl-float v1, v4, v1

    if-lez v1, :cond_2b

    .line 863
    aget-object v0, v3, v0

    invoke-virtual {v0}, Ljava/lang/Integer;->intValue()I

    move-result v0

    int-to-float v0, v0

    aget-object v1, v3, v2

    invoke-virtual {v1}, Ljava/lang/Integer;->intValue()I

    move-result v1

    int-to-float v1, v1

    div-float/2addr v0, v1

    invoke-direct {p0, v0}, Lim/tpelyyftgw/ui/components/crop/CropView;->setLockedAspectRatio(F)V

    goto :goto_7b

    .line 865
    :cond_2b
    aget-object v1, v3, v2

    invoke-virtual {v1}, Ljava/lang/Integer;->intValue()I

    move-result v1

    int-to-float v1, v1

    aget-object v0, v3, v0

    invoke-virtual {v0}, Ljava/lang/Integer;->intValue()I

    move-result v0

    int-to-float v0, v0

    div-float/2addr v1, v0

    invoke-direct {p0, v1}, Lim/tpelyyftgw/ui/components/crop/CropView;->setLockedAspectRatio(F)V

    goto :goto_7b

    .line 855
    .end local v3    # "ratioPair":[Ljava/lang/Integer;
    :cond_3e
    invoke-direct {p0, v1}, Lim/tpelyyftgw/ui/components/crop/CropView;->setLockedAspectRatio(F)V

    .line 857
    goto :goto_7b

    .line 848
    :cond_42
    iget-object v0, p0, Lim/tpelyyftgw/ui/components/crop/CropView;->state:Lim/tpelyyftgw/ui/components/crop/CropView$CropState;

    invoke-static {v0}, Lim/tpelyyftgw/ui/components/crop/CropView$CropState;->access$500(Lim/tpelyyftgw/ui/components/crop/CropView$CropState;)F

    move-result v0

    const/high16 v1, 0x43340000    # 180.0f

    rem-float/2addr v0, v1

    const/4 v2, 0x0

    cmpl-float v0, v0, v2

    if-eqz v0, :cond_57

    iget-object v0, p0, Lim/tpelyyftgw/ui/components/crop/CropView;->state:Lim/tpelyyftgw/ui/components/crop/CropView$CropState;

    invoke-static {v0}, Lim/tpelyyftgw/ui/components/crop/CropView$CropState;->access$800(Lim/tpelyyftgw/ui/components/crop/CropView$CropState;)F

    move-result v0

    goto :goto_5d

    :cond_57
    iget-object v0, p0, Lim/tpelyyftgw/ui/components/crop/CropView;->state:Lim/tpelyyftgw/ui/components/crop/CropView$CropState;

    invoke-static {v0}, Lim/tpelyyftgw/ui/components/crop/CropView$CropState;->access$700(Lim/tpelyyftgw/ui/components/crop/CropView$CropState;)F

    move-result v0

    .line 849
    .local v0, "w":F
    :goto_5d
    iget-object v3, p0, Lim/tpelyyftgw/ui/components/crop/CropView;->state:Lim/tpelyyftgw/ui/components/crop/CropView$CropState;

    invoke-static {v3}, Lim/tpelyyftgw/ui/components/crop/CropView$CropState;->access$500(Lim/tpelyyftgw/ui/components/crop/CropView$CropState;)F

    move-result v3

    rem-float/2addr v3, v1

    cmpl-float v1, v3, v2

    if-eqz v1, :cond_6f

    iget-object v1, p0, Lim/tpelyyftgw/ui/components/crop/CropView;->state:Lim/tpelyyftgw/ui/components/crop/CropView$CropState;

    invoke-static {v1}, Lim/tpelyyftgw/ui/components/crop/CropView$CropState;->access$700(Lim/tpelyyftgw/ui/components/crop/CropView$CropState;)F

    move-result v1

    goto :goto_75

    :cond_6f
    iget-object v1, p0, Lim/tpelyyftgw/ui/components/crop/CropView;->state:Lim/tpelyyftgw/ui/components/crop/CropView$CropState;

    invoke-static {v1}, Lim/tpelyyftgw/ui/components/crop/CropView$CropState;->access$800(Lim/tpelyyftgw/ui/components/crop/CropView$CropState;)F

    move-result v1

    .line 850
    .local v1, "h":F
    :goto_75
    div-float v2, v0, v1

    invoke-direct {p0, v2}, Lim/tpelyyftgw/ui/components/crop/CropView;->setLockedAspectRatio(F)V

    .line 852
    .end local v0    # "w":F
    .end local v1    # "h":F
    nop

    .line 870
    :goto_7b
    return-void
.end method

.method public synthetic lambda$showAspectRatioDialog$3$CropView(Landroid/content/DialogInterface;)V
    .registers 3
    .param p1, "dialog1"    # Landroid/content/DialogInterface;

    .line 873
    const/4 v0, 0x0

    iput-boolean v0, p0, Lim/tpelyyftgw/ui/components/crop/CropView;->hasAspectRatioDialog:Z

    return-void
.end method

.method public onAreaChange()V
    .registers 6

    .line 674
    iget-object v0, p0, Lim/tpelyyftgw/ui/components/crop/CropView;->areaView:Lim/tpelyyftgw/ui/components/crop/CropAreaView;

    sget-object v1, Lim/tpelyyftgw/ui/components/crop/CropAreaView$GridType;->MAJOR:Lim/tpelyyftgw/ui/components/crop/CropAreaView$GridType;

    const/4 v2, 0x0

    invoke-virtual {v0, v1, v2}, Lim/tpelyyftgw/ui/components/crop/CropAreaView;->setGridType(Lim/tpelyyftgw/ui/components/crop/CropAreaView$GridType;Z)V

    .line 676
    iget-object v0, p0, Lim/tpelyyftgw/ui/components/crop/CropView;->previousAreaRect:Landroid/graphics/RectF;

    invoke-virtual {v0}, Landroid/graphics/RectF;->centerX()F

    move-result v0

    iget-object v1, p0, Lim/tpelyyftgw/ui/components/crop/CropView;->areaView:Lim/tpelyyftgw/ui/components/crop/CropAreaView;

    invoke-virtual {v1}, Lim/tpelyyftgw/ui/components/crop/CropAreaView;->getCropCenterX()F

    move-result v1

    sub-float/2addr v0, v1

    .line 677
    .local v0, "x":F
    iget-object v1, p0, Lim/tpelyyftgw/ui/components/crop/CropView;->previousAreaRect:Landroid/graphics/RectF;

    invoke-virtual {v1}, Landroid/graphics/RectF;->centerY()F

    move-result v1

    iget-object v3, p0, Lim/tpelyyftgw/ui/components/crop/CropView;->areaView:Lim/tpelyyftgw/ui/components/crop/CropAreaView;

    invoke-virtual {v3}, Lim/tpelyyftgw/ui/components/crop/CropAreaView;->getCropCenterY()F

    move-result v3

    sub-float/2addr v1, v3

    .line 678
    .local v1, "y":F
    iget-object v3, p0, Lim/tpelyyftgw/ui/components/crop/CropView;->state:Lim/tpelyyftgw/ui/components/crop/CropView$CropState;

    invoke-static {v3, v0, v1}, Lim/tpelyyftgw/ui/components/crop/CropView$CropState;->access$2100(Lim/tpelyyftgw/ui/components/crop/CropView$CropState;FF)V

    .line 679
    invoke-virtual {p0}, Lim/tpelyyftgw/ui/components/crop/CropView;->updateMatrix()V

    .line 681
    iget-object v3, p0, Lim/tpelyyftgw/ui/components/crop/CropView;->areaView:Lim/tpelyyftgw/ui/components/crop/CropAreaView;

    iget-object v4, p0, Lim/tpelyyftgw/ui/components/crop/CropView;->previousAreaRect:Landroid/graphics/RectF;

    invoke-virtual {v3, v4}, Lim/tpelyyftgw/ui/components/crop/CropAreaView;->getCropRect(Landroid/graphics/RectF;)V

    .line 683
    const/4 v3, 0x1

    invoke-direct {p0, v3, v2, v2}, Lim/tpelyyftgw/ui/components/crop/CropView;->fitContentInBounds(ZZZ)V

    .line 684
    return-void
.end method

.method public onAreaChangeBegan()V
    .registers 3

    .line 664
    iget-object v0, p0, Lim/tpelyyftgw/ui/components/crop/CropView;->areaView:Lim/tpelyyftgw/ui/components/crop/CropAreaView;

    iget-object v1, p0, Lim/tpelyyftgw/ui/components/crop/CropView;->previousAreaRect:Landroid/graphics/RectF;

    invoke-virtual {v0, v1}, Lim/tpelyyftgw/ui/components/crop/CropAreaView;->getCropRect(Landroid/graphics/RectF;)V

    .line 665
    invoke-direct {p0}, Lim/tpelyyftgw/ui/components/crop/CropView;->resetRotationStartScale()V

    .line 667
    iget-object v0, p0, Lim/tpelyyftgw/ui/components/crop/CropView;->listener:Lim/tpelyyftgw/ui/components/crop/CropView$CropViewListener;

    if-eqz v0, :cond_12

    .line 668
    const/4 v1, 0x0

    invoke-interface {v0, v1}, Lim/tpelyyftgw/ui/components/crop/CropView$CropViewListener;->onChange(Z)V

    .line 670
    :cond_12
    return-void
.end method

.method public onAreaChangeEnded()V
    .registers 4

    .line 688
    iget-object v0, p0, Lim/tpelyyftgw/ui/components/crop/CropView;->areaView:Lim/tpelyyftgw/ui/components/crop/CropAreaView;

    sget-object v1, Lim/tpelyyftgw/ui/components/crop/CropAreaView$GridType;->NONE:Lim/tpelyyftgw/ui/components/crop/CropAreaView$GridType;

    const/4 v2, 0x1

    invoke-virtual {v0, v1, v2}, Lim/tpelyyftgw/ui/components/crop/CropAreaView;->setGridType(Lim/tpelyyftgw/ui/components/crop/CropAreaView$GridType;Z)V

    .line 689
    iget-object v0, p0, Lim/tpelyyftgw/ui/components/crop/CropView;->areaView:Lim/tpelyyftgw/ui/components/crop/CropAreaView;

    invoke-virtual {v0}, Lim/tpelyyftgw/ui/components/crop/CropAreaView;->getTargetRectToFill()Landroid/graphics/RectF;

    move-result-object v0

    const/4 v1, 0x0

    invoke-direct {p0, v0, v1}, Lim/tpelyyftgw/ui/components/crop/CropView;->fillAreaView(Landroid/graphics/RectF;Z)V

    .line 690
    return-void
.end method

.method public onDrag(FF)V
    .registers 4
    .param p1, "dx"    # F
    .param p2, "dy"    # F

    .line 693
    iget-boolean v0, p0, Lim/tpelyyftgw/ui/components/crop/CropView;->animating:Z

    if-eqz v0, :cond_5

    .line 694
    return-void

    .line 697
    :cond_5
    iget-object v0, p0, Lim/tpelyyftgw/ui/components/crop/CropView;->state:Lim/tpelyyftgw/ui/components/crop/CropView$CropState;

    invoke-static {v0, p1, p2}, Lim/tpelyyftgw/ui/components/crop/CropView$CropState;->access$2100(Lim/tpelyyftgw/ui/components/crop/CropView$CropState;FF)V

    .line 698
    invoke-virtual {p0}, Lim/tpelyyftgw/ui/components/crop/CropView;->updateMatrix()V

    .line 699
    return-void
.end method

.method public onFling(FFFF)V
    .registers 5
    .param p1, "startX"    # F
    .param p2, "startY"    # F
    .param p3, "velocityX"    # F
    .param p4, "velocityY"    # F

    .line 702
    return-void
.end method

.method public onInterceptTouchEvent(Landroid/view/MotionEvent;)Z
    .registers 3
    .param p1, "ev"    # Landroid/view/MotionEvent;

    .line 659
    const/4 v0, 0x1

    return v0
.end method

.method public onRotationBegan()V
    .registers 4

    .line 741
    iget-object v0, p0, Lim/tpelyyftgw/ui/components/crop/CropView;->areaView:Lim/tpelyyftgw/ui/components/crop/CropAreaView;

    sget-object v1, Lim/tpelyyftgw/ui/components/crop/CropAreaView$GridType;->MINOR:Lim/tpelyyftgw/ui/components/crop/CropAreaView$GridType;

    const/4 v2, 0x0

    invoke-virtual {v0, v1, v2}, Lim/tpelyyftgw/ui/components/crop/CropAreaView;->setGridType(Lim/tpelyyftgw/ui/components/crop/CropAreaView$GridType;Z)V

    .line 742
    iget v0, p0, Lim/tpelyyftgw/ui/components/crop/CropView;->rotationStartScale:F

    const v1, 0x3727c5ac    # 1.0E-5f

    cmpg-float v0, v0, v1

    if-gez v0, :cond_19

    .line 743
    iget-object v0, p0, Lim/tpelyyftgw/ui/components/crop/CropView;->state:Lim/tpelyyftgw/ui/components/crop/CropView$CropState;

    invoke-static {v0}, Lim/tpelyyftgw/ui/components/crop/CropView$CropState;->access$1100(Lim/tpelyyftgw/ui/components/crop/CropView$CropState;)F

    move-result v0

    iput v0, p0, Lim/tpelyyftgw/ui/components/crop/CropView;->rotationStartScale:F

    .line 745
    :cond_19
    return-void
.end method

.method public onRotationEnded()V
    .registers 4

    .line 748
    iget-object v0, p0, Lim/tpelyyftgw/ui/components/crop/CropView;->areaView:Lim/tpelyyftgw/ui/components/crop/CropAreaView;

    sget-object v1, Lim/tpelyyftgw/ui/components/crop/CropAreaView$GridType;->NONE:Lim/tpelyyftgw/ui/components/crop/CropAreaView$GridType;

    const/4 v2, 0x1

    invoke-virtual {v0, v1, v2}, Lim/tpelyyftgw/ui/components/crop/CropAreaView;->setGridType(Lim/tpelyyftgw/ui/components/crop/CropAreaView$GridType;Z)V

    .line 749
    return-void
.end method

.method public onScale(FFF)V
    .registers 9
    .param p1, "scale"    # F
    .param p2, "x"    # F
    .param p3, "y"    # F

    .line 723
    iget-boolean v0, p0, Lim/tpelyyftgw/ui/components/crop/CropView;->animating:Z

    if-eqz v0, :cond_5

    .line 724
    return-void

    .line 727
    :cond_5
    iget-object v0, p0, Lim/tpelyyftgw/ui/components/crop/CropView;->state:Lim/tpelyyftgw/ui/components/crop/CropView$CropState;

    invoke-static {v0}, Lim/tpelyyftgw/ui/components/crop/CropView$CropState;->access$1100(Lim/tpelyyftgw/ui/components/crop/CropView$CropState;)F

    move-result v0

    mul-float v0, v0, p1

    .line 728
    .local v0, "newScale":F
    const/high16 v1, 0x41f00000    # 30.0f

    cmpl-float v2, v0, v1

    if-lez v2, :cond_1b

    .line 729
    iget-object v2, p0, Lim/tpelyyftgw/ui/components/crop/CropView;->state:Lim/tpelyyftgw/ui/components/crop/CropView$CropState;

    invoke-static {v2}, Lim/tpelyyftgw/ui/components/crop/CropView$CropState;->access$1100(Lim/tpelyyftgw/ui/components/crop/CropView$CropState;)F

    move-result v2

    div-float p1, v1, v2

    .line 731
    :cond_1b
    sget v1, Landroid/os/Build$VERSION;->SDK_INT:I

    const/16 v2, 0x15

    if-lt v1, v2, :cond_24

    sget v1, Lim/tpelyyftgw/messenger/AndroidUtilities;->statusBarHeight:I

    goto :goto_25

    :cond_24
    const/4 v1, 0x0

    :goto_25
    int-to-float v1, v1

    .line 733
    .local v1, "statusBarHeight":F
    iget-object v2, p0, Lim/tpelyyftgw/ui/components/crop/CropView;->imageView:Landroid/widget/ImageView;

    invoke-virtual {v2}, Landroid/widget/ImageView;->getWidth()I

    move-result v2

    div-int/lit8 v2, v2, 0x2

    int-to-float v2, v2

    sub-float v2, p2, v2

    iget-object v3, p0, Lim/tpelyyftgw/ui/components/crop/CropView;->areaView:Lim/tpelyyftgw/ui/components/crop/CropAreaView;

    invoke-virtual {v3}, Lim/tpelyyftgw/ui/components/crop/CropAreaView;->getCropWidth()F

    move-result v3

    div-float/2addr v2, v3

    iget-object v3, p0, Lim/tpelyyftgw/ui/components/crop/CropView;->state:Lim/tpelyyftgw/ui/components/crop/CropView$CropState;

    invoke-static {v3}, Lim/tpelyyftgw/ui/components/crop/CropView$CropState;->access$1200(Lim/tpelyyftgw/ui/components/crop/CropView$CropState;)F

    move-result v3

    mul-float v2, v2, v3

    .line 734
    .local v2, "pivotX":F
    iget-object v3, p0, Lim/tpelyyftgw/ui/components/crop/CropView;->imageView:Landroid/widget/ImageView;

    invoke-virtual {v3}, Landroid/widget/ImageView;->getHeight()I

    move-result v3

    int-to-float v3, v3

    iget v4, p0, Lim/tpelyyftgw/ui/components/crop/CropView;->bottomPadding:F

    sub-float/2addr v3, v4

    sub-float/2addr v3, v1

    const/high16 v4, 0x40000000    # 2.0f

    div-float/2addr v3, v4

    sub-float v3, p3, v3

    iget-object v4, p0, Lim/tpelyyftgw/ui/components/crop/CropView;->areaView:Lim/tpelyyftgw/ui/components/crop/CropAreaView;

    invoke-virtual {v4}, Lim/tpelyyftgw/ui/components/crop/CropAreaView;->getCropHeight()F

    move-result v4

    div-float/2addr v3, v4

    iget-object v4, p0, Lim/tpelyyftgw/ui/components/crop/CropView;->state:Lim/tpelyyftgw/ui/components/crop/CropView$CropState;

    invoke-static {v4}, Lim/tpelyyftgw/ui/components/crop/CropView$CropState;->access$1300(Lim/tpelyyftgw/ui/components/crop/CropView$CropState;)F

    move-result v4

    mul-float v3, v3, v4

    .line 736
    .local v3, "pivotY":F
    iget-object v4, p0, Lim/tpelyyftgw/ui/components/crop/CropView;->state:Lim/tpelyyftgw/ui/components/crop/CropView$CropState;

    invoke-static {v4, p1, v2, v3}, Lim/tpelyyftgw/ui/components/crop/CropView$CropState;->access$2200(Lim/tpelyyftgw/ui/components/crop/CropView$CropState;FFF)V

    .line 737
    invoke-virtual {p0}, Lim/tpelyyftgw/ui/components/crop/CropView;->updateMatrix()V

    .line 738
    return-void
.end method

.method public onScrollChangeBegan()V
    .registers 4

    .line 705
    iget-boolean v0, p0, Lim/tpelyyftgw/ui/components/crop/CropView;->animating:Z

    if-eqz v0, :cond_5

    .line 706
    return-void

    .line 709
    :cond_5
    iget-object v0, p0, Lim/tpelyyftgw/ui/components/crop/CropView;->areaView:Lim/tpelyyftgw/ui/components/crop/CropAreaView;

    sget-object v1, Lim/tpelyyftgw/ui/components/crop/CropAreaView$GridType;->MAJOR:Lim/tpelyyftgw/ui/components/crop/CropAreaView$GridType;

    const/4 v2, 0x1

    invoke-virtual {v0, v1, v2}, Lim/tpelyyftgw/ui/components/crop/CropAreaView;->setGridType(Lim/tpelyyftgw/ui/components/crop/CropAreaView$GridType;Z)V

    .line 710
    invoke-direct {p0}, Lim/tpelyyftgw/ui/components/crop/CropView;->resetRotationStartScale()V

    .line 712
    iget-object v0, p0, Lim/tpelyyftgw/ui/components/crop/CropView;->listener:Lim/tpelyyftgw/ui/components/crop/CropView$CropViewListener;

    if-eqz v0, :cond_18

    .line 713
    const/4 v1, 0x0

    invoke-interface {v0, v1}, Lim/tpelyyftgw/ui/components/crop/CropView$CropViewListener;->onChange(Z)V

    .line 715
    :cond_18
    return-void
.end method

.method public onScrollChangeEnded()V
    .registers 4

    .line 718
    iget-object v0, p0, Lim/tpelyyftgw/ui/components/crop/CropView;->areaView:Lim/tpelyyftgw/ui/components/crop/CropAreaView;

    sget-object v1, Lim/tpelyyftgw/ui/components/crop/CropAreaView$GridType;->NONE:Lim/tpelyyftgw/ui/components/crop/CropAreaView$GridType;

    const/4 v2, 0x1

    invoke-virtual {v0, v1, v2}, Lim/tpelyyftgw/ui/components/crop/CropAreaView;->setGridType(Lim/tpelyyftgw/ui/components/crop/CropAreaView$GridType;Z)V

    .line 719
    const/4 v0, 0x0

    invoke-direct {p0, v2, v0, v2}, Lim/tpelyyftgw/ui/components/crop/CropView;->fitContentInBounds(ZZZ)V

    .line 720
    return-void
.end method

.method public onTouchEvent(Landroid/view/MotionEvent;)Z
    .registers 5
    .param p1, "event"    # Landroid/view/MotionEvent;

    .line 634
    iget-boolean v0, p0, Lim/tpelyyftgw/ui/components/crop/CropView;->animating:Z

    const/4 v1, 0x1

    if-eqz v0, :cond_6

    .line 635
    return v1

    .line 637
    :cond_6
    const/4 v0, 0x0

    .line 638
    .local v0, "result":Z
    iget-object v2, p0, Lim/tpelyyftgw/ui/components/crop/CropView;->areaView:Lim/tpelyyftgw/ui/components/crop/CropAreaView;

    invoke-virtual {v2, p1}, Lim/tpelyyftgw/ui/components/crop/CropAreaView;->onTouchEvent(Landroid/view/MotionEvent;)Z

    move-result v2

    if-eqz v2, :cond_10

    .line 639
    return v1

    .line 641
    :cond_10
    invoke-virtual {p1}, Landroid/view/MotionEvent;->getAction()I

    move-result v2

    if-eqz v2, :cond_20

    if-eq v2, v1, :cond_1c

    const/4 v1, 0x3

    if-eq v2, v1, :cond_1c

    goto :goto_24

    .line 647
    :cond_1c
    invoke-virtual {p0}, Lim/tpelyyftgw/ui/components/crop/CropView;->onScrollChangeEnded()V

    goto :goto_24

    .line 643
    :cond_20
    invoke-virtual {p0}, Lim/tpelyyftgw/ui/components/crop/CropView;->onScrollChangeBegan()V

    .line 644
    nop

    .line 651
    :goto_24
    :try_start_24
    iget-object v1, p0, Lim/tpelyyftgw/ui/components/crop/CropView;->detector:Lim/tpelyyftgw/ui/components/crop/CropGestureDetector;

    invoke-virtual {v1, p1}, Lim/tpelyyftgw/ui/components/crop/CropGestureDetector;->onTouchEvent(Landroid/view/MotionEvent;)Z

    move-result v1
    :try_end_2a
    .catch Ljava/lang/Exception; {:try_start_24 .. :try_end_2a} :catch_2c

    move v0, v1

    .line 653
    goto :goto_2d

    .line 652
    :catch_2c
    move-exception v1

    .line 654
    :goto_2d
    return v0
.end method

.method public reset()V
    .registers 8

    .line 342
    iget-object v0, p0, Lim/tpelyyftgw/ui/components/crop/CropView;->areaView:Lim/tpelyyftgw/ui/components/crop/CropAreaView;

    invoke-virtual {v0}, Lim/tpelyyftgw/ui/components/crop/CropAreaView;->resetAnimator()V

    .line 344
    iget-object v0, p0, Lim/tpelyyftgw/ui/components/crop/CropView;->areaView:Lim/tpelyyftgw/ui/components/crop/CropAreaView;

    iget-object v1, p0, Lim/tpelyyftgw/ui/components/crop/CropView;->bitmap:Landroid/graphics/Bitmap;

    iget-object v2, p0, Lim/tpelyyftgw/ui/components/crop/CropView;->state:Lim/tpelyyftgw/ui/components/crop/CropView$CropState;

    invoke-static {v2}, Lim/tpelyyftgw/ui/components/crop/CropView$CropState;->access$500(Lim/tpelyyftgw/ui/components/crop/CropView$CropState;)F

    move-result v2

    const/high16 v3, 0x43340000    # 180.0f

    rem-float/2addr v2, v3

    const/4 v3, 0x1

    const/4 v4, 0x0

    const/4 v5, 0x0

    cmpl-float v2, v2, v5

    if-eqz v2, :cond_1b

    const/4 v2, 0x1

    goto :goto_1c

    :cond_1b
    const/4 v2, 0x0

    :goto_1c
    iget-boolean v6, p0, Lim/tpelyyftgw/ui/components/crop/CropView;->freeform:Z

    invoke-virtual {v0, v1, v2, v6}, Lim/tpelyyftgw/ui/components/crop/CropAreaView;->setBitmap(Landroid/graphics/Bitmap;ZZ)V

    .line 345
    iget-object v0, p0, Lim/tpelyyftgw/ui/components/crop/CropView;->areaView:Lim/tpelyyftgw/ui/components/crop/CropAreaView;

    iget-boolean v1, p0, Lim/tpelyyftgw/ui/components/crop/CropView;->freeform:Z

    if-eqz v1, :cond_29

    const/4 v1, 0x0

    goto :goto_2b

    :cond_29
    const/high16 v1, 0x3f800000    # 1.0f

    :goto_2b
    invoke-virtual {v0, v1}, Lim/tpelyyftgw/ui/components/crop/CropAreaView;->setLockedAspectRatio(F)V

    .line 346
    iget-object v0, p0, Lim/tpelyyftgw/ui/components/crop/CropView;->state:Lim/tpelyyftgw/ui/components/crop/CropView$CropState;

    iget-object v1, p0, Lim/tpelyyftgw/ui/components/crop/CropView;->areaView:Lim/tpelyyftgw/ui/components/crop/CropAreaView;

    iget-boolean v2, p0, Lim/tpelyyftgw/ui/components/crop/CropView;->freeform:Z

    invoke-static {v0, v1, v5, v2}, Lim/tpelyyftgw/ui/components/crop/CropView$CropState;->access$600(Lim/tpelyyftgw/ui/components/crop/CropView$CropState;Lim/tpelyyftgw/ui/components/crop/CropAreaView;FZ)V

    .line 347
    iget-object v0, p0, Lim/tpelyyftgw/ui/components/crop/CropView;->areaView:Lim/tpelyyftgw/ui/components/crop/CropAreaView;

    iget-object v1, p0, Lim/tpelyyftgw/ui/components/crop/CropView;->initialAreaRect:Landroid/graphics/RectF;

    invoke-virtual {v0, v1}, Lim/tpelyyftgw/ui/components/crop/CropAreaView;->getCropRect(Landroid/graphics/RectF;)V

    .line 348
    invoke-virtual {p0}, Lim/tpelyyftgw/ui/components/crop/CropView;->updateMatrix()V

    .line 350
    invoke-direct {p0}, Lim/tpelyyftgw/ui/components/crop/CropView;->resetRotationStartScale()V

    .line 352
    iget-object v0, p0, Lim/tpelyyftgw/ui/components/crop/CropView;->listener:Lim/tpelyyftgw/ui/components/crop/CropView$CropViewListener;

    if-eqz v0, :cond_50

    .line 353
    invoke-interface {v0, v3}, Lim/tpelyyftgw/ui/components/crop/CropView$CropViewListener;->onChange(Z)V

    .line 354
    iget-object v0, p0, Lim/tpelyyftgw/ui/components/crop/CropView;->listener:Lim/tpelyyftgw/ui/components/crop/CropView$CropViewListener;

    invoke-interface {v0, v4}, Lim/tpelyyftgw/ui/components/crop/CropView$CropViewListener;->onAspectLock(Z)V

    .line 356
    :cond_50
    return-void
.end method

.method public rotate90Degrees()V
    .registers 10

    .line 607
    iget-object v0, p0, Lim/tpelyyftgw/ui/components/crop/CropView;->state:Lim/tpelyyftgw/ui/components/crop/CropView$CropState;

    if-nez v0, :cond_5

    .line 608
    return-void

    .line 610
    :cond_5
    iget-object v0, p0, Lim/tpelyyftgw/ui/components/crop/CropView;->areaView:Lim/tpelyyftgw/ui/components/crop/CropAreaView;

    invoke-virtual {v0}, Lim/tpelyyftgw/ui/components/crop/CropAreaView;->resetAnimator()V

    .line 612
    invoke-direct {p0}, Lim/tpelyyftgw/ui/components/crop/CropView;->resetRotationStartScale()V

    .line 614
    iget-object v0, p0, Lim/tpelyyftgw/ui/components/crop/CropView;->state:Lim/tpelyyftgw/ui/components/crop/CropView$CropState;

    invoke-static {v0}, Lim/tpelyyftgw/ui/components/crop/CropView$CropState;->access$900(Lim/tpelyyftgw/ui/components/crop/CropView$CropState;)F

    move-result v0

    iget-object v1, p0, Lim/tpelyyftgw/ui/components/crop/CropView;->state:Lim/tpelyyftgw/ui/components/crop/CropView$CropState;

    invoke-static {v1}, Lim/tpelyyftgw/ui/components/crop/CropView$CropState;->access$500(Lim/tpelyyftgw/ui/components/crop/CropView$CropState;)F

    move-result v1

    sub-float/2addr v0, v1

    const/high16 v1, 0x42b40000    # 90.0f

    sub-float/2addr v0, v1

    const/high16 v1, 0x43b40000    # 360.0f

    rem-float/2addr v0, v1

    .line 616
    .local v0, "orientation":F
    iget-boolean v1, p0, Lim/tpelyyftgw/ui/components/crop/CropView;->freeform:Z

    .line 617
    .local v1, "fform":Z
    iget-boolean v2, p0, Lim/tpelyyftgw/ui/components/crop/CropView;->freeform:Z

    const/4 v3, 0x1

    const/4 v4, 0x0

    const/4 v5, 0x0

    if-eqz v2, :cond_4a

    iget-object v2, p0, Lim/tpelyyftgw/ui/components/crop/CropView;->areaView:Lim/tpelyyftgw/ui/components/crop/CropAreaView;

    invoke-virtual {v2}, Lim/tpelyyftgw/ui/components/crop/CropAreaView;->getLockAspectRatio()F

    move-result v2

    cmpl-float v2, v2, v5

    if-lez v2, :cond_4a

    .line 618
    iget-object v2, p0, Lim/tpelyyftgw/ui/components/crop/CropView;->areaView:Lim/tpelyyftgw/ui/components/crop/CropAreaView;

    const/high16 v6, 0x3f800000    # 1.0f

    invoke-virtual {v2}, Lim/tpelyyftgw/ui/components/crop/CropAreaView;->getLockAspectRatio()F

    move-result v7

    div-float/2addr v6, v7

    invoke-virtual {v2, v6}, Lim/tpelyyftgw/ui/components/crop/CropAreaView;->setLockedAspectRatio(F)V

    .line 619
    iget-object v2, p0, Lim/tpelyyftgw/ui/components/crop/CropView;->areaView:Lim/tpelyyftgw/ui/components/crop/CropAreaView;

    invoke-virtual {v2}, Lim/tpelyyftgw/ui/components/crop/CropAreaView;->getLockAspectRatio()F

    move-result v6

    invoke-virtual {v2, v6}, Lim/tpelyyftgw/ui/components/crop/CropAreaView;->setActualRect(F)V

    .line 620
    const/4 v1, 0x0

    goto :goto_64

    .line 622
    :cond_4a
    iget-object v2, p0, Lim/tpelyyftgw/ui/components/crop/CropView;->areaView:Lim/tpelyyftgw/ui/components/crop/CropAreaView;

    iget-object v6, p0, Lim/tpelyyftgw/ui/components/crop/CropView;->bitmap:Landroid/graphics/Bitmap;

    iget-object v7, p0, Lim/tpelyyftgw/ui/components/crop/CropView;->state:Lim/tpelyyftgw/ui/components/crop/CropView$CropState;

    invoke-static {v7}, Lim/tpelyyftgw/ui/components/crop/CropView$CropState;->access$500(Lim/tpelyyftgw/ui/components/crop/CropView$CropState;)F

    move-result v7

    add-float/2addr v7, v0

    const/high16 v8, 0x43340000    # 180.0f

    rem-float/2addr v7, v8

    cmpl-float v7, v7, v5

    if-eqz v7, :cond_5e

    const/4 v7, 0x1

    goto :goto_5f

    :cond_5e
    const/4 v7, 0x0

    :goto_5f
    iget-boolean v8, p0, Lim/tpelyyftgw/ui/components/crop/CropView;->freeform:Z

    invoke-virtual {v2, v6, v7, v8}, Lim/tpelyyftgw/ui/components/crop/CropAreaView;->setBitmap(Landroid/graphics/Bitmap;ZZ)V

    .line 625
    :goto_64
    iget-object v2, p0, Lim/tpelyyftgw/ui/components/crop/CropView;->state:Lim/tpelyyftgw/ui/components/crop/CropView$CropState;

    iget-object v6, p0, Lim/tpelyyftgw/ui/components/crop/CropView;->areaView:Lim/tpelyyftgw/ui/components/crop/CropAreaView;

    invoke-static {v2, v6, v0, v1}, Lim/tpelyyftgw/ui/components/crop/CropView$CropState;->access$600(Lim/tpelyyftgw/ui/components/crop/CropView$CropState;Lim/tpelyyftgw/ui/components/crop/CropAreaView;FZ)V

    .line 626
    invoke-virtual {p0}, Lim/tpelyyftgw/ui/components/crop/CropView;->updateMatrix()V

    .line 628
    iget-object v2, p0, Lim/tpelyyftgw/ui/components/crop/CropView;->listener:Lim/tpelyyftgw/ui/components/crop/CropView$CropViewListener;

    if-eqz v2, :cond_85

    .line 629
    cmpl-float v6, v0, v5

    if-nez v6, :cond_81

    iget-object v6, p0, Lim/tpelyyftgw/ui/components/crop/CropView;->areaView:Lim/tpelyyftgw/ui/components/crop/CropAreaView;

    invoke-virtual {v6}, Lim/tpelyyftgw/ui/components/crop/CropAreaView;->getLockAspectRatio()F

    move-result v6

    cmpl-float v5, v6, v5

    if-nez v5, :cond_81

    goto :goto_82

    :cond_81
    const/4 v3, 0x0

    :goto_82
    invoke-interface {v2, v3}, Lim/tpelyyftgw/ui/components/crop/CropView$CropViewListener;->onChange(Z)V

    .line 630
    :cond_85
    return-void
.end method

.method public scaleWidthToMaxSize(Landroid/graphics/RectF;Landroid/graphics/RectF;)F
    .registers 7
    .param p1, "sizeRect"    # Landroid/graphics/RectF;
    .param p2, "maxSizeRect"    # Landroid/graphics/RectF;

    .line 461
    invoke-virtual {p2}, Landroid/graphics/RectF;->width()F

    move-result v0

    .line 462
    .local v0, "w":F
    invoke-virtual {p1}, Landroid/graphics/RectF;->height()F

    move-result v1

    mul-float v1, v1, v0

    invoke-virtual {p1}, Landroid/graphics/RectF;->width()F

    move-result v2

    div-float/2addr v1, v2

    float-to-double v1, v1

    invoke-static {v1, v2}, Ljava/lang/Math;->floor(D)D

    move-result-wide v1

    double-to-float v1, v1

    .line 463
    .local v1, "h":F
    invoke-virtual {p2}, Landroid/graphics/RectF;->height()F

    move-result v2

    cmpl-float v2, v1, v2

    if-lez v2, :cond_32

    .line 464
    invoke-virtual {p2}, Landroid/graphics/RectF;->height()F

    move-result v1

    .line 465
    invoke-virtual {p1}, Landroid/graphics/RectF;->width()F

    move-result v2

    mul-float v2, v2, v1

    invoke-virtual {p1}, Landroid/graphics/RectF;->height()F

    move-result v3

    div-float/2addr v2, v3

    float-to-double v2, v2

    invoke-static {v2, v3}, Ljava/lang/Math;->floor(D)D

    move-result-wide v2

    double-to-float v0, v2

    .line 467
    :cond_32
    return v0
.end method

.method public setAspectRatio(F)V
    .registers 3
    .param p1, "ratio"    # F

    .line 278
    iget-object v0, p0, Lim/tpelyyftgw/ui/components/crop/CropView;->areaView:Lim/tpelyyftgw/ui/components/crop/CropAreaView;

    invoke-virtual {v0, p1}, Lim/tpelyyftgw/ui/components/crop/CropAreaView;->setActualRect(F)V

    .line 279
    return-void
.end method

.method public setBitmap(Landroid/graphics/Bitmap;IZZ)V
    .registers 8
    .param p1, "b"    # Landroid/graphics/Bitmap;
    .param p2, "rotation"    # I
    .param p3, "fform"    # Z
    .param p4, "same"    # Z

    .line 282
    iput-boolean p3, p0, Lim/tpelyyftgw/ui/components/crop/CropView;->freeform:Z

    .line 283
    const/4 v0, 0x0

    if-nez p1, :cond_f

    .line 284
    iput-object v0, p0, Lim/tpelyyftgw/ui/components/crop/CropView;->bitmap:Landroid/graphics/Bitmap;

    .line 285
    iput-object v0, p0, Lim/tpelyyftgw/ui/components/crop/CropView;->state:Lim/tpelyyftgw/ui/components/crop/CropView$CropState;

    .line 286
    iget-object v1, p0, Lim/tpelyyftgw/ui/components/crop/CropView;->imageView:Landroid/widget/ImageView;

    invoke-virtual {v1, v0}, Landroid/widget/ImageView;->setImageDrawable(Landroid/graphics/drawable/Drawable;)V

    goto :goto_3a

    .line 288
    :cond_f
    iput-object p1, p0, Lim/tpelyyftgw/ui/components/crop/CropView;->bitmap:Landroid/graphics/Bitmap;

    .line 289
    iget-object v1, p0, Lim/tpelyyftgw/ui/components/crop/CropView;->state:Lim/tpelyyftgw/ui/components/crop/CropView$CropState;

    if-eqz v1, :cond_1c

    if-nez p4, :cond_18

    goto :goto_1c

    .line 300
    :cond_18
    invoke-static {v1, p1, p2}, Lim/tpelyyftgw/ui/components/crop/CropView$CropState;->access$400(Lim/tpelyyftgw/ui/components/crop/CropView$CropState;Landroid/graphics/Bitmap;I)V

    goto :goto_33

    .line 290
    :cond_1c
    :goto_1c
    new-instance v1, Lim/tpelyyftgw/ui/components/crop/CropView$CropState;

    iget-object v2, p0, Lim/tpelyyftgw/ui/components/crop/CropView;->bitmap:Landroid/graphics/Bitmap;

    invoke-direct {v1, p0, v2, p2, v0}, Lim/tpelyyftgw/ui/components/crop/CropView$CropState;-><init>(Lim/tpelyyftgw/ui/components/crop/CropView;Landroid/graphics/Bitmap;ILim/tpelyyftgw/ui/components/crop/CropView$1;)V

    iput-object v1, p0, Lim/tpelyyftgw/ui/components/crop/CropView;->state:Lim/tpelyyftgw/ui/components/crop/CropView$CropState;

    .line 291
    iget-object v0, p0, Lim/tpelyyftgw/ui/components/crop/CropView;->imageView:Landroid/widget/ImageView;

    invoke-virtual {v0}, Landroid/widget/ImageView;->getViewTreeObserver()Landroid/view/ViewTreeObserver;

    move-result-object v0

    new-instance v1, Lim/tpelyyftgw/ui/components/crop/CropView$1;

    invoke-direct {v1, p0}, Lim/tpelyyftgw/ui/components/crop/CropView$1;-><init>(Lim/tpelyyftgw/ui/components/crop/CropView;)V

    invoke-virtual {v0, v1}, Landroid/view/ViewTreeObserver;->addOnPreDrawListener(Landroid/view/ViewTreeObserver$OnPreDrawListener;)V

    .line 302
    :goto_33
    iget-object v0, p0, Lim/tpelyyftgw/ui/components/crop/CropView;->imageView:Landroid/widget/ImageView;

    iget-object v1, p0, Lim/tpelyyftgw/ui/components/crop/CropView;->bitmap:Landroid/graphics/Bitmap;

    invoke-virtual {v0, v1}, Landroid/widget/ImageView;->setImageBitmap(Landroid/graphics/Bitmap;)V

    .line 304
    :goto_3a
    return-void
.end method

.method public setBottomPadding(F)V
    .registers 3
    .param p1, "value"    # F

    .line 273
    iput p1, p0, Lim/tpelyyftgw/ui/components/crop/CropView;->bottomPadding:F

    .line 274
    iget-object v0, p0, Lim/tpelyyftgw/ui/components/crop/CropView;->areaView:Lim/tpelyyftgw/ui/components/crop/CropAreaView;

    invoke-virtual {v0, p1}, Lim/tpelyyftgw/ui/components/crop/CropAreaView;->setBottomPadding(F)V

    .line 275
    return-void
.end method

.method public setFreeform(Z)V
    .registers 3
    .param p1, "fform"    # Z

    .line 321
    iget-object v0, p0, Lim/tpelyyftgw/ui/components/crop/CropView;->areaView:Lim/tpelyyftgw/ui/components/crop/CropAreaView;

    invoke-virtual {v0, p1}, Lim/tpelyyftgw/ui/components/crop/CropAreaView;->setFreeform(Z)V

    .line 322
    iput-boolean p1, p0, Lim/tpelyyftgw/ui/components/crop/CropView;->freeform:Z

    .line 323
    return-void
.end method

.method public setListener(Lim/tpelyyftgw/ui/components/crop/CropView$CropViewListener;)V
    .registers 2
    .param p1, "l"    # Lim/tpelyyftgw/ui/components/crop/CropView$CropViewListener;

    .line 269
    iput-object p1, p0, Lim/tpelyyftgw/ui/components/crop/CropView;->listener:Lim/tpelyyftgw/ui/components/crop/CropView$CropViewListener;

    .line 270
    return-void
.end method

.method public setRotation(F)V
    .registers 5
    .param p1, "angle"    # F

    .line 756
    iget-object v0, p0, Lim/tpelyyftgw/ui/components/crop/CropView;->state:Lim/tpelyyftgw/ui/components/crop/CropView$CropState;

    invoke-static {v0}, Lim/tpelyyftgw/ui/components/crop/CropView$CropState;->access$1500(Lim/tpelyyftgw/ui/components/crop/CropView$CropState;)F

    move-result v0

    sub-float v0, p1, v0

    .line 757
    .local v0, "deltaAngle":F
    iget-object v1, p0, Lim/tpelyyftgw/ui/components/crop/CropView;->state:Lim/tpelyyftgw/ui/components/crop/CropView$CropState;

    const/4 v2, 0x0

    invoke-static {v1, v0, v2, v2}, Lim/tpelyyftgw/ui/components/crop/CropView$CropState;->access$2300(Lim/tpelyyftgw/ui/components/crop/CropView$CropState;FFF)V

    .line 758
    const/4 v1, 0x1

    const/4 v2, 0x0

    invoke-direct {p0, v1, v1, v2}, Lim/tpelyyftgw/ui/components/crop/CropView;->fitContentInBounds(ZZZ)V

    .line 759
    return-void
.end method

.method public show()V
    .registers 3

    .line 326
    iget-object v0, p0, Lim/tpelyyftgw/ui/components/crop/CropView;->backView:Landroid/view/View;

    const/4 v1, 0x0

    invoke-virtual {v0, v1}, Landroid/view/View;->setVisibility(I)V

    .line 327
    iget-object v0, p0, Lim/tpelyyftgw/ui/components/crop/CropView;->imageView:Landroid/widget/ImageView;

    invoke-virtual {v0, v1}, Landroid/widget/ImageView;->setVisibility(I)V

    .line 328
    iget-object v0, p0, Lim/tpelyyftgw/ui/components/crop/CropView;->areaView:Lim/tpelyyftgw/ui/components/crop/CropAreaView;

    const/4 v1, 0x1

    invoke-virtual {v0, v1}, Lim/tpelyyftgw/ui/components/crop/CropAreaView;->setDimVisibility(Z)V

    .line 329
    iget-object v0, p0, Lim/tpelyyftgw/ui/components/crop/CropView;->areaView:Lim/tpelyyftgw/ui/components/crop/CropAreaView;

    invoke-virtual {v0, v1}, Lim/tpelyyftgw/ui/components/crop/CropAreaView;->setFrameVisibility(Z)V

    .line 330
    iget-object v0, p0, Lim/tpelyyftgw/ui/components/crop/CropView;->areaView:Lim/tpelyyftgw/ui/components/crop/CropAreaView;

    invoke-virtual {v0}, Lim/tpelyyftgw/ui/components/crop/CropAreaView;->invalidate()V

    .line 331
    return-void
.end method

.method public showAspectRatioDialog()V
    .registers 13

    .line 803
    iget-object v0, p0, Lim/tpelyyftgw/ui/components/crop/CropView;->areaView:Lim/tpelyyftgw/ui/components/crop/CropAreaView;

    invoke-virtual {v0}, Lim/tpelyyftgw/ui/components/crop/CropAreaView;->getLockAspectRatio()F

    move-result v0

    const/4 v1, 0x0

    const/4 v2, 0x0

    cmpl-float v0, v0, v1

    if-lez v0, :cond_19

    .line 804
    iget-object v0, p0, Lim/tpelyyftgw/ui/components/crop/CropView;->areaView:Lim/tpelyyftgw/ui/components/crop/CropAreaView;

    invoke-virtual {v0, v1}, Lim/tpelyyftgw/ui/components/crop/CropAreaView;->setLockedAspectRatio(F)V

    .line 806
    iget-object v0, p0, Lim/tpelyyftgw/ui/components/crop/CropView;->listener:Lim/tpelyyftgw/ui/components/crop/CropView$CropViewListener;

    if-eqz v0, :cond_18

    .line 807
    invoke-interface {v0, v2}, Lim/tpelyyftgw/ui/components/crop/CropView$CropViewListener;->onAspectLock(Z)V

    .line 810
    :cond_18
    return-void

    .line 813
    :cond_19
    iget-boolean v0, p0, Lim/tpelyyftgw/ui/components/crop/CropView;->hasAspectRatioDialog:Z

    if-eqz v0, :cond_1e

    .line 814
    return-void

    .line 817
    :cond_1e
    const/4 v0, 0x1

    iput-boolean v0, p0, Lim/tpelyyftgw/ui/components/crop/CropView;->hasAspectRatioDialog:Z

    .line 819
    const/16 v1, 0x8

    new-array v1, v1, [Ljava/lang/String;

    .line 821
    .local v1, "actions":[Ljava/lang/String;
    const/4 v3, 0x6

    new-array v3, v3, [[Ljava/lang/Integer;

    const/4 v4, 0x2

    new-array v5, v4, [Ljava/lang/Integer;

    .line 822
    const/4 v6, 0x3

    invoke-static {v6}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;

    move-result-object v7

    aput-object v7, v5, v2

    invoke-static {v4}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;

    move-result-object v7

    aput-object v7, v5, v0

    aput-object v5, v3, v2

    new-array v5, v4, [Ljava/lang/Integer;

    .line 823
    const/4 v7, 0x5

    invoke-static {v7}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;

    move-result-object v8

    aput-object v8, v5, v2

    invoke-static {v6}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;

    move-result-object v8

    aput-object v8, v5, v0

    aput-object v5, v3, v0

    new-array v5, v4, [Ljava/lang/Integer;

    .line 824
    const/4 v8, 0x4

    invoke-static {v8}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;

    move-result-object v9

    aput-object v9, v5, v2

    invoke-static {v6}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;

    move-result-object v9

    aput-object v9, v5, v0

    aput-object v5, v3, v4

    new-array v5, v4, [Ljava/lang/Integer;

    .line 825
    invoke-static {v7}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;

    move-result-object v9

    aput-object v9, v5, v2

    invoke-static {v8}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;

    move-result-object v9

    aput-object v9, v5, v0

    aput-object v5, v3, v6

    new-array v5, v4, [Ljava/lang/Integer;

    const/4 v6, 0x7

    .line 826
    invoke-static {v6}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;

    move-result-object v6

    aput-object v6, v5, v2

    invoke-static {v7}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;

    move-result-object v6

    aput-object v6, v5, v0

    aput-object v5, v3, v8

    new-array v5, v4, [Ljava/lang/Integer;

    const/16 v6, 0x10

    .line 827
    invoke-static {v6}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;

    move-result-object v6

    aput-object v6, v5, v2

    const/16 v6, 0x9

    invoke-static {v6}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;

    move-result-object v6

    aput-object v6, v5, v0

    aput-object v5, v3, v7

    .line 830
    .local v3, "ratios":[[Ljava/lang/Integer;
    const v5, 0x7f0f0499

    const-string v6, "CropOriginal"

    invoke-static {v6, v5}, Lim/tpelyyftgw/messenger/LocaleController;->getString(Ljava/lang/String;I)Ljava/lang/String;

    move-result-object v5

    aput-object v5, v1, v2

    .line 831
    const v5, 0x7f0f049b

    const-string v6, "CropSquare"

    invoke-static {v6, v5}, Lim/tpelyyftgw/messenger/LocaleController;->getString(Ljava/lang/String;I)Ljava/lang/String;

    move-result-object v5

    aput-object v5, v1, v0

    .line 833
    const/4 v5, 0x2

    .line 834
    .local v5, "i":I
    array-length v6, v3

    const/4 v7, 0x0

    :goto_aa
    if-ge v7, v6, :cond_e3

    aget-object v8, v3, v7

    .line 835
    .local v8, "ratioPair":[Ljava/lang/Integer;
    iget-object v9, p0, Lim/tpelyyftgw/ui/components/crop/CropView;->areaView:Lim/tpelyyftgw/ui/components/crop/CropAreaView;

    invoke-virtual {v9}, Lim/tpelyyftgw/ui/components/crop/CropAreaView;->getAspectRatio()F

    move-result v9

    const/high16 v10, 0x3f800000    # 1.0f

    const-string v11, "%d:%d"

    cmpl-float v9, v9, v10

    if-lez v9, :cond_cd

    .line 836
    new-array v9, v4, [Ljava/lang/Object;

    aget-object v10, v8, v2

    aput-object v10, v9, v2

    aget-object v10, v8, v0

    aput-object v10, v9, v0

    invoke-static {v11, v9}, Ljava/lang/String;->format(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;

    move-result-object v9

    aput-object v9, v1, v5

    goto :goto_dd

    .line 838
    :cond_cd
    new-array v9, v4, [Ljava/lang/Object;

    aget-object v10, v8, v0

    aput-object v10, v9, v2

    aget-object v10, v8, v2

    aput-object v10, v9, v0

    invoke-static {v11, v9}, Ljava/lang/String;->format(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;

    move-result-object v9

    aput-object v9, v1, v5

    .line 840
    :goto_dd
    nop

    .end local v8    # "ratioPair":[Ljava/lang/Integer;
    add-int/lit8 v5, v5, 0x1

    .line 834
    add-int/lit8 v7, v7, 0x1

    goto :goto_aa

    .line 843
    :cond_e3
    new-instance v2, Lim/tpelyyftgw/ui/actionbar/AlertDialog$Builder;

    invoke-virtual {p0}, Lim/tpelyyftgw/ui/components/crop/CropView;->getContext()Landroid/content/Context;

    move-result-object v4

    invoke-direct {v2, v4}, Lim/tpelyyftgw/ui/actionbar/AlertDialog$Builder;-><init>(Landroid/content/Context;)V

    new-instance v4, Lim/tpelyyftgw/ui/components/crop/-$$Lambda$CropView$V5b4rXlIRkRE4kCDjS9UAjSN0W0;

    invoke-direct {v4, p0, v3}, Lim/tpelyyftgw/ui/components/crop/-$$Lambda$CropView$V5b4rXlIRkRE4kCDjS9UAjSN0W0;-><init>(Lim/tpelyyftgw/ui/components/crop/CropView;[[Ljava/lang/Integer;)V

    .line 844
    invoke-virtual {v2, v1, v4}, Lim/tpelyyftgw/ui/actionbar/AlertDialog$Builder;->setItems([Ljava/lang/CharSequence;Landroid/content/DialogInterface$OnClickListener;)Lim/tpelyyftgw/ui/actionbar/AlertDialog$Builder;

    move-result-object v2

    .line 871
    invoke-virtual {v2}, Lim/tpelyyftgw/ui/actionbar/AlertDialog$Builder;->create()Lim/tpelyyftgw/ui/actionbar/AlertDialog;

    move-result-object v2

    .line 872
    .local v2, "dialog":Lim/tpelyyftgw/ui/actionbar/AlertDialog;
    invoke-virtual {v2, v0}, Lim/tpelyyftgw/ui/actionbar/AlertDialog;->setCanceledOnTouchOutside(Z)V

    .line 873
    new-instance v0, Lim/tpelyyftgw/ui/components/crop/-$$Lambda$CropView$m23Dn1410awFjbT9QeDl8JgzoGw;

    invoke-direct {v0, p0}, Lim/tpelyyftgw/ui/components/crop/-$$Lambda$CropView$m23Dn1410awFjbT9QeDl8JgzoGw;-><init>(Lim/tpelyyftgw/ui/components/crop/CropView;)V

    invoke-virtual {v2, v0}, Lim/tpelyyftgw/ui/actionbar/AlertDialog;->setOnCancelListener(Landroid/content/DialogInterface$OnCancelListener;)V

    .line 874
    invoke-virtual {v2}, Lim/tpelyyftgw/ui/actionbar/AlertDialog;->show()V

    .line 875
    return-void
.end method

.method public showBackView()V
    .registers 3

    .line 317
    iget-object v0, p0, Lim/tpelyyftgw/ui/components/crop/CropView;->backView:Landroid/view/View;

    const/4 v1, 0x0

    invoke-virtual {v0, v1}, Landroid/view/View;->setVisibility(I)V

    .line 318
    return-void
.end method

.method public updateLayout()V
    .registers 6

    .line 878
    iget-object v0, p0, Lim/tpelyyftgw/ui/components/crop/CropView;->areaView:Lim/tpelyyftgw/ui/components/crop/CropAreaView;

    invoke-virtual {v0}, Lim/tpelyyftgw/ui/components/crop/CropAreaView;->getCropWidth()F

    move-result v0

    .line 879
    .local v0, "w":F
    iget-object v1, p0, Lim/tpelyyftgw/ui/components/crop/CropView;->state:Lim/tpelyyftgw/ui/components/crop/CropView$CropState;

    if-eqz v1, :cond_3c

    .line 880
    iget-object v2, p0, Lim/tpelyyftgw/ui/components/crop/CropView;->areaView:Lim/tpelyyftgw/ui/components/crop/CropAreaView;

    iget-object v3, p0, Lim/tpelyyftgw/ui/components/crop/CropView;->initialAreaRect:Landroid/graphics/RectF;

    invoke-static {v1}, Lim/tpelyyftgw/ui/components/crop/CropView$CropState;->access$700(Lim/tpelyyftgw/ui/components/crop/CropView$CropState;)F

    move-result v1

    iget-object v4, p0, Lim/tpelyyftgw/ui/components/crop/CropView;->state:Lim/tpelyyftgw/ui/components/crop/CropView$CropState;

    invoke-static {v4}, Lim/tpelyyftgw/ui/components/crop/CropView$CropState;->access$800(Lim/tpelyyftgw/ui/components/crop/CropView$CropState;)F

    move-result v4

    div-float/2addr v1, v4

    invoke-virtual {v2, v3, v1}, Lim/tpelyyftgw/ui/components/crop/CropAreaView;->calculateRect(Landroid/graphics/RectF;F)V

    .line 881
    iget-object v1, p0, Lim/tpelyyftgw/ui/components/crop/CropView;->areaView:Lim/tpelyyftgw/ui/components/crop/CropAreaView;

    invoke-virtual {v1}, Lim/tpelyyftgw/ui/components/crop/CropAreaView;->getAspectRatio()F

    move-result v2

    invoke-virtual {v1, v2}, Lim/tpelyyftgw/ui/components/crop/CropAreaView;->setActualRect(F)V

    .line 882
    iget-object v1, p0, Lim/tpelyyftgw/ui/components/crop/CropView;->areaView:Lim/tpelyyftgw/ui/components/crop/CropAreaView;

    iget-object v2, p0, Lim/tpelyyftgw/ui/components/crop/CropView;->previousAreaRect:Landroid/graphics/RectF;

    invoke-virtual {v1, v2}, Lim/tpelyyftgw/ui/components/crop/CropAreaView;->getCropRect(Landroid/graphics/RectF;)V

    .line 884
    iget-object v1, p0, Lim/tpelyyftgw/ui/components/crop/CropView;->areaView:Lim/tpelyyftgw/ui/components/crop/CropAreaView;

    invoke-virtual {v1}, Lim/tpelyyftgw/ui/components/crop/CropAreaView;->getCropWidth()F

    move-result v1

    div-float/2addr v1, v0

    .line 885
    .local v1, "ratio":F
    iget-object v2, p0, Lim/tpelyyftgw/ui/components/crop/CropView;->state:Lim/tpelyyftgw/ui/components/crop/CropView$CropState;

    const/4 v3, 0x0

    invoke-static {v2, v1, v3, v3}, Lim/tpelyyftgw/ui/components/crop/CropView$CropState;->access$2200(Lim/tpelyyftgw/ui/components/crop/CropView$CropState;FFF)V

    .line 886
    invoke-virtual {p0}, Lim/tpelyyftgw/ui/components/crop/CropView;->updateMatrix()V

    .line 888
    .end local v1    # "ratio":F
    :cond_3c
    return-void
.end method

.method public updateMatrix()V
    .registers 5

    .line 359
    iget-object v0, p0, Lim/tpelyyftgw/ui/components/crop/CropView;->presentationMatrix:Landroid/graphics/Matrix;

    invoke-virtual {v0}, Landroid/graphics/Matrix;->reset()V

    .line 360
    iget-object v0, p0, Lim/tpelyyftgw/ui/components/crop/CropView;->presentationMatrix:Landroid/graphics/Matrix;

    iget-object v1, p0, Lim/tpelyyftgw/ui/components/crop/CropView;->state:Lim/tpelyyftgw/ui/components/crop/CropView$CropState;

    invoke-static {v1}, Lim/tpelyyftgw/ui/components/crop/CropView$CropState;->access$700(Lim/tpelyyftgw/ui/components/crop/CropView$CropState;)F

    move-result v1

    neg-float v1, v1

    const/high16 v2, 0x40000000    # 2.0f

    div-float/2addr v1, v2

    iget-object v3, p0, Lim/tpelyyftgw/ui/components/crop/CropView;->state:Lim/tpelyyftgw/ui/components/crop/CropView$CropState;

    invoke-static {v3}, Lim/tpelyyftgw/ui/components/crop/CropView$CropState;->access$800(Lim/tpelyyftgw/ui/components/crop/CropView$CropState;)F

    move-result v3

    neg-float v3, v3

    div-float/2addr v3, v2

    invoke-virtual {v0, v1, v3}, Landroid/graphics/Matrix;->postTranslate(FF)Z

    .line 361
    iget-object v0, p0, Lim/tpelyyftgw/ui/components/crop/CropView;->presentationMatrix:Landroid/graphics/Matrix;

    iget-object v1, p0, Lim/tpelyyftgw/ui/components/crop/CropView;->state:Lim/tpelyyftgw/ui/components/crop/CropView$CropState;

    invoke-static {v1}, Lim/tpelyyftgw/ui/components/crop/CropView$CropState;->access$900(Lim/tpelyyftgw/ui/components/crop/CropView$CropState;)F

    move-result v1

    invoke-virtual {v0, v1}, Landroid/graphics/Matrix;->postRotate(F)Z

    .line 362
    iget-object v0, p0, Lim/tpelyyftgw/ui/components/crop/CropView;->state:Lim/tpelyyftgw/ui/components/crop/CropView$CropState;

    iget-object v1, p0, Lim/tpelyyftgw/ui/components/crop/CropView;->presentationMatrix:Landroid/graphics/Matrix;

    invoke-static {v0, v1}, Lim/tpelyyftgw/ui/components/crop/CropView$CropState;->access$1000(Lim/tpelyyftgw/ui/components/crop/CropView$CropState;Landroid/graphics/Matrix;)V

    .line 363
    iget-object v0, p0, Lim/tpelyyftgw/ui/components/crop/CropView;->presentationMatrix:Landroid/graphics/Matrix;

    iget-object v1, p0, Lim/tpelyyftgw/ui/components/crop/CropView;->areaView:Lim/tpelyyftgw/ui/components/crop/CropAreaView;

    invoke-virtual {v1}, Lim/tpelyyftgw/ui/components/crop/CropAreaView;->getCropCenterX()F

    move-result v1

    iget-object v2, p0, Lim/tpelyyftgw/ui/components/crop/CropView;->areaView:Lim/tpelyyftgw/ui/components/crop/CropAreaView;

    invoke-virtual {v2}, Lim/tpelyyftgw/ui/components/crop/CropAreaView;->getCropCenterY()F

    move-result v2

    invoke-virtual {v0, v1, v2}, Landroid/graphics/Matrix;->postTranslate(FF)Z

    .line 365
    iget-object v0, p0, Lim/tpelyyftgw/ui/components/crop/CropView;->imageView:Landroid/widget/ImageView;

    iget-object v1, p0, Lim/tpelyyftgw/ui/components/crop/CropView;->presentationMatrix:Landroid/graphics/Matrix;

    invoke-virtual {v0, v1}, Landroid/widget/ImageView;->setImageMatrix(Landroid/graphics/Matrix;)V

    .line 366
    return-void
.end method

.method public willShow()V
    .registers 3

    .line 307
    iget-object v0, p0, Lim/tpelyyftgw/ui/components/crop/CropView;->areaView:Lim/tpelyyftgw/ui/components/crop/CropAreaView;

    const/4 v1, 0x1

    invoke-virtual {v0, v1}, Lim/tpelyyftgw/ui/components/crop/CropAreaView;->setFrameVisibility(Z)V

    .line 308
    iget-object v0, p0, Lim/tpelyyftgw/ui/components/crop/CropView;->areaView:Lim/tpelyyftgw/ui/components/crop/CropAreaView;

    invoke-virtual {v0, v1}, Lim/tpelyyftgw/ui/components/crop/CropAreaView;->setDimVisibility(Z)V

    .line 309
    iget-object v0, p0, Lim/tpelyyftgw/ui/components/crop/CropView;->areaView:Lim/tpelyyftgw/ui/components/crop/CropAreaView;

    invoke-virtual {v0}, Lim/tpelyyftgw/ui/components/crop/CropAreaView;->invalidate()V

    .line 310
    return-void
.end method