SingleLineAutoFitTextView.smali

.class public Lcom/imo/android/imoim/views/SingleLineAutoFitTextView;
.super Lcom/imo/xui/widget/textview/XTextView;
.source "SourceFile"


# instance fields
.field private a:Landroid/text/TextPaint;

.field private b:Z

.field private c:F

.field private d:Z


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

    const/4 v0, 0x0

    .line 25
    invoke-direct {p0, p1, v0}, Lcom/imo/android/imoim/views/SingleLineAutoFitTextView;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;)V

    return-void
.end method

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

    const/4 v0, 0x0

    .line 29
    invoke-direct {p0, p1, p2, v0}, Lcom/imo/android/imoim/views/SingleLineAutoFitTextView;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;I)V

    return-void
.end method

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

    .line 33
    invoke-direct {p0, p1, p2, p3}, Lcom/imo/xui/widget/textview/XTextView;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;I)V

    const/4 p1, 0x0

    .line 20
    iput-boolean p1, p0, Lcom/imo/android/imoim/views/SingleLineAutoFitTextView;->b:Z

    const/4 p1, 0x1

    .line 22
    iput-boolean p1, p0, Lcom/imo/android/imoim/views/SingleLineAutoFitTextView;->d:Z

    .line 1055
    invoke-virtual {p0}, Lcom/imo/android/imoim/views/SingleLineAutoFitTextView;->getTextSize()F

    move-result p2

    iput p2, p0, Lcom/imo/android/imoim/views/SingleLineAutoFitTextView;->c:F

    .line 1056
    new-instance p2, Landroid/text/TextPaint;

    invoke-direct {p2}, Landroid/text/TextPaint;-><init>()V

    iput-object p2, p0, Lcom/imo/android/imoim/views/SingleLineAutoFitTextView;->a:Landroid/text/TextPaint;

    .line 1057
    invoke-virtual {p0}, Lcom/imo/android/imoim/views/SingleLineAutoFitTextView;->setSingleLine()V

    .line 1058
    invoke-virtual {p0, p1}, Lcom/imo/android/imoim/views/SingleLineAutoFitTextView;->setMaxLines(I)V

    .line 1059
    new-instance p1, Lcom/imo/android/imoim/views/SingleLineAutoFitTextView$1;

    invoke-direct {p1, p0}, Lcom/imo/android/imoim/views/SingleLineAutoFitTextView$1;-><init>(Lcom/imo/android/imoim/views/SingleLineAutoFitTextView;)V

    invoke-virtual {p0, p1}, Lcom/imo/android/imoim/views/SingleLineAutoFitTextView;->addTextChangedListener(Landroid/text/TextWatcher;)V

    .line 1076
    new-instance p1, Lcom/imo/android/imoim/views/-$$Lambda$SingleLineAutoFitTextView$PgvsN1S1vux6XWFb0WS7MI1vipw;

    invoke-direct {p1, p0}, Lcom/imo/android/imoim/views/-$$Lambda$SingleLineAutoFitTextView$PgvsN1S1vux6XWFb0WS7MI1vipw;-><init>(Lcom/imo/android/imoim/views/SingleLineAutoFitTextView;)V

    invoke-virtual {p0, p1}, Lcom/imo/android/imoim/views/SingleLineAutoFitTextView;->addOnLayoutChangeListener(Landroid/view/View$OnLayoutChangeListener;)V

    return-void
.end method

.method private a()V
    .registers 14

    .line 2039
    iget-boolean v0, p0, Lcom/imo/android/imoim/views/SingleLineAutoFitTextView;->d:Z

    if-nez v0, :cond_5

    return-void

    :cond_5
    const/4 v0, 0x1

    .line 84
    iput-boolean v0, p0, Lcom/imo/android/imoim/views/SingleLineAutoFitTextView;->b:Z

    .line 85
    iget-object v0, p0, Lcom/imo/android/imoim/views/SingleLineAutoFitTextView;->a:Landroid/text/TextPaint;

    iget v1, p0, Lcom/imo/android/imoim/views/SingleLineAutoFitTextView;->c:F

    invoke-virtual {p0}, Lcom/imo/android/imoim/views/SingleLineAutoFitTextView;->getHeight()I

    move-result v2

    .line 2091
    invoke-virtual {p0}, Landroid/widget/TextView;->getWidth()I

    move-result v3

    invoke-virtual {p0}, Landroid/widget/TextView;->getPaddingLeft()I

    move-result v4

    sub-int/2addr v3, v4

    invoke-virtual {p0}, Landroid/widget/TextView;->getPaddingRight()I

    move-result v4

    sub-int/2addr v3, v4

    const/4 v4, 0x0

    if-lez v3, :cond_a7

    if-gtz v2, :cond_26

    const v2, 0x7fffffff

    .line 2098
    :cond_26
    invoke-virtual {p0}, Landroid/widget/TextView;->getText()Ljava/lang/CharSequence;

    move-result-object v5

    .line 2099
    invoke-virtual {p0}, Landroid/widget/TextView;->getTransformationMethod()Landroid/text/method/TransformationMethod;

    move-result-object v6

    if-eqz v6, :cond_34

    .line 2101
    invoke-interface {v6, v5, p0}, Landroid/text/method/TransformationMethod;->getTransformation(Ljava/lang/CharSequence;Landroid/view/View;)Ljava/lang/CharSequence;

    move-result-object v5

    .line 2104
    :cond_34
    invoke-virtual {p0}, Landroid/widget/TextView;->getContext()Landroid/content/Context;

    move-result-object v6

    .line 2105
    invoke-static {}, Landroid/content/res/Resources;->getSystem()Landroid/content/res/Resources;

    move-result-object v7

    if-eqz v6, :cond_42

    .line 2113
    invoke-virtual {v6}, Landroid/content/Context;->getResources()Landroid/content/res/Resources;

    move-result-object v7

    .line 2115
    :cond_42
    invoke-virtual {v7}, Landroid/content/res/Resources;->getDisplayMetrics()Landroid/util/DisplayMetrics;

    move-result-object v6

    .line 2117
    invoke-virtual {p0}, Landroid/widget/TextView;->getPaint()Landroid/text/TextPaint;

    move-result-object v7

    invoke-virtual {v0, v7}, Landroid/text/TextPaint;->set(Landroid/text/TextPaint;)V

    .line 2118
    invoke-virtual {v0, v1}, Landroid/text/TextPaint;->setTextSize(F)V

    .line 2120
    invoke-interface {v5}, Ljava/lang/CharSequence;->length()I

    move-result v7

    invoke-virtual {v0, v5, v4, v7}, Landroid/text/TextPaint;->measureText(Ljava/lang/CharSequence;II)F

    move-result v7

    int-to-float v3, v3

    cmpl-float v7, v7, v3

    if-lez v7, :cond_9c

    const/4 v7, 0x0

    :goto_5e
    add-float v8, v7, v1

    const/high16 v9, 0x40000000    # 2.0f

    div-float/2addr v8, v9

    .line 2135
    invoke-static {v4, v8, v6}, Landroid/util/TypedValue;->applyDimension(IFLandroid/util/DisplayMetrics;)F

    move-result v9

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

    .line 2137
    invoke-virtual {v0}, Landroid/text/TextPaint;->getFontMetrics()Landroid/graphics/Paint$FontMetrics;

    move-result-object v9

    .line 2138
    invoke-interface {v5}, Ljava/lang/CharSequence;->length()I

    move-result v10

    invoke-virtual {v0, v5, v4, v10}, Landroid/text/TextPaint;->measureText(Ljava/lang/CharSequence;II)F

    move-result v10

    .line 2139
    iget v11, v9, Landroid/graphics/Paint$FontMetrics;->bottom:F

    iget v12, v9, Landroid/graphics/Paint$FontMetrics;->top:F

    sub-float/2addr v11, v12

    iget v9, v9, Landroid/graphics/Paint$FontMetrics;->leading:F

    add-float/2addr v11, v9

    sub-float v9, v1, v7

    const/high16 v12, 0x3f000000    # 0.5f

    cmpg-float v9, v9, v12

    if-gez v9, :cond_88

    move v1, v7

    goto :goto_9c

    :cond_88
    cmpl-float v9, v10, v3

    if-gtz v9, :cond_9a

    int-to-float v9, v2

    cmpl-float v9, v11, v9

    if-lez v9, :cond_92

    goto :goto_9a

    :cond_92
    cmpg-float v7, v10, v3

    if-gez v7, :cond_98

    move v7, v8

    goto :goto_5e

    :cond_98
    move v1, v8

    goto :goto_9c

    :cond_9a
    :goto_9a
    move v1, v8

    goto :goto_5e

    :cond_9c
    :goto_9c
    const/high16 v0, 0x3f800000    # 1.0f

    cmpg-float v2, v1, v0

    if-gez v2, :cond_a4

    const/high16 v1, 0x3f800000    # 1.0f

    .line 2128
    :cond_a4
    invoke-virtual {p0, v4, v1}, Landroid/widget/TextView;->setTextSize(IF)V

    .line 86
    :cond_a7
    iput-boolean v4, p0, Lcom/imo/android/imoim/views/SingleLineAutoFitTextView;->b:Z

    return-void
.end method

.method private synthetic a(Landroid/view/View;IIIIIIII)V
    .registers 10

    .line 76
    invoke-direct {p0}, Lcom/imo/android/imoim/views/SingleLineAutoFitTextView;->a()V

    return-void
.end method

.method static synthetic a(Lcom/imo/android/imoim/views/SingleLineAutoFitTextView;)V
    .registers 1

    .line 17
    invoke-direct {p0}, Lcom/imo/android/imoim/views/SingleLineAutoFitTextView;->a()V

    return-void
.end method

.method public static synthetic lambda$PgvsN1S1vux6XWFb0WS7MI1vipw(Lcom/imo/android/imoim/views/SingleLineAutoFitTextView;Landroid/view/View;IIIIIIII)V
    .registers 10

    invoke-direct/range {p0 .. p9}, Lcom/imo/android/imoim/views/SingleLineAutoFitTextView;->a(Landroid/view/View;IIIIIIII)V

    return-void
.end method


# virtual methods
.method public setEnableAutoFit(Z)V
    .registers 2

    .line 43
    iput-boolean p1, p0, Lcom/imo/android/imoim/views/SingleLineAutoFitTextView;->d:Z

    return-void
.end method

.method public setTextSize(IF)V
    .registers 3

    .line 48
    invoke-super {p0, p1, p2}, Lcom/imo/xui/widget/textview/XTextView;->setTextSize(IF)V

    .line 49
    iget-boolean p1, p0, Lcom/imo/android/imoim/views/SingleLineAutoFitTextView;->b:Z

    if-nez p1, :cond_9

    .line 50
    iput p2, p0, Lcom/imo/android/imoim/views/SingleLineAutoFitTextView;->c:F

    :cond_9
    return-void
.end method