AutoFitTextView.smali
.class public Lcom/cmcm/safewallet/utils/AutoFitTextView;
.super Landroid/support/v7/widget/AppCompatTextView;
.source "AutoFitTextView.java"
# instance fields
.field private aOj:F
.field private mPaint:Landroid/graphics/Paint;
# direct methods
.method public constructor <init>(Landroid/content/Context;)V
.registers 2
.prologue
.line 24
invoke-direct {p0, p1}, Landroid/support/v7/widget/AppCompatTextView;-><init>(Landroid/content/Context;)V
.line 25
return-void
.end method
.method public constructor <init>(Landroid/content/Context;Landroid/util/AttributeSet;)V
.registers 3
.prologue
.line 28
invoke-direct {p0, p1, p2}, Landroid/support/v7/widget/AppCompatTextView;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;)V
.line 29
return-void
.end method
.method public constructor <init>(Landroid/content/Context;Landroid/util/AttributeSet;I)V
.registers 4
.prologue
.line 32
invoke-direct {p0, p1, p2, p3}, Landroid/support/v7/widget/AppCompatTextView;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;I)V
.line 33
return-void
.end method
.method private a(FLjava/lang/String;)F
.registers 4
.prologue
.line 62
iget-object v0, p0, Lcom/cmcm/safewallet/utils/AutoFitTextView;->mPaint:Landroid/graphics/Paint;
invoke-virtual {v0, p1}, Landroid/graphics/Paint;->setTextSize(F)V
.line 63
iget-object v0, p0, Lcom/cmcm/safewallet/utils/AutoFitTextView;->mPaint:Landroid/graphics/Paint;
invoke-virtual {v0, p2}, Landroid/graphics/Paint;->measureText(Ljava/lang/String;)F
move-result v0
return v0
.end method
# virtual methods
.method protected onDraw(Landroid/graphics/Canvas;)V
.registers 7
.prologue
.line 37
invoke-super {p0, p1}, Landroid/support/v7/widget/AppCompatTextView;->onDraw(Landroid/graphics/Canvas;)V
.line 38
invoke-virtual {p0}, Lcom/cmcm/safewallet/utils/AutoFitTextView;->getText()Ljava/lang/CharSequence;
move-result-object v0
invoke-interface {v0}, Ljava/lang/CharSequence;->toString()Ljava/lang/String;
move-result-object v1
invoke-virtual {p0}, Lcom/cmcm/safewallet/utils/AutoFitTextView;->getWidth()I
move-result v0
.line 1042
new-instance v2, Ljava/lang/StringBuilder;
const-string v3, "refitText start, textSize = "
invoke-direct {v2, v3}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
invoke-virtual {p0}, Lcom/cmcm/safewallet/utils/AutoFitTextView;->getTextSize()F
move-result v3
invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(F)Ljava/lang/StringBuilder;
.line 1043
invoke-static {v1}, Landroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Z
move-result v2
if-nez v2, :cond_25
if-gtz v0, :cond_26
.line 1044
:cond_25
:goto_25
return-void
.line 1047
:cond_26
invoke-virtual {p0}, Lcom/cmcm/safewallet/utils/AutoFitTextView;->getTextSize()F
move-result v2
iput v2, p0, Lcom/cmcm/safewallet/utils/AutoFitTextView;->aOj:F
.line 1048
new-instance v2, Landroid/graphics/Paint;
invoke-direct {v2}, Landroid/graphics/Paint;-><init>()V
iput-object v2, p0, Lcom/cmcm/safewallet/utils/AutoFitTextView;->mPaint:Landroid/graphics/Paint;
.line 1049
iget-object v2, p0, Lcom/cmcm/safewallet/utils/AutoFitTextView;->mPaint:Landroid/graphics/Paint;
invoke-virtual {p0}, Lcom/cmcm/safewallet/utils/AutoFitTextView;->getPaint()Landroid/text/TextPaint;
move-result-object v3
invoke-virtual {v2, v3}, Landroid/graphics/Paint;->set(Landroid/graphics/Paint;)V
.line 1050
invoke-virtual {p0}, Lcom/cmcm/safewallet/utils/AutoFitTextView;->getPaddingLeft()I
move-result v2
sub-int/2addr v0, v2
invoke-virtual {p0}, Lcom/cmcm/safewallet/utils/AutoFitTextView;->getPaddingRight()I
move-result v2
sub-int v2, v0, v2
.line 1051
iget v0, p0, Lcom/cmcm/safewallet/utils/AutoFitTextView;->aOj:F
invoke-direct {p0, v0, v1}, Lcom/cmcm/safewallet/utils/AutoFitTextView;->a(FLjava/lang/String;)F
move-result v0
.line 1052
:goto_4d
int-to-float v3, v2
cmpl-float v0, v0, v3
if-lez v0, :cond_65
.line 1053
iget-object v0, p0, Lcom/cmcm/safewallet/utils/AutoFitTextView;->mPaint:Landroid/graphics/Paint;
iget v3, p0, Lcom/cmcm/safewallet/utils/AutoFitTextView;->aOj:F
const/high16 v4, 0x3f800000 # 1.0f
sub-float/2addr v3, v4
iput v3, p0, Lcom/cmcm/safewallet/utils/AutoFitTextView;->aOj:F
invoke-virtual {v0, v3}, Landroid/graphics/Paint;->setTextSize(F)V
.line 1054
iget v0, p0, Lcom/cmcm/safewallet/utils/AutoFitTextView;->aOj:F
invoke-direct {p0, v0, v1}, Lcom/cmcm/safewallet/utils/AutoFitTextView;->a(FLjava/lang/String;)F
move-result v0
goto :goto_4d
.line 1056
:cond_65
const/4 v0, 0x0
iget v1, p0, Lcom/cmcm/safewallet/utils/AutoFitTextView;->aOj:F
invoke-virtual {p0, v0, v1}, Lcom/cmcm/safewallet/utils/AutoFitTextView;->setTextSize(IF)V
.line 1057
new-instance v0, Ljava/lang/StringBuilder;
const-string v1, "refitText end, textSize = "
invoke-direct {v0, v1}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
invoke-virtual {p0}, Lcom/cmcm/safewallet/utils/AutoFitTextView;->getTextSize()F
move-result v1
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(F)Ljava/lang/StringBuilder;
goto :goto_25
.end method