TextViewWithoutPadding.smali

.class public Lcom/sdk/orion/ui/baselibrary/widget/TextViewWithoutPadding;
.super Landroid/support/v7/widget/AppCompatTextView;


# instance fields
.field private final mBounds:Landroid/graphics/Rect;


# direct methods
.method public constructor <init>(Landroid/content/Context;)V
    .registers 3

    invoke-direct {p0, p1}, Landroid/support/v7/widget/AppCompatTextView;-><init>(Landroid/content/Context;)V

    new-instance v0, Landroid/graphics/Rect;

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

    iput-object v0, p0, Lcom/sdk/orion/ui/baselibrary/widget/TextViewWithoutPadding;->mBounds:Landroid/graphics/Rect;

    return-void
.end method

.method public constructor <init>(Landroid/content/Context;Landroid/util/AttributeSet;)V
    .registers 4

    invoke-direct {p0, p1, p2}, Landroid/support/v7/widget/AppCompatTextView;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;)V

    new-instance v0, Landroid/graphics/Rect;

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

    iput-object v0, p0, Lcom/sdk/orion/ui/baselibrary/widget/TextViewWithoutPadding;->mBounds:Landroid/graphics/Rect;

    return-void
.end method

.method public constructor <init>(Landroid/content/Context;Landroid/util/AttributeSet;I)V
    .registers 5

    invoke-direct {p0, p1, p2, p3}, Landroid/support/v7/widget/AppCompatTextView;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;I)V

    new-instance v0, Landroid/graphics/Rect;

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

    iput-object v0, p0, Lcom/sdk/orion/ui/baselibrary/widget/TextViewWithoutPadding;->mBounds:Landroid/graphics/Rect;

    return-void
.end method

.method private calculateTextParams()Ljava/lang/String;
    .registers 6

    invoke-virtual {p0}, Lcom/sdk/orion/ui/baselibrary/widget/TextViewWithoutPadding;->getText()Ljava/lang/CharSequence;

    move-result-object v0

    invoke-interface {v0}, Ljava/lang/CharSequence;->toString()Ljava/lang/String;

    move-result-object v0

    invoke-virtual {v0}, Ljava/lang/String;->length()I

    move-result v1

    invoke-virtual {p0}, Lcom/sdk/orion/ui/baselibrary/widget/TextViewWithoutPadding;->getPaint()Landroid/text/TextPaint;

    move-result-object v2

    invoke-virtual {p0}, Lcom/sdk/orion/ui/baselibrary/widget/TextViewWithoutPadding;->getTextSize()F

    move-result v3

    invoke-virtual {v2, v3}, Landroid/text/TextPaint;->setTextSize(F)V

    invoke-virtual {p0}, Lcom/sdk/orion/ui/baselibrary/widget/TextViewWithoutPadding;->getPaint()Landroid/text/TextPaint;

    move-result-object v2

    const/4 v3, 0x0

    iget-object v4, p0, Lcom/sdk/orion/ui/baselibrary/widget/TextViewWithoutPadding;->mBounds:Landroid/graphics/Rect;

    invoke-virtual {v2, v0, v3, v1, v4}, Landroid/text/TextPaint;->getTextBounds(Ljava/lang/String;IILandroid/graphics/Rect;)V

    if-nez v1, :cond_2b

    iget-object v1, p0, Lcom/sdk/orion/ui/baselibrary/widget/TextViewWithoutPadding;->mBounds:Landroid/graphics/Rect;

    iget-object v2, p0, Lcom/sdk/orion/ui/baselibrary/widget/TextViewWithoutPadding;->mBounds:Landroid/graphics/Rect;

    iget v2, v2, Landroid/graphics/Rect;->left:I

    iput v2, v1, Landroid/graphics/Rect;->right:I

    :cond_2b
    return-object v0
.end method


# virtual methods
.method protected onDraw(Landroid/graphics/Canvas;)V
    .registers 8

    invoke-direct {p0}, Lcom/sdk/orion/ui/baselibrary/widget/TextViewWithoutPadding;->calculateTextParams()Ljava/lang/String;

    move-result-object v0

    iget-object v1, p0, Lcom/sdk/orion/ui/baselibrary/widget/TextViewWithoutPadding;->mBounds:Landroid/graphics/Rect;

    iget v1, v1, Landroid/graphics/Rect;->left:I

    iget-object v2, p0, Lcom/sdk/orion/ui/baselibrary/widget/TextViewWithoutPadding;->mBounds:Landroid/graphics/Rect;

    iget v2, v2, Landroid/graphics/Rect;->bottom:I

    iget-object v3, p0, Lcom/sdk/orion/ui/baselibrary/widget/TextViewWithoutPadding;->mBounds:Landroid/graphics/Rect;

    iget-object v4, p0, Lcom/sdk/orion/ui/baselibrary/widget/TextViewWithoutPadding;->mBounds:Landroid/graphics/Rect;

    iget v4, v4, Landroid/graphics/Rect;->left:I

    neg-int v4, v4

    iget-object v5, p0, Lcom/sdk/orion/ui/baselibrary/widget/TextViewWithoutPadding;->mBounds:Landroid/graphics/Rect;

    iget v5, v5, Landroid/graphics/Rect;->top:I

    neg-int v5, v5

    invoke-virtual {v3, v4, v5}, Landroid/graphics/Rect;->offset(II)V

    invoke-virtual {p0}, Lcom/sdk/orion/ui/baselibrary/widget/TextViewWithoutPadding;->getPaint()Landroid/text/TextPaint;

    move-result-object v3

    const/4 v4, 0x1

    invoke-virtual {v3, v4}, Landroid/text/TextPaint;->setAntiAlias(Z)V

    invoke-virtual {p0}, Lcom/sdk/orion/ui/baselibrary/widget/TextViewWithoutPadding;->getPaint()Landroid/text/TextPaint;

    move-result-object v3

    invoke-virtual {p0}, Lcom/sdk/orion/ui/baselibrary/widget/TextViewWithoutPadding;->getCurrentTextColor()I

    move-result v4

    invoke-virtual {v3, v4}, Landroid/text/TextPaint;->setColor(I)V

    neg-int v1, v1

    int-to-float v1, v1

    iget-object v3, p0, Lcom/sdk/orion/ui/baselibrary/widget/TextViewWithoutPadding;->mBounds:Landroid/graphics/Rect;

    iget v3, v3, Landroid/graphics/Rect;->bottom:I

    sub-int v2, v3, v2

    int-to-float v2, v2

    invoke-virtual {p0}, Lcom/sdk/orion/ui/baselibrary/widget/TextViewWithoutPadding;->getPaint()Landroid/text/TextPaint;

    move-result-object v3

    invoke-virtual {p1, v0, v1, v2, v3}, Landroid/graphics/Canvas;->drawText(Ljava/lang/String;FFLandroid/graphics/Paint;)V

    return-void
.end method

.method protected onMeasure(II)V
    .registers 6

    invoke-super {p0, p1, p2}, Landroid/support/v7/widget/AppCompatTextView;->onMeasure(II)V

    invoke-direct {p0}, Lcom/sdk/orion/ui/baselibrary/widget/TextViewWithoutPadding;->calculateTextParams()Ljava/lang/String;

    iget-object v0, p0, Lcom/sdk/orion/ui/baselibrary/widget/TextViewWithoutPadding;->mBounds:Landroid/graphics/Rect;

    invoke-virtual {v0}, Landroid/graphics/Rect;->width()I

    move-result v0

    add-int/lit8 v0, v0, 0x1

    iget-object v1, p0, Lcom/sdk/orion/ui/baselibrary/widget/TextViewWithoutPadding;->mBounds:Landroid/graphics/Rect;

    iget v1, v1, Landroid/graphics/Rect;->top:I

    neg-int v1, v1

    iget-object v2, p0, Lcom/sdk/orion/ui/baselibrary/widget/TextViewWithoutPadding;->mBounds:Landroid/graphics/Rect;

    iget v2, v2, Landroid/graphics/Rect;->bottom:I

    add-int/2addr v1, v2

    invoke-virtual {p0, v0, v1}, Lcom/sdk/orion/ui/baselibrary/widget/TextViewWithoutPadding;->setMeasuredDimension(II)V

    return-void
.end method