CropRotationWheel.smali
.class public Lim/tpelyyftgw/ui/components/crop/CropRotationWheel;
.super Landroid/widget/FrameLayout;
.source "CropRotationWheel.java"
# annotations
.annotation system Ldalvik/annotation/MemberClasses;
value = {
Lim/tpelyyftgw/ui/components/crop/CropRotationWheel$RotationWheelListener;
}
.end annotation
# static fields
.field private static final DELTA_ANGLE:I
.field private static final MAX_ANGLE:I
# instance fields
.field private aspectRatioButton:Landroid/widget/ImageView;
.field private bluePaint:Landroid/graphics/Paint;
.field private degreesLabel:Landroid/widget/TextView;
.field private prevX:F
.field protected rotation:F
.field private rotationListener:Lim/tpelyyftgw/ui/components/crop/CropRotationWheel$RotationWheelListener;
.field private tempRect:Landroid/graphics/RectF;
.field private whitePaint:Landroid/graphics/Paint;
# direct methods
.method static constructor <clinit>()V
.registers 1
const v0, 0x156a
invoke-static {v0}, Lnp/NPFog;->d(I)I
move-result v0
sput v0, Lim/tpelyyftgw/ui/components/crop/CropRotationWheel;->DELTA_ANGLE:I
const v0, 0x1542
invoke-static {v0}, Lnp/NPFog;->d(I)I
move-result v0
sput v0, Lim/tpelyyftgw/ui/components/crop/CropRotationWheel;->MAX_ANGLE:I
return-void
.end method
.method public constructor <init>(Landroid/content/Context;)V
.registers 9
.param p1, "context" # Landroid/content/Context;
.line 49
invoke-direct {p0, p1}, Landroid/widget/FrameLayout;-><init>(Landroid/content/Context;)V
.line 51
new-instance v0, Landroid/graphics/RectF;
const/4 v1, 0x0
invoke-direct {v0, v1, v1, v1, v1}, Landroid/graphics/RectF;-><init>(FFFF)V
iput-object v0, p0, Lim/tpelyyftgw/ui/components/crop/CropRotationWheel;->tempRect:Landroid/graphics/RectF;
.line 53
new-instance v0, Landroid/graphics/Paint;
invoke-direct {v0}, Landroid/graphics/Paint;-><init>()V
iput-object v0, p0, Lim/tpelyyftgw/ui/components/crop/CropRotationWheel;->whitePaint:Landroid/graphics/Paint;
.line 54
sget-object v2, Landroid/graphics/Paint$Style;->FILL:Landroid/graphics/Paint$Style;
invoke-virtual {v0, v2}, Landroid/graphics/Paint;->setStyle(Landroid/graphics/Paint$Style;)V
.line 55
iget-object v0, p0, Lim/tpelyyftgw/ui/components/crop/CropRotationWheel;->whitePaint:Landroid/graphics/Paint;
const/4 v2, -0x1
invoke-virtual {v0, v2}, Landroid/graphics/Paint;->setColor(I)V
.line 56
iget-object v0, p0, Lim/tpelyyftgw/ui/components/crop/CropRotationWheel;->whitePaint:Landroid/graphics/Paint;
const/16 v3, 0xff
invoke-virtual {v0, v3}, Landroid/graphics/Paint;->setAlpha(I)V
.line 57
iget-object v0, p0, Lim/tpelyyftgw/ui/components/crop/CropRotationWheel;->whitePaint:Landroid/graphics/Paint;
const/4 v4, 0x1
invoke-virtual {v0, v4}, Landroid/graphics/Paint;->setAntiAlias(Z)V
.line 59
new-instance v0, Landroid/graphics/Paint;
invoke-direct {v0}, Landroid/graphics/Paint;-><init>()V
iput-object v0, p0, Lim/tpelyyftgw/ui/components/crop/CropRotationWheel;->bluePaint:Landroid/graphics/Paint;
.line 60
sget-object v5, Landroid/graphics/Paint$Style;->FILL:Landroid/graphics/Paint$Style;
invoke-virtual {v0, v5}, Landroid/graphics/Paint;->setStyle(Landroid/graphics/Paint$Style;)V
.line 61
iget-object v0, p0, Lim/tpelyyftgw/ui/components/crop/CropRotationWheel;->bluePaint:Landroid/graphics/Paint;
const v5, -0xae420d
invoke-virtual {v0, v5}, Landroid/graphics/Paint;->setColor(I)V
.line 62
iget-object v0, p0, Lim/tpelyyftgw/ui/components/crop/CropRotationWheel;->bluePaint:Landroid/graphics/Paint;
invoke-virtual {v0, v3}, Landroid/graphics/Paint;->setAlpha(I)V
.line 63
iget-object v0, p0, Lim/tpelyyftgw/ui/components/crop/CropRotationWheel;->bluePaint:Landroid/graphics/Paint;
invoke-virtual {v0, v4}, Landroid/graphics/Paint;->setAntiAlias(Z)V
.line 65
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/CropRotationWheel;->aspectRatioButton:Landroid/widget/ImageView;
.line 66
const v3, 0x7f08039b
invoke-virtual {v0, v3}, Landroid/widget/ImageView;->setImageResource(I)V
.line 67
iget-object v0, p0, Lim/tpelyyftgw/ui/components/crop/CropRotationWheel;->aspectRatioButton:Landroid/widget/ImageView;
const v3, 0x40ffffff # 7.9999995f
invoke-static {v3}, Lim/tpelyyftgw/ui/actionbar/Theme;->createSelectorDrawable(I)Landroid/graphics/drawable/Drawable;
move-result-object v4
invoke-virtual {v0, v4}, Landroid/widget/ImageView;->setBackgroundDrawable(Landroid/graphics/drawable/Drawable;)V
.line 68
iget-object v0, p0, Lim/tpelyyftgw/ui/components/crop/CropRotationWheel;->aspectRatioButton:Landroid/widget/ImageView;
sget-object v4, Landroid/widget/ImageView$ScaleType;->CENTER:Landroid/widget/ImageView$ScaleType;
invoke-virtual {v0, v4}, Landroid/widget/ImageView;->setScaleType(Landroid/widget/ImageView$ScaleType;)V
.line 69
iget-object v0, p0, Lim/tpelyyftgw/ui/components/crop/CropRotationWheel;->aspectRatioButton:Landroid/widget/ImageView;
new-instance v4, Lim/tpelyyftgw/ui/components/crop/-$$Lambda$CropRotationWheel$am9zxlRlZH75eQSOWtiu5vSnw38;
invoke-direct {v4, p0}, Lim/tpelyyftgw/ui/components/crop/-$$Lambda$CropRotationWheel$am9zxlRlZH75eQSOWtiu5vSnw38;-><init>(Lim/tpelyyftgw/ui/components/crop/CropRotationWheel;)V
invoke-virtual {v0, v4}, Landroid/widget/ImageView;->setOnClickListener(Landroid/view/View$OnClickListener;)V
.line 73
iget-object v0, p0, Lim/tpelyyftgw/ui/components/crop/CropRotationWheel;->aspectRatioButton:Landroid/widget/ImageView;
const-string v4, "AccDescrAspectRatio"
const v5, 0x7f0f000e
invoke-static {v4, v5}, Lim/tpelyyftgw/messenger/LocaleController;->getString(Ljava/lang/String;I)Ljava/lang/String;
move-result-object v4
invoke-virtual {v0, v4}, Landroid/widget/ImageView;->setContentDescription(Ljava/lang/CharSequence;)V
.line 74
iget-object v0, p0, Lim/tpelyyftgw/ui/components/crop/CropRotationWheel;->aspectRatioButton:Landroid/widget/ImageView;
const/16 v4, 0x40
const/16 v5, 0x46
const/16 v6, 0x13
invoke-static {v5, v4, v6}, Lim/tpelyyftgw/ui/components/LayoutHelper;->createFrame(III)Landroid/widget/FrameLayout$LayoutParams;
move-result-object v6
invoke-virtual {p0, v0, v6}, Lim/tpelyyftgw/ui/components/crop/CropRotationWheel;->addView(Landroid/view/View;Landroid/view/ViewGroup$LayoutParams;)V
.line 76
new-instance v0, Landroid/widget/ImageView;
invoke-direct {v0, p1}, Landroid/widget/ImageView;-><init>(Landroid/content/Context;)V
.line 77
.local v0, "rotation90Button":Landroid/widget/ImageView;
const v6, 0x7f08039d
invoke-virtual {v0, v6}, Landroid/widget/ImageView;->setImageResource(I)V
.line 78
invoke-static {v3}, Lim/tpelyyftgw/ui/actionbar/Theme;->createSelectorDrawable(I)Landroid/graphics/drawable/Drawable;
move-result-object v3
invoke-virtual {v0, v3}, Landroid/widget/ImageView;->setBackgroundDrawable(Landroid/graphics/drawable/Drawable;)V
.line 79
sget-object v3, Landroid/widget/ImageView$ScaleType;->CENTER:Landroid/widget/ImageView$ScaleType;
invoke-virtual {v0, v3}, Landroid/widget/ImageView;->setScaleType(Landroid/widget/ImageView$ScaleType;)V
.line 80
new-instance v3, Lim/tpelyyftgw/ui/components/crop/-$$Lambda$CropRotationWheel$wO6-OV-bl1_BO_q-bCULvUrraxs;
invoke-direct {v3, p0}, Lim/tpelyyftgw/ui/components/crop/-$$Lambda$CropRotationWheel$wO6-OV-bl1_BO_q-bCULvUrraxs;-><init>(Lim/tpelyyftgw/ui/components/crop/CropRotationWheel;)V
invoke-virtual {v0, v3}, Landroid/widget/ImageView;->setOnClickListener(Landroid/view/View$OnClickListener;)V
.line 85
const-string v3, "AccDescrRotate"
const v6, 0x7f0f0045
invoke-static {v3, v6}, Lim/tpelyyftgw/messenger/LocaleController;->getString(Ljava/lang/String;I)Ljava/lang/String;
move-result-object v3
invoke-virtual {v0, v3}, Landroid/widget/ImageView;->setContentDescription(Ljava/lang/CharSequence;)V
.line 86
const/16 v3, 0x15
invoke-static {v5, v4, v3}, Lim/tpelyyftgw/ui/components/LayoutHelper;->createFrame(III)Landroid/widget/FrameLayout$LayoutParams;
move-result-object v3
invoke-virtual {p0, v0, v3}, Lim/tpelyyftgw/ui/components/crop/CropRotationWheel;->addView(Landroid/view/View;Landroid/view/ViewGroup$LayoutParams;)V
.line 88
new-instance v3, Landroid/widget/TextView;
invoke-direct {v3, p1}, Landroid/widget/TextView;-><init>(Landroid/content/Context;)V
iput-object v3, p0, Lim/tpelyyftgw/ui/components/crop/CropRotationWheel;->degreesLabel:Landroid/widget/TextView;
.line 89
invoke-virtual {v3, v2}, Landroid/widget/TextView;->setTextColor(I)V
.line 90
iget-object v2, p0, Lim/tpelyyftgw/ui/components/crop/CropRotationWheel;->degreesLabel:Landroid/widget/TextView;
const/4 v3, -0x2
const/16 v4, 0x31
invoke-static {v3, v3, v4}, Lim/tpelyyftgw/ui/components/LayoutHelper;->createFrame(III)Landroid/widget/FrameLayout$LayoutParams;
move-result-object v3
invoke-virtual {p0, v2, v3}, Lim/tpelyyftgw/ui/components/crop/CropRotationWheel;->addView(Landroid/view/View;Landroid/view/ViewGroup$LayoutParams;)V
.line 92
const/4 v2, 0x0
invoke-virtual {p0, v2}, Lim/tpelyyftgw/ui/components/crop/CropRotationWheel;->setWillNotDraw(Z)V
.line 94
invoke-virtual {p0, v1, v2}, Lim/tpelyyftgw/ui/components/crop/CropRotationWheel;->setRotation(FZ)V
.line 95
return-void
.end method
# virtual methods
.method protected drawLine(Landroid/graphics/Canvas;IFIIZLandroid/graphics/Paint;)V
.registers 25
.param p1, "canvas" # Landroid/graphics/Canvas;
.param p2, "i" # I
.param p3, "delta" # F
.param p4, "width" # I
.param p5, "height" # I
.param p6, "center" # Z
.param p7, "paint" # Landroid/graphics/Paint;
.line 201
move/from16 v0, p4
int-to-float v1, v0
const/high16 v2, 0x40000000 # 2.0f
div-float/2addr v1, v2
const/high16 v2, 0x428c0000 # 70.0f
invoke-static {v2}, Lim/tpelyyftgw/messenger/AndroidUtilities;->dp(F)I
move-result v2
int-to-float v2, v2
sub-float/2addr v1, v2
float-to-int v1, v1
.line 203
.local v1, "radius":I
mul-int/lit8 v2, p2, 0x5
int-to-float v2, v2
add-float v2, v2, p3
const/high16 v3, 0x42b40000 # 90.0f
sub-float/2addr v3, v2
.line 204
.local v3, "angle":F
int-to-double v4, v1
float-to-double v6, v3
invoke-static {v6, v7}, Ljava/lang/Math;->toRadians(D)D
move-result-wide v6
invoke-static {v6, v7}, Ljava/lang/Math;->cos(D)D
move-result-wide v6
invoke-static {v4, v5}, Ljava/lang/Double;->isNaN(D)Z
mul-double v4, v4, v6
double-to-int v2, v4
.line 205
.local v2, "val":I
div-int/lit8 v4, v0, 0x2
add-int/2addr v4, v2
.line 207
.local v4, "x":I
invoke-static {v2}, Ljava/lang/Math;->abs(I)I
move-result v5
int-to-float v5, v5
int-to-float v6, v1
div-float/2addr v5, v6
.line 208
.local v5, "f":F
mul-float v6, v5, v5
const/high16 v7, 0x3f800000 # 1.0f
sub-float/2addr v7, v6
const/high16 v6, 0x437f0000 # 255.0f
mul-float v7, v7, v6
float-to-int v6, v7
const/4 v7, 0x0
invoke-static {v7, v6}, Ljava/lang/Math;->max(II)I
move-result v6
const/16 v7, 0xff
invoke-static {v7, v6}, Ljava/lang/Math;->min(II)I
move-result v6
.line 210
.local v6, "alpha":I
if-eqz p6, :cond_4d
.line 211
move-object/from16 v7, p0
iget-object v8, v7, Lim/tpelyyftgw/ui/components/crop/CropRotationWheel;->bluePaint:Landroid/graphics/Paint;
.end local p7 # "paint":Landroid/graphics/Paint;
.local v8, "paint":Landroid/graphics/Paint;
goto :goto_51
.line 210
.end local v8 # "paint":Landroid/graphics/Paint;
.restart local p7 # "paint":Landroid/graphics/Paint;
:cond_4d
move-object/from16 v7, p0
move-object/from16 v8, p7
.line 213
.end local p7 # "paint":Landroid/graphics/Paint;
.restart local v8 # "paint":Landroid/graphics/Paint;
:goto_51
invoke-virtual {v8, v6}, Landroid/graphics/Paint;->setAlpha(I)V
.line 215
const/4 v9, 0x2
if-eqz p6, :cond_59
const/4 v10, 0x4
goto :goto_5a
:cond_59
const/4 v10, 0x2
:goto_5a
move v15, v10
.line 216
.local v15, "w":I
if-eqz p6, :cond_60
const/high16 v10, 0x41800000 # 16.0f
goto :goto_62
:cond_60
const/high16 v10, 0x41400000 # 12.0f
:goto_62
invoke-static {v10}, Lim/tpelyyftgw/messenger/AndroidUtilities;->dp(F)I
move-result v10
move/from16 v16, v10
.line 218
.local v16, "h":I
div-int/lit8 v10, v15, 0x2
sub-int v10, v4, v10
int-to-float v10, v10
sub-int v11, p5, v16
div-int/2addr v11, v9
int-to-float v11, v11
div-int/lit8 v12, v15, 0x2
add-int/2addr v12, v4
int-to-float v12, v12
add-int v13, p5, v16
div-int/2addr v13, v9
int-to-float v13, v13
move-object/from16 v9, p1
move-object v14, v8
invoke-virtual/range {v9 .. v14}, Landroid/graphics/Canvas;->drawRect(FFFFLandroid/graphics/Paint;)V
.line 219
return-void
.end method
.method public synthetic lambda$new$0$CropRotationWheel(Landroid/view/View;)V
.registers 3
.param p1, "v" # Landroid/view/View;
.line 70
iget-object v0, p0, Lim/tpelyyftgw/ui/components/crop/CropRotationWheel;->rotationListener:Lim/tpelyyftgw/ui/components/crop/CropRotationWheel$RotationWheelListener;
if-eqz v0, :cond_7
.line 71
invoke-interface {v0}, Lim/tpelyyftgw/ui/components/crop/CropRotationWheel$RotationWheelListener;->aspectRatioPressed()V
.line 72
:cond_7
return-void
.end method
.method public synthetic lambda$new$1$CropRotationWheel(Landroid/view/View;)V
.registers 3
.param p1, "v" # Landroid/view/View;
.line 81
iget-object v0, p0, Lim/tpelyyftgw/ui/components/crop/CropRotationWheel;->rotationListener:Lim/tpelyyftgw/ui/components/crop/CropRotationWheel$RotationWheelListener;
if-eqz v0, :cond_7
.line 82
invoke-interface {v0}, Lim/tpelyyftgw/ui/components/crop/CropRotationWheel$RotationWheelListener;->rotate90Pressed()V
.line 84
:cond_7
return-void
.end method
.method protected onDraw(Landroid/graphics/Canvas;)V
.registers 22
.param p1, "canvas" # Landroid/graphics/Canvas;
.line 167
move-object/from16 v8, p0
invoke-super/range {p0 .. p1}, Landroid/widget/FrameLayout;->onDraw(Landroid/graphics/Canvas;)V
.line 169
invoke-virtual/range {p0 .. p0}, Lim/tpelyyftgw/ui/components/crop/CropRotationWheel;->getWidth()I
move-result v9
.line 170
.local v9, "width":I
invoke-virtual/range {p0 .. p0}, Lim/tpelyyftgw/ui/components/crop/CropRotationWheel;->getHeight()I
move-result v10
.line 172
.local v10, "height":I
iget v0, v8, Lim/tpelyyftgw/ui/components/crop/CropRotationWheel;->rotation:F
neg-float v0, v0
const/high16 v11, 0x40000000 # 2.0f
mul-float v12, v0, v11
.line 173
.local v12, "angle":F
const/high16 v0, 0x40a00000 # 5.0f
rem-float v13, v12, v0
.line 174
.local v13, "delta":F
div-float v0, v12, v0
float-to-double v0, v0
invoke-static {v0, v1}, Ljava/lang/Math;->floor(D)D
move-result-wide v0
double-to-int v14, v0
.line 176
.local v14, "segments":I
const/4 v0, 0x0
move v15, v0
.local v15, "i":I
:goto_22
const/16 v0, 0x10
if-ge v15, v0, :cond_7b
.line 177
iget-object v0, v8, Lim/tpelyyftgw/ui/components/crop/CropRotationWheel;->whitePaint:Landroid/graphics/Paint;
.line 178
.local v0, "paint":Landroid/graphics/Paint;
move v7, v15
.line 179
.local v7, "a":I
if-lt v7, v14, :cond_36
if-nez v7, :cond_33
const/4 v1, 0x0
cmpg-float v1, v13, v1
if-gez v1, :cond_33
goto :goto_36
.line 182
:cond_33
move-object/from16 v16, v0
goto :goto_3a
.line 180
:cond_36
:goto_36
iget-object v0, v8, Lim/tpelyyftgw/ui/components/crop/CropRotationWheel;->bluePaint:Landroid/graphics/Paint;
move-object/from16 v16, v0
.line 182
.end local v0 # "paint":Landroid/graphics/Paint;
.local v16, "paint":Landroid/graphics/Paint;
:goto_3a
const/16 v17, 0x0
const/16 v18, 0x1
if-eq v7, v14, :cond_48
if-nez v7, :cond_46
const/4 v0, -0x1
if-ne v14, v0, :cond_46
goto :goto_48
:cond_46
const/4 v6, 0x0
goto :goto_49
:cond_48
:goto_48
const/4 v6, 0x1
:goto_49
move-object/from16 v0, p0
move-object/from16 v1, p1
move v2, v7
move v3, v13
move v4, v9
move v5, v10
move/from16 v19, v7
.end local v7 # "a":I
.local v19, "a":I
move-object/from16 v7, v16
invoke-virtual/range {v0 .. v7}, Lim/tpelyyftgw/ui/components/crop/CropRotationWheel;->drawLine(Landroid/graphics/Canvas;IFIIZLandroid/graphics/Paint;)V
.line 184
if-eqz v15, :cond_78
.line 185
neg-int v6, v15
.line 186
.end local v19 # "a":I
.local v6, "a":I
if-le v6, v14, :cond_60
iget-object v0, v8, Lim/tpelyyftgw/ui/components/crop/CropRotationWheel;->bluePaint:Landroid/graphics/Paint;
goto :goto_62
:cond_60
iget-object v0, v8, Lim/tpelyyftgw/ui/components/crop/CropRotationWheel;->whitePaint:Landroid/graphics/Paint;
:goto_62
move-object v7, v0
.line 187
.end local v16 # "paint":Landroid/graphics/Paint;
.local v7, "paint":Landroid/graphics/Paint;
add-int/lit8 v0, v14, 0x1
if-ne v6, v0, :cond_69
const/16 v17, 0x1
:cond_69
move-object/from16 v0, p0
move-object/from16 v1, p1
move v2, v6
move v3, v13
move v4, v9
move v5, v10
move/from16 v16, v6
.end local v6 # "a":I
.local v16, "a":I
move/from16 v6, v17
invoke-virtual/range {v0 .. v7}, Lim/tpelyyftgw/ui/components/crop/CropRotationWheel;->drawLine(Landroid/graphics/Canvas;IFIIZLandroid/graphics/Paint;)V
.line 176
.end local v7 # "paint":Landroid/graphics/Paint;
.end local v16 # "a":I
:cond_78
add-int/lit8 v15, v15, 0x1
goto :goto_22
.line 191
.end local v15 # "i":I
:cond_7b
iget-object v0, v8, Lim/tpelyyftgw/ui/components/crop/CropRotationWheel;->bluePaint:Landroid/graphics/Paint;
const/16 v1, 0xff
invoke-virtual {v0, v1}, Landroid/graphics/Paint;->setAlpha(I)V
.line 193
iget-object v0, v8, Lim/tpelyyftgw/ui/components/crop/CropRotationWheel;->tempRect:Landroid/graphics/RectF;
const/high16 v1, 0x40200000 # 2.5f
invoke-static {v1}, Lim/tpelyyftgw/messenger/AndroidUtilities;->dp(F)I
move-result v2
sub-int v2, v9, v2
div-int/lit8 v2, v2, 0x2
int-to-float v2, v2
iput v2, v0, Landroid/graphics/RectF;->left:F
.line 194
iget-object v0, v8, Lim/tpelyyftgw/ui/components/crop/CropRotationWheel;->tempRect:Landroid/graphics/RectF;
const/high16 v2, 0x41b00000 # 22.0f
invoke-static {v2}, Lim/tpelyyftgw/messenger/AndroidUtilities;->dp(F)I
move-result v3
sub-int v3, v10, v3
div-int/lit8 v3, v3, 0x2
int-to-float v3, v3
iput v3, v0, Landroid/graphics/RectF;->top:F
.line 195
iget-object v0, v8, Lim/tpelyyftgw/ui/components/crop/CropRotationWheel;->tempRect:Landroid/graphics/RectF;
invoke-static {v1}, Lim/tpelyyftgw/messenger/AndroidUtilities;->dp(F)I
move-result v1
add-int/2addr v1, v9
div-int/lit8 v1, v1, 0x2
int-to-float v1, v1
iput v1, v0, Landroid/graphics/RectF;->right:F
.line 196
iget-object v0, v8, Lim/tpelyyftgw/ui/components/crop/CropRotationWheel;->tempRect:Landroid/graphics/RectF;
invoke-static {v2}, Lim/tpelyyftgw/messenger/AndroidUtilities;->dp(F)I
move-result v1
add-int/2addr v1, v10
div-int/lit8 v1, v1, 0x2
int-to-float v1, v1
iput v1, v0, Landroid/graphics/RectF;->bottom:F
.line 197
iget-object v0, v8, Lim/tpelyyftgw/ui/components/crop/CropRotationWheel;->tempRect:Landroid/graphics/RectF;
invoke-static {v11}, Lim/tpelyyftgw/messenger/AndroidUtilities;->dp(F)I
move-result v1
int-to-float v1, v1
invoke-static {v11}, Lim/tpelyyftgw/messenger/AndroidUtilities;->dp(F)I
move-result v2
int-to-float v2, v2
iget-object v3, v8, Lim/tpelyyftgw/ui/components/crop/CropRotationWheel;->bluePaint:Landroid/graphics/Paint;
move-object/from16 v4, p1
invoke-virtual {v4, v0, v1, v2, v3}, Landroid/graphics/Canvas;->drawRoundRect(Landroid/graphics/RectF;FFLandroid/graphics/Paint;)V
.line 198
return-void
.end method
.method protected onMeasure(II)V
.registers 6
.param p1, "widthMeasureSpec" # I
.param p2, "heightMeasureSpec" # I
.line 103
invoke-static {p1}, Landroid/view/View$MeasureSpec;->getSize(I)I
move-result v0
.line 104
.local v0, "width":I
const/high16 v1, 0x43c80000 # 400.0f
invoke-static {v1}, Lim/tpelyyftgw/messenger/AndroidUtilities;->dp(F)I
move-result v1
invoke-static {v0, v1}, Ljava/lang/Math;->min(II)I
move-result v1
const/high16 v2, 0x40000000 # 2.0f
invoke-static {v1, v2}, Landroid/view/View$MeasureSpec;->makeMeasureSpec(II)I
move-result v1
invoke-super {p0, v1, p2}, Landroid/widget/FrameLayout;->onMeasure(II)V
.line 105
return-void
.end method
.method public onTouchEvent(Landroid/view/MotionEvent;)Z
.registers 13
.param p1, "ev" # Landroid/view/MotionEvent;
.line 131
invoke-virtual {p1}, Landroid/view/MotionEvent;->getActionMasked()I
move-result v0
.line 132
.local v0, "action":I
invoke-virtual {p1}, Landroid/view/MotionEvent;->getX()F
move-result v1
.line 134
.local v1, "x":F
const/4 v2, 0x1
if-nez v0, :cond_16
.line 135
iput v1, p0, Lim/tpelyyftgw/ui/components/crop/CropRotationWheel;->prevX:F
.line 137
iget-object v3, p0, Lim/tpelyyftgw/ui/components/crop/CropRotationWheel;->rotationListener:Lim/tpelyyftgw/ui/components/crop/CropRotationWheel$RotationWheelListener;
if-eqz v3, :cond_93
.line 138
invoke-interface {v3}, Lim/tpelyyftgw/ui/components/crop/CropRotationWheel$RotationWheelListener;->onStart()V
goto/16 :goto_93
.line 139
:cond_16
const/4 v3, 0x0
if-eq v0, v2, :cond_77
const/4 v4, 0x3
if-ne v0, v4, :cond_1d
goto :goto_77
.line 143
:cond_1d
const/4 v4, 0x2
if-ne v0, v4, :cond_93
.line 144
iget v4, p0, Lim/tpelyyftgw/ui/components/crop/CropRotationWheel;->prevX:F
sub-float/2addr v4, v1
.line 146
.local v4, "delta":F
iget v5, p0, Lim/tpelyyftgw/ui/components/crop/CropRotationWheel;->rotation:F
sget v6, Lim/tpelyyftgw/messenger/AndroidUtilities;->density:F
div-float v6, v4, v6
float-to-double v6, v6
const-wide v8, 0x400921fb54442d18L # Math.PI
invoke-static {v6, v7}, Ljava/lang/Double;->isNaN(D)Z
div-double/2addr v6, v8
const-wide v8, 0x3ffa666660000000L # 1.649999976158142
div-double/2addr v6, v8
double-to-float v6, v6
add-float/2addr v5, v6
.line 147
.local v5, "newAngle":F
const/high16 v6, -0x3dcc0000 # -45.0f
const/high16 v7, 0x42340000 # 45.0f
invoke-static {v7, v5}, Ljava/lang/Math;->min(FF)F
move-result v7
invoke-static {v6, v7}, Ljava/lang/Math;->max(FF)F
move-result v5
.line 149
iget v6, p0, Lim/tpelyyftgw/ui/components/crop/CropRotationWheel;->rotation:F
sub-float v6, v5, v6
invoke-static {v6}, Ljava/lang/Math;->abs(F)F
move-result v6
float-to-double v6, v6
const-wide v8, 0x3f50624dd2f1a9fcL # 0.001
cmpl-double v10, v6, v8
if-lez v10, :cond_93
.line 150
invoke-static {v5}, Ljava/lang/Math;->abs(F)F
move-result v6
float-to-double v6, v6
const-wide v8, 0x3fa999999999999aL # 0.05
cmpg-double v10, v6, v8
if-gez v10, :cond_68
.line 151
const/4 v5, 0x0
.line 153
:cond_68
invoke-virtual {p0, v5, v3}, Lim/tpelyyftgw/ui/components/crop/CropRotationWheel;->setRotation(FZ)V
.line 155
iget-object v3, p0, Lim/tpelyyftgw/ui/components/crop/CropRotationWheel;->rotationListener:Lim/tpelyyftgw/ui/components/crop/CropRotationWheel$RotationWheelListener;
if-eqz v3, :cond_74
.line 156
iget v6, p0, Lim/tpelyyftgw/ui/components/crop/CropRotationWheel;->rotation:F
invoke-interface {v3, v6}, Lim/tpelyyftgw/ui/components/crop/CropRotationWheel$RotationWheelListener;->onChange(F)V
.line 158
:cond_74
iput v1, p0, Lim/tpelyyftgw/ui/components/crop/CropRotationWheel;->prevX:F
goto :goto_93
.line 140
.end local v4 # "delta":F
.end local v5 # "newAngle":F
:cond_77
:goto_77
iget-object v4, p0, Lim/tpelyyftgw/ui/components/crop/CropRotationWheel;->rotationListener:Lim/tpelyyftgw/ui/components/crop/CropRotationWheel$RotationWheelListener;
if-eqz v4, :cond_80
.line 141
iget v5, p0, Lim/tpelyyftgw/ui/components/crop/CropRotationWheel;->rotation:F
invoke-interface {v4, v5}, Lim/tpelyyftgw/ui/components/crop/CropRotationWheel$RotationWheelListener;->onEnd(F)V
.line 142
:cond_80
new-array v4, v2, [Ljava/lang/Object;
iget v5, p0, Lim/tpelyyftgw/ui/components/crop/CropRotationWheel;->rotation:F
invoke-static {v5}, Ljava/lang/Float;->valueOf(F)Ljava/lang/Float;
move-result-object v5
aput-object v5, v4, v3
const-string v3, "%.1f\u00b0"
invoke-static {v3, v4}, Ljava/lang/String;->format(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
move-result-object v3
invoke-static {v3}, Lim/tpelyyftgw/messenger/AndroidUtilities;->makeAccessibilityAnnouncement(Ljava/lang/CharSequence;)V
.line 162
:cond_93
:goto_93
return v2
.end method
.method public reset()V
.registers 3
.line 108
const/4 v0, 0x0
const/4 v1, 0x0
invoke-virtual {p0, v0, v1}, Lim/tpelyyftgw/ui/components/crop/CropRotationWheel;->setRotation(FZ)V
.line 109
return-void
.end method
.method public setAspectLock(Z)V
.registers 6
.param p1, "enabled" # Z
.line 126
iget-object v0, p0, Lim/tpelyyftgw/ui/components/crop/CropRotationWheel;->aspectRatioButton:Landroid/widget/ImageView;
if-eqz p1, :cond_f
new-instance v1, Landroid/graphics/PorterDuffColorFilter;
const v2, -0xae420d
sget-object v3, Landroid/graphics/PorterDuff$Mode;->MULTIPLY:Landroid/graphics/PorterDuff$Mode;
invoke-direct {v1, v2, v3}, Landroid/graphics/PorterDuffColorFilter;-><init>(ILandroid/graphics/PorterDuff$Mode;)V
goto :goto_10
:cond_f
const/4 v1, 0x0
:goto_10
invoke-virtual {v0, v1}, Landroid/widget/ImageView;->setColorFilter(Landroid/graphics/ColorFilter;)V
.line 127
return-void
.end method
.method public setFreeform(Z)V
.registers 4
.param p1, "freeform" # Z
.line 98
iget-object v0, p0, Lim/tpelyyftgw/ui/components/crop/CropRotationWheel;->aspectRatioButton:Landroid/widget/ImageView;
if-eqz p1, :cond_6
const/4 v1, 0x0
goto :goto_8
:cond_6
const/16 v1, 0x8
:goto_8
invoke-virtual {v0, v1}, Landroid/widget/ImageView;->setVisibility(I)V
.line 99
return-void
.end method
.method public setListener(Lim/tpelyyftgw/ui/components/crop/CropRotationWheel$RotationWheelListener;)V
.registers 2
.param p1, "listener" # Lim/tpelyyftgw/ui/components/crop/CropRotationWheel$RotationWheelListener;
.line 112
iput-object p1, p0, Lim/tpelyyftgw/ui/components/crop/CropRotationWheel;->rotationListener:Lim/tpelyyftgw/ui/components/crop/CropRotationWheel$RotationWheelListener;
.line 113
return-void
.end method
.method public setRotation(FZ)V
.registers 9
.param p1, "rotation" # F
.param p2, "animated" # Z
.line 116
iput p1, p0, Lim/tpelyyftgw/ui/components/crop/CropRotationWheel;->rotation:F
.line 117
iget v0, p0, Lim/tpelyyftgw/ui/components/crop/CropRotationWheel;->rotation:F
.line 118
.local v0, "value":F
invoke-static {v0}, Ljava/lang/Math;->abs(F)F
move-result v1
float-to-double v1, v1
const-wide v3, 0x3fb95810624dd2f2L # 0.099
cmpg-double v5, v1, v3
if-gez v5, :cond_16
.line 119
invoke-static {v0}, Ljava/lang/Math;->abs(F)F
move-result v0
.line 120
:cond_16
iget-object v1, p0, Lim/tpelyyftgw/ui/components/crop/CropRotationWheel;->degreesLabel:Landroid/widget/TextView;
const/4 v2, 0x1
new-array v2, v2, [Ljava/lang/Object;
const/4 v3, 0x0
invoke-static {v0}, Ljava/lang/Float;->valueOf(F)Ljava/lang/Float;
move-result-object v4
aput-object v4, v2, v3
const-string v3, "%.1f\u00ba"
invoke-static {v3, v2}, Ljava/lang/String;->format(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
move-result-object v2
invoke-virtual {v1, v2}, Landroid/widget/TextView;->setText(Ljava/lang/CharSequence;)V
.line 122
invoke-virtual {p0}, Lim/tpelyyftgw/ui/components/crop/CropRotationWheel;->invalidate()V
.line 123
return-void
.end method