CenterDrawableHelper.smali
.class public Lcom/sandboxol/center/utils/CenterDrawableHelper;
.super Ljava/lang/Object;
.source "CenterDrawableHelper.java"
# static fields
.field private static final DRAWABLE_BOTTOM:I = 0x3
.field private static final DRAWABLE_LEFT:I = 0x0
.field private static final DRAWABLE_RIGHT:I = 0x2
.field private static final DRAWABLE_TOP:I = 0x1
# direct methods
.method public constructor <init>()V
.registers 1
.line 1
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
.method private static onCenterDraw(Landroid/widget/TextView;Landroid/graphics/Canvas;Landroid/graphics/drawable/Drawable;I)V
.registers 10
.line 1
invoke-virtual {p0}, Landroid/widget/TextView;->getCompoundDrawablePadding()I
move-result v0
const/4 v1, 0x3
const/4 v2, -0x1
const/4 v3, 0x0
const/high16 v4, 0x40000000 # 2.0f
const/4 v5, 0x1
if-eq p3, v1, :cond_48
const/4 v1, 0x5
if-eq p3, v1, :cond_49
const/16 v1, 0x30
if-eq p3, v1, :cond_18
const/16 v1, 0x50
if-eq p3, v1, :cond_19
goto :goto_7a
:cond_18
const/4 v2, 0x1
.line 2
:cond_19
invoke-virtual {p0}, Landroid/widget/TextView;->getPaint()Landroid/text/TextPaint;
move-result-object p3
invoke-virtual {p3}, Landroid/text/TextPaint;->getFontMetrics()Landroid/graphics/Paint$FontMetrics;
move-result-object p3
.line 3
iget v1, p3, Landroid/graphics/Paint$FontMetrics;->descent:F
iget p3, p3, Landroid/graphics/Paint$FontMetrics;->ascent:F
sub-float/2addr v1, p3
invoke-virtual {p2}, Landroid/graphics/drawable/Drawable;->getIntrinsicHeight()I
move-result p2
int-to-float p2, p2
add-float/2addr v1, p2
int-to-float p2, v0
add-float/2addr v1, p2
invoke-virtual {p0}, Landroid/widget/TextView;->getPaddingTop()I
move-result p2
int-to-float p2, p2
add-float/2addr v1, p2
invoke-virtual {p0}, Landroid/widget/TextView;->getPaddingBottom()I
move-result p2
int-to-float p2, p2
add-float/2addr v1, p2
int-to-float p2, v2
.line 4
invoke-virtual {p0}, Landroid/widget/TextView;->getHeight()I
move-result p0
int-to-float p0, p0
sub-float/2addr p0, v1
mul-float p2, p2, p0
div-float/2addr p2, v4
invoke-virtual {p1, v3, p2}, Landroid/graphics/Canvas;->translate(FF)V
goto :goto_7a
:cond_48
const/4 v2, 0x1
.line 5
:cond_49
invoke-virtual {p0}, Landroid/widget/TextView;->getPaint()Landroid/text/TextPaint;
move-result-object p3
invoke-virtual {p0}, Landroid/widget/TextView;->getText()Ljava/lang/CharSequence;
move-result-object v1
invoke-interface {v1}, Ljava/lang/CharSequence;->toString()Ljava/lang/String;
move-result-object v1
invoke-virtual {p3, v1}, Landroid/text/TextPaint;->measureText(Ljava/lang/String;)F
move-result p3
invoke-virtual {p2}, Landroid/graphics/drawable/Drawable;->getIntrinsicWidth()I
move-result p2
int-to-float p2, p2
add-float/2addr p3, p2
int-to-float p2, v0
add-float/2addr p3, p2
invoke-virtual {p0}, Landroid/widget/TextView;->getPaddingLeft()I
move-result p2
int-to-float p2, p2
add-float/2addr p3, p2
invoke-virtual {p0}, Landroid/widget/TextView;->getPaddingRight()I
move-result p2
int-to-float p2, p2
add-float/2addr p3, p2
int-to-float p2, v2
.line 6
invoke-virtual {p0}, Landroid/widget/TextView;->getWidth()I
move-result p0
int-to-float p0, p0
sub-float/2addr p0, p3
mul-float p2, p2, p0
div-float/2addr p2, v4
invoke-virtual {p1, p2, v3}, Landroid/graphics/Canvas;->translate(FF)V
:goto_7a
return-void
.end method
.method public static preDraw(Landroid/widget/TextView;Landroid/graphics/Canvas;)V
.registers 6
.line 1
invoke-virtual {p0}, Landroid/widget/TextView;->getCompoundDrawables()[Landroid/graphics/drawable/Drawable;
move-result-object v0
if-eqz v0, :cond_4a
const/4 v1, 0x0
.line 2
aget-object v2, v0, v1
const/4 v3, 0x3
if-eqz v2, :cond_17
const/16 v2, 0x13
.line 3
invoke-virtual {p0, v2}, Landroid/widget/TextView;->setGravity(I)V
.line 4
aget-object v0, v0, v1
invoke-static {p0, p1, v0, v3}, Lcom/sandboxol/center/utils/CenterDrawableHelper;->onCenterDraw(Landroid/widget/TextView;Landroid/graphics/Canvas;Landroid/graphics/drawable/Drawable;I)V
goto :goto_4a
:cond_17
const/4 v1, 0x1
.line 5
aget-object v2, v0, v1
if-eqz v2, :cond_29
const/16 v2, 0x31
.line 6
invoke-virtual {p0, v2}, Landroid/widget/TextView;->setGravity(I)V
.line 7
aget-object v0, v0, v1
const/16 v1, 0x30
invoke-static {p0, p1, v0, v1}, Lcom/sandboxol/center/utils/CenterDrawableHelper;->onCenterDraw(Landroid/widget/TextView;Landroid/graphics/Canvas;Landroid/graphics/drawable/Drawable;I)V
goto :goto_4a
:cond_29
const/4 v1, 0x2
.line 8
aget-object v2, v0, v1
if-eqz v2, :cond_3a
const/16 v2, 0x15
.line 9
invoke-virtual {p0, v2}, Landroid/widget/TextView;->setGravity(I)V
.line 10
aget-object v0, v0, v1
const/4 v1, 0x5
invoke-static {p0, p1, v0, v1}, Lcom/sandboxol/center/utils/CenterDrawableHelper;->onCenterDraw(Landroid/widget/TextView;Landroid/graphics/Canvas;Landroid/graphics/drawable/Drawable;I)V
goto :goto_4a
.line 11
:cond_3a
aget-object v1, v0, v3
if-eqz v1, :cond_4a
const/16 v1, 0x51
.line 12
invoke-virtual {p0, v1}, Landroid/widget/TextView;->setGravity(I)V
.line 13
aget-object v0, v0, v3
const/16 v1, 0x50
invoke-static {p0, p1, v0, v1}, Lcom/sandboxol/center/utils/CenterDrawableHelper;->onCenterDraw(Landroid/widget/TextView;Landroid/graphics/Canvas;Landroid/graphics/drawable/Drawable;I)V
:cond_4a
:goto_4a
return-void
.end method