.class public Lcom/yalantis/ucrop/view/widget/AspectRatioTextView; .super Landroid/widget/TextView; .source "AspectRatioTextView.java" # instance fields .field private mAspectRatio:F .field private mAspectRatioTitle:Ljava/lang/String; .field private mAspectRatioX:F .field private mAspectRatioY:F .field private final mCanvasClipBounds:Landroid/graphics/Rect; .field private mDotPaint:Landroid/graphics/Paint; .field private mDotSize:I # direct methods .method public constructor (Landroid/content/Context;)V .registers 3 const/4 v0, 0x0 .line 40 invoke-direct {p0, p1, v0}, Lcom/yalantis/ucrop/view/widget/AspectRatioTextView;->(Landroid/content/Context;Landroid/util/AttributeSet;)V return-void .end method .method public constructor (Landroid/content/Context;Landroid/util/AttributeSet;)V .registers 4 const/4 v0, 0x0 .line 44 invoke-direct {p0, p1, p2, v0}, Lcom/yalantis/ucrop/view/widget/AspectRatioTextView;->(Landroid/content/Context;Landroid/util/AttributeSet;I)V return-void .end method .method public constructor (Landroid/content/Context;Landroid/util/AttributeSet;I)V .registers 4 .line 48 invoke-direct {p0, p1, p2, p3}, Landroid/widget/TextView;->(Landroid/content/Context;Landroid/util/AttributeSet;I)V .line 31 new-instance p3, Landroid/graphics/Rect; invoke-direct {p3}, Landroid/graphics/Rect;->()V iput-object p3, p0, Lcom/yalantis/ucrop/view/widget/AspectRatioTextView;->mCanvasClipBounds:Landroid/graphics/Rect; .line 49 sget-object p3, Lcom/yalantis/ucrop/R$styleable;->ucrop_AspectRatioTextView:[I invoke-virtual {p1, p2, p3}, Landroid/content/Context;->obtainStyledAttributes(Landroid/util/AttributeSet;[I)Landroid/content/res/TypedArray; move-result-object p1 .line 50 invoke-direct {p0, p1}, Lcom/yalantis/ucrop/view/widget/AspectRatioTextView;->init(Landroid/content/res/TypedArray;)V return-void .end method .method public constructor (Landroid/content/Context;Landroid/util/AttributeSet;II)V .registers 5 .line 55 invoke-direct {p0, p1, p2, p3, p4}, Landroid/widget/TextView;->(Landroid/content/Context;Landroid/util/AttributeSet;II)V .line 31 new-instance p3, Landroid/graphics/Rect; invoke-direct {p3}, Landroid/graphics/Rect;->()V iput-object p3, p0, Lcom/yalantis/ucrop/view/widget/AspectRatioTextView;->mCanvasClipBounds:Landroid/graphics/Rect; .line 56 sget-object p3, Lcom/yalantis/ucrop/R$styleable;->ucrop_AspectRatioTextView:[I invoke-virtual {p1, p2, p3}, Landroid/content/Context;->obtainStyledAttributes(Landroid/util/AttributeSet;[I)Landroid/content/res/TypedArray; move-result-object p1 .line 57 invoke-direct {p0, p1}, Lcom/yalantis/ucrop/view/widget/AspectRatioTextView;->init(Landroid/content/res/TypedArray;)V return-void .end method .method private applyActiveColor(I)V .registers 6 .line 129 iget-object v0, p0, Lcom/yalantis/ucrop/view/widget/AspectRatioTextView;->mDotPaint:Landroid/graphics/Paint; if-eqz v0, :cond_7 .line 130 invoke-virtual {v0, p1}, Landroid/graphics/Paint;->setColor(I)V .line 132 :cond_7 new-instance v0, Landroid/content/res/ColorStateList; const v1, 0x10100a1 filled-new-array {v1}, [I move-result-object v1 const/4 v2, 0x0 filled-new-array {v2}, [I move-result-object v2 filled-new-array {v1, v2}, [[I move-result-object v1 .line 139 invoke-virtual {p0}, Lcom/yalantis/ucrop/view/widget/AspectRatioTextView;->getContext()Landroid/content/Context; move-result-object v2 sget v3, Lcom/yalantis/ucrop/R$color;->ucrop_color_widget:I invoke-static {v2, v3}, Landroidx/core/content/ContextCompat;->getColor(Landroid/content/Context;I)I move-result v2 filled-new-array {p1, v2}, [I move-result-object p1 invoke-direct {v0, v1, p1}, Landroid/content/res/ColorStateList;->([[I[I)V .line 143 invoke-virtual {p0, v0}, Lcom/yalantis/ucrop/view/widget/AspectRatioTextView;->setTextColor(Landroid/content/res/ColorStateList;)V return-void .end method .method private init(Landroid/content/res/TypedArray;)V .registers 7 const/4 v0, 0x1 .line 104 invoke-virtual {p0, v0}, Lcom/yalantis/ucrop/view/widget/AspectRatioTextView;->setGravity(I)V .line 106 sget v1, Lcom/yalantis/ucrop/R$styleable;->ucrop_AspectRatioTextView_ucrop_artv_ratio_title:I invoke-virtual {p1, v1}, Landroid/content/res/TypedArray;->getString(I)Ljava/lang/String; move-result-object v1 iput-object v1, p0, Lcom/yalantis/ucrop/view/widget/AspectRatioTextView;->mAspectRatioTitle:Ljava/lang/String; .line 107 sget v1, Lcom/yalantis/ucrop/R$styleable;->ucrop_AspectRatioTextView_ucrop_artv_ratio_x:I const/4 v2, 0x0 invoke-virtual {p1, v1, v2}, Landroid/content/res/TypedArray;->getFloat(IF)F move-result v1 iput v1, p0, Lcom/yalantis/ucrop/view/widget/AspectRatioTextView;->mAspectRatioX:F .line 108 sget v1, Lcom/yalantis/ucrop/R$styleable;->ucrop_AspectRatioTextView_ucrop_artv_ratio_y:I invoke-virtual {p1, v1, v2}, Landroid/content/res/TypedArray;->getFloat(IF)F move-result v1 iput v1, p0, Lcom/yalantis/ucrop/view/widget/AspectRatioTextView;->mAspectRatioY:F .line 110 iget v3, p0, Lcom/yalantis/ucrop/view/widget/AspectRatioTextView;->mAspectRatioX:F cmpl-float v4, v3, v2 if-eqz v4, :cond_2c cmpl-float v4, v1, v2 if-nez v4, :cond_28 goto :goto_2c :cond_28 div-float/2addr v3, v1 .line 113 iput v3, p0, Lcom/yalantis/ucrop/view/widget/AspectRatioTextView;->mAspectRatio:F goto :goto_2e .line 111 :cond_2c :goto_2c iput v2, p0, Lcom/yalantis/ucrop/view/widget/AspectRatioTextView;->mAspectRatio:F .line 116 :goto_2e invoke-virtual {p0}, Lcom/yalantis/ucrop/view/widget/AspectRatioTextView;->getContext()Landroid/content/Context; move-result-object v1 invoke-virtual {v1}, Landroid/content/Context;->getResources()Landroid/content/res/Resources; move-result-object v1 sget v2, Lcom/yalantis/ucrop/R$dimen;->ucrop_size_dot_scale_text_view:I invoke-virtual {v1, v2}, Landroid/content/res/Resources;->getDimensionPixelSize(I)I move-result v1 iput v1, p0, Lcom/yalantis/ucrop/view/widget/AspectRatioTextView;->mDotSize:I .line 117 new-instance v1, Landroid/graphics/Paint; invoke-direct {v1, v0}, Landroid/graphics/Paint;->(I)V iput-object v1, p0, Lcom/yalantis/ucrop/view/widget/AspectRatioTextView;->mDotPaint:Landroid/graphics/Paint; .line 118 sget-object v0, Landroid/graphics/Paint$Style;->FILL:Landroid/graphics/Paint$Style; invoke-virtual {v1, v0}, Landroid/graphics/Paint;->setStyle(Landroid/graphics/Paint$Style;)V .line 120 invoke-direct {p0}, Lcom/yalantis/ucrop/view/widget/AspectRatioTextView;->setTitle()V .line 122 invoke-virtual {p0}, Lcom/yalantis/ucrop/view/widget/AspectRatioTextView;->getResources()Landroid/content/res/Resources; move-result-object v0 sget v1, Lcom/yalantis/ucrop/R$color;->ucrop_color_widget_active:I invoke-virtual {v0, v1}, Landroid/content/res/Resources;->getColor(I)I move-result v0 .line 123 invoke-direct {p0, v0}, Lcom/yalantis/ucrop/view/widget/AspectRatioTextView;->applyActiveColor(I)V .line 125 invoke-virtual {p1}, Landroid/content/res/TypedArray;->recycle()V return-void .end method .method private setTitle()V .registers 4 .line 157 iget-object v0, p0, Lcom/yalantis/ucrop/view/widget/AspectRatioTextView;->mAspectRatioTitle:Ljava/lang/String; invoke-static {v0}, Landroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Z move-result v0 if-nez v0, :cond_e .line 158 iget-object v0, p0, Lcom/yalantis/ucrop/view/widget/AspectRatioTextView;->mAspectRatioTitle:Ljava/lang/String; invoke-virtual {p0, v0}, Lcom/yalantis/ucrop/view/widget/AspectRatioTextView;->setText(Ljava/lang/CharSequence;)V goto :goto_2b .line 160 :cond_e sget-object v0, Ljava/util/Locale;->US:Ljava/util/Locale; iget v1, p0, Lcom/yalantis/ucrop/view/widget/AspectRatioTextView;->mAspectRatioX:F float-to-int v1, v1 invoke-static {v1}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer; move-result-object v1 iget v2, p0, Lcom/yalantis/ucrop/view/widget/AspectRatioTextView;->mAspectRatioY:F float-to-int v2, v2 invoke-static {v2}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer; move-result-object v2 filled-new-array {v1, v2}, [Ljava/lang/Object; move-result-object v1 const-string v2, "%d:%d" invoke-static {v0, v2, v1}, Ljava/lang/String;->format(Ljava/util/Locale;Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String; move-result-object v0 invoke-virtual {p0, v0}, Lcom/yalantis/ucrop/view/widget/AspectRatioTextView;->setText(Ljava/lang/CharSequence;)V :goto_2b return-void .end method .method private toggleAspectRatio()V .registers 3 .line 147 iget v0, p0, Lcom/yalantis/ucrop/view/widget/AspectRatioTextView;->mAspectRatio:F const/4 v1, 0x0 cmpl-float v0, v0, v1 if-eqz v0, :cond_12 .line 148 iget v0, p0, Lcom/yalantis/ucrop/view/widget/AspectRatioTextView;->mAspectRatioX:F .line 149 iget v1, p0, Lcom/yalantis/ucrop/view/widget/AspectRatioTextView;->mAspectRatioY:F iput v1, p0, Lcom/yalantis/ucrop/view/widget/AspectRatioTextView;->mAspectRatioX:F .line 150 iput v0, p0, Lcom/yalantis/ucrop/view/widget/AspectRatioTextView;->mAspectRatioY:F div-float/2addr v1, v0 .line 152 iput v1, p0, Lcom/yalantis/ucrop/view/widget/AspectRatioTextView;->mAspectRatio:F :cond_12 return-void .end method # virtual methods .method public getAspectRatio(Z)F .registers 2 if-eqz p1, :cond_8 .line 85 invoke-direct {p0}, Lcom/yalantis/ucrop/view/widget/AspectRatioTextView;->toggleAspectRatio()V .line 86 invoke-direct {p0}, Lcom/yalantis/ucrop/view/widget/AspectRatioTextView;->setTitle()V .line 88 :cond_8 iget p1, p0, Lcom/yalantis/ucrop/view/widget/AspectRatioTextView;->mAspectRatio:F return p1 .end method .method protected onDraw(Landroid/graphics/Canvas;)V .registers 6 .line 93 invoke-super {p0, p1}, Landroid/widget/TextView;->onDraw(Landroid/graphics/Canvas;)V .line 95 invoke-virtual {p0}, Lcom/yalantis/ucrop/view/widget/AspectRatioTextView;->isSelected()Z move-result v0 if-eqz v0, :cond_2b .line 96 iget-object v0, p0, Lcom/yalantis/ucrop/view/widget/AspectRatioTextView;->mCanvasClipBounds:Landroid/graphics/Rect; invoke-virtual {p1, v0}, Landroid/graphics/Canvas;->getClipBounds(Landroid/graphics/Rect;)Z .line 97 iget-object v0, p0, Lcom/yalantis/ucrop/view/widget/AspectRatioTextView;->mCanvasClipBounds:Landroid/graphics/Rect; iget v0, v0, Landroid/graphics/Rect;->right:I iget-object v1, p0, Lcom/yalantis/ucrop/view/widget/AspectRatioTextView;->mCanvasClipBounds:Landroid/graphics/Rect; iget v1, v1, Landroid/graphics/Rect;->left:I sub-int/2addr v0, v1 int-to-float v0, v0 const/high16 v1, 0x40000000 # 2.0f div-float/2addr v0, v1 iget-object v1, p0, Lcom/yalantis/ucrop/view/widget/AspectRatioTextView;->mCanvasClipBounds:Landroid/graphics/Rect; iget v1, v1, Landroid/graphics/Rect;->bottom:I iget v2, p0, Lcom/yalantis/ucrop/view/widget/AspectRatioTextView;->mDotSize:I sub-int/2addr v1, v2 int-to-float v1, v1 div-int/lit8 v2, v2, 0x2 int-to-float v2, v2 iget-object v3, p0, Lcom/yalantis/ucrop/view/widget/AspectRatioTextView;->mDotPaint:Landroid/graphics/Paint; invoke-virtual {p1, v0, v1, v2, v3}, Landroid/graphics/Canvas;->drawCircle(FFFLandroid/graphics/Paint;)V :cond_2b return-void .end method .method public setActiveColor(I)V .registers 2 .line 65 invoke-direct {p0, p1}, Lcom/yalantis/ucrop/view/widget/AspectRatioTextView;->applyActiveColor(I)V .line 66 invoke-virtual {p0}, Lcom/yalantis/ucrop/view/widget/AspectRatioTextView;->invalidate()V return-void .end method .method public setAspectRatio(Lcom/yalantis/ucrop/model/AspectRatio;)V .registers 5 .line 70 invoke-virtual {p1}, Lcom/yalantis/ucrop/model/AspectRatio;->getAspectRatioTitle()Ljava/lang/String; move-result-object v0 iput-object v0, p0, Lcom/yalantis/ucrop/view/widget/AspectRatioTextView;->mAspectRatioTitle:Ljava/lang/String; .line 71 invoke-virtual {p1}, Lcom/yalantis/ucrop/model/AspectRatio;->getAspectRatioX()F move-result v0 iput v0, p0, Lcom/yalantis/ucrop/view/widget/AspectRatioTextView;->mAspectRatioX:F .line 72 invoke-virtual {p1}, Lcom/yalantis/ucrop/model/AspectRatio;->getAspectRatioY()F move-result p1 iput p1, p0, Lcom/yalantis/ucrop/view/widget/AspectRatioTextView;->mAspectRatioY:F .line 74 iget v0, p0, Lcom/yalantis/ucrop/view/widget/AspectRatioTextView;->mAspectRatioX:F const/4 v1, 0x0 cmpl-float v2, v0, v1 if-eqz v2, :cond_22 cmpl-float v2, p1, v1 if-nez v2, :cond_1e goto :goto_22 :cond_1e div-float/2addr v0, p1 .line 77 iput v0, p0, Lcom/yalantis/ucrop/view/widget/AspectRatioTextView;->mAspectRatio:F goto :goto_24 .line 75 :cond_22 :goto_22 iput v1, p0, Lcom/yalantis/ucrop/view/widget/AspectRatioTextView;->mAspectRatio:F .line 80 :goto_24 invoke-direct {p0}, Lcom/yalantis/ucrop/view/widget/AspectRatioTextView;->setTitle()V return-void .end method