a.smali

.class public final Lcom/imo/android/imoim/views/a/c/a;
.super Lcom/imo/android/imoim/views/a/c/b;
.source "SourceFile"


# annotations
.annotation system Ldalvik/annotation/Signature;
    value = {
        "<T:",
        "Ljava/lang/Object;",
        ">",
        "Lcom/imo/android/imoim/views/a/c/b;"
    }
.end annotation


# instance fields
.field private a:I

.field private b:I

.field private final c:Lkotlin/k/b;
    .annotation system Ldalvik/annotation/Signature;
        value = {
            "Lkotlin/k/b<",
            "TT;>;"
        }
    .end annotation
.end field


# direct methods
.method public constructor <init>(Lkotlin/k/b;)V
    .registers 3
    .annotation system Ldalvik/annotation/Signature;
        value = {
            "(",
            "Lkotlin/k/b<",
            "TT;>;)V"
        }
    .end annotation

    const-string v0, "kClass"

    invoke-static {p1, v0}, Lkotlin/f/b/o;->b(Ljava/lang/Object;Ljava/lang/String;)V

    .line 7
    invoke-direct {p0}, Lcom/imo/android/imoim/views/a/c/b;-><init>()V

    iput-object p1, p0, Lcom/imo/android/imoim/views/a/c/a;->c:Lkotlin/k/b;

    return-void
.end method


# virtual methods
.method public final onSpanChanged(Landroid/text/Spannable;Ljava/lang/Object;IIII)V
    .registers 10

    const-string p3, "text"

    invoke-static {p1, p3}, Lkotlin/f/b/o;->b(Ljava/lang/Object;Ljava/lang/String;)V

    const-string p3, "what"

    invoke-static {p2, p3}, Lkotlin/f/b/o;->b(Ljava/lang/Object;Ljava/lang/String;)V

    .line 11
    sget-object p3, Landroid/text/Selection;->SELECTION_END:Ljava/lang/Object;

    const-string p4, "text.getSpans(nstart, nend, kClass.java)"

    if-ne p2, p3, :cond_4d

    iget p3, p0, Lcom/imo/android/imoim/views/a/c/a;->b:I

    if-eq p3, p5, :cond_4d

    .line 12
    iput p5, p0, Lcom/imo/android/imoim/views/a/c/a;->b:I

    .line 13
    iget-object p3, p0, Lcom/imo/android/imoim/views/a/c/a;->c:Lkotlin/k/b;

    invoke-static {p3}, Lkotlin/f/a;->a(Lkotlin/k/b;)Ljava/lang/Class;

    move-result-object p3

    invoke-interface {p1, p5, p6, p3}, Landroid/text/Spannable;->getSpans(IILjava/lang/Class;)[Ljava/lang/Object;

    move-result-object p3

    invoke-static {p3, p4}, Lkotlin/f/b/o;->a(Ljava/lang/Object;Ljava/lang/String;)V

    invoke-static {p3}, Lkotlin/a/e;->b([Ljava/lang/Object;)Ljava/lang/Object;

    move-result-object p3

    if-eqz p3, :cond_4d

    .line 14
    invoke-interface {p1, p3}, Landroid/text/Spannable;->getSpanStart(Ljava/lang/Object;)I

    move-result v0

    .line 15
    invoke-interface {p1, p3}, Landroid/text/Spannable;->getSpanEnd(Ljava/lang/Object;)I

    move-result p3

    .line 16
    iget v1, p0, Lcom/imo/android/imoim/views/a/c/a;->b:I

    sub-int/2addr v1, p3

    invoke-static {v1}, Ljava/lang/Math;->abs(I)I

    move-result v1

    iget v2, p0, Lcom/imo/android/imoim/views/a/c/a;->b:I

    sub-int/2addr v2, v0

    invoke-static {v2}, Ljava/lang/Math;->abs(I)I

    move-result v2

    if-le v1, v2, :cond_42

    goto :goto_43

    :cond_42
    move v0, p3

    .line 17
    :goto_43
    move-object p3, p1

    check-cast p3, Ljava/lang/CharSequence;

    invoke-static {p3}, Landroid/text/Selection;->getSelectionStart(Ljava/lang/CharSequence;)I

    move-result p3

    invoke-static {p1, p3, v0}, Landroid/text/Selection;->setSelection(Landroid/text/Spannable;II)V

    .line 21
    :cond_4d
    sget-object p3, Landroid/text/Selection;->SELECTION_START:Ljava/lang/Object;

    if-ne p2, p3, :cond_8e

    iget p2, p0, Lcom/imo/android/imoim/views/a/c/a;->a:I

    if-eq p2, p5, :cond_8e

    .line 22
    iput p5, p0, Lcom/imo/android/imoim/views/a/c/a;->a:I

    .line 23
    iget-object p2, p0, Lcom/imo/android/imoim/views/a/c/a;->c:Lkotlin/k/b;

    invoke-static {p2}, Lkotlin/f/a;->a(Lkotlin/k/b;)Ljava/lang/Class;

    move-result-object p2

    invoke-interface {p1, p5, p6, p2}, Landroid/text/Spannable;->getSpans(IILjava/lang/Class;)[Ljava/lang/Object;

    move-result-object p2

    invoke-static {p2, p4}, Lkotlin/f/b/o;->a(Ljava/lang/Object;Ljava/lang/String;)V

    invoke-static {p2}, Lkotlin/a/e;->b([Ljava/lang/Object;)Ljava/lang/Object;

    move-result-object p2

    if-eqz p2, :cond_8e

    .line 24
    invoke-interface {p1, p2}, Landroid/text/Spannable;->getSpanStart(Ljava/lang/Object;)I

    move-result p3

    .line 25
    invoke-interface {p1, p2}, Landroid/text/Spannable;->getSpanEnd(Ljava/lang/Object;)I

    move-result p2

    .line 26
    iget p4, p0, Lcom/imo/android/imoim/views/a/c/a;->a:I

    sub-int/2addr p4, p2

    invoke-static {p4}, Ljava/lang/Math;->abs(I)I

    move-result p4

    iget p5, p0, Lcom/imo/android/imoim/views/a/c/a;->a:I

    sub-int/2addr p5, p3

    invoke-static {p5}, Ljava/lang/Math;->abs(I)I

    move-result p5

    if-le p4, p5, :cond_83

    goto :goto_84

    :cond_83
    move p3, p2

    .line 27
    :goto_84
    move-object p2, p1

    check-cast p2, Ljava/lang/CharSequence;

    invoke-static {p2}, Landroid/text/Selection;->getSelectionEnd(Ljava/lang/CharSequence;)I

    move-result p2

    invoke-static {p1, p3, p2}, Landroid/text/Selection;->setSelection(Landroid/text/Spannable;II)V

    :cond_8e
    return-void
.end method