SelectionSpanWatcher.smali

.class public final Lim/tpelyyftgw/ui/hui/friendscircle_v1/view/edittext/watcher/SelectionSpanWatcher;
.super Lim/tpelyyftgw/ui/hui/friendscircle_v1/view/edittext/watcher/SpanWatcherAdapter;
.source "SelectionSpanWatcher.kt"


# annotations
.annotation system Ldalvik/annotation/Signature;
    value = {
        "<T:",
        "Ljava/lang/Object;",
        ">",
        "Lim/tpelyyftgw/ui/hui/friendscircle_v1/view/edittext/watcher/SpanWatcherAdapter;"
    }
.end annotation

.annotation system Ldalvik/annotation/SourceDebugExtension;
    value = "SMAP\nSelectionSpanWatcher.kt\nKotlin\n*S Kotlin\n*F\n+ 1 SelectionSpanWatcher.kt\nim/tpelyyftgw/ui/hui/friendscircle_v1/view/edittext/watcher/SelectionSpanWatcher\n*L\n1#1,32:1\n*E\n"
.end annotation

.annotation runtime Lkotlin/Metadata;
    bv = {
        0x1,
        0x0,
        0x3
    }
    d1 = {
        "\u0000.\n\u0002\u0018\u0002\n\u0000\n\u0002\u0010\u0000\n\u0002\u0018\u0002\n\u0000\n\u0002\u0018\u0002\n\u0002\u0008\u0002\n\u0002\u0010\u0008\n\u0002\u0008\u0002\n\u0002\u0010\u0002\n\u0000\n\u0002\u0018\u0002\n\u0002\u0008\u0006\u0018\u0000*\u0008\u0008\u0000\u0010\u0001*\u00020\u00022\u00020\u0003B\u0013\u0012\u000c\u0010\u0004\u001a\u0008\u0012\u0004\u0012\u00028\u00000\u0005\u00a2\u0006\u0002\u0010\u0006J8\u0010\n\u001a\u00020\u000b2\u0006\u0010\u000c\u001a\u00020\r2\u0006\u0010\u000e\u001a\u00020\u00022\u0006\u0010\u000f\u001a\u00020\u00082\u0006\u0010\u0010\u001a\u00020\u00082\u0006\u0010\u0011\u001a\u00020\u00082\u0006\u0010\u0012\u001a\u00020\u0008H\u0016R\u0014\u0010\u0004\u001a\u0008\u0012\u0004\u0012\u00028\u00000\u0005X\u0082\u0004\u00a2\u0006\u0002\n\u0000R\u000e\u0010\u0007\u001a\u00020\u0008X\u0082\u000e\u00a2\u0006\u0002\n\u0000R\u000e\u0010\t\u001a\u00020\u0008X\u0082\u000e\u00a2\u0006\u0002\n\u0000\u00a8\u0006\u0013"
    }
    d2 = {
        "Lim/tpelyyftgw/ui/hui/friendscircle_v1/view/edittext/watcher/SelectionSpanWatcher;",
        "T",
        "",
        "Lim/tpelyyftgw/ui/hui/friendscircle_v1/view/edittext/watcher/SpanWatcherAdapter;",
        "kClass",
        "Lkotlin/reflect/KClass;",
        "(Lkotlin/reflect/KClass;)V",
        "selEnd",
        "",
        "selStart",
        "onSpanChanged",
        "",
        "text",
        "Landroid/text/Spannable;",
        "what",
        "ostart",
        "oend",
        "nstart",
        "nend",
        "HMessagesPrj_prodRelease"
    }
    k = 0x1
    mv = {
        0x1,
        0x1,
        0x10
    }
.end annotation


# instance fields
.field private final kClass:Lkotlin/reflect/KClass;
    .annotation system Ldalvik/annotation/Signature;
        value = {
            "Lkotlin/reflect/KClass<",
            "TT;>;"
        }
    .end annotation
.end field

.field private selEnd:I

.field private selStart:I


# direct methods
.method static constructor <clinit>()V
    .registers 1

    return-void
.end method

.method public constructor <init>(Lkotlin/reflect/KClass;)V
    .registers 3
    .param p1, "kClass"    # Lkotlin/reflect/KClass;
    .annotation system Ldalvik/annotation/Signature;
        value = {
            "(",
            "Lkotlin/reflect/KClass<",
            "TT;>;)V"
        }
    .end annotation

    const-string v0, "kClass"

    invoke-static {p1, v0}, Lkotlin/jvm/internal/Intrinsics;->checkParameterIsNotNull(Ljava/lang/Object;Ljava/lang/String;)V

    .line 7
    invoke-direct {p0}, Lim/tpelyyftgw/ui/hui/friendscircle_v1/view/edittext/watcher/SpanWatcherAdapter;-><init>()V

    iput-object p1, p0, Lim/tpelyyftgw/ui/hui/friendscircle_v1/view/edittext/watcher/SelectionSpanWatcher;->kClass:Lkotlin/reflect/KClass;

    return-void
.end method


# virtual methods
.method public onSpanChanged(Landroid/text/Spannable;Ljava/lang/Object;IIII)V
    .registers 14
    .param p1, "text"    # Landroid/text/Spannable;
    .param p2, "what"    # Ljava/lang/Object;
    .param p3, "ostart"    # I
    .param p4, "oend"    # I
    .param p5, "nstart"    # I
    .param p6, "nend"    # I

    const-string v0, "text"

    invoke-static {p1, v0}, Lkotlin/jvm/internal/Intrinsics;->checkParameterIsNotNull(Ljava/lang/Object;Ljava/lang/String;)V

    const-string v0, "what"

    invoke-static {p2, v0}, Lkotlin/jvm/internal/Intrinsics;->checkParameterIsNotNull(Ljava/lang/Object;Ljava/lang/String;)V

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

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

    if-ne p2, v0, :cond_50

    iget v0, p0, Lim/tpelyyftgw/ui/hui/friendscircle_v1/view/edittext/watcher/SelectionSpanWatcher;->selEnd:I

    if-eq v0, p5, :cond_50

    .line 12
    iput p5, p0, Lim/tpelyyftgw/ui/hui/friendscircle_v1/view/edittext/watcher/SelectionSpanWatcher;->selEnd:I

    .line 13
    iget-object v0, p0, Lim/tpelyyftgw/ui/hui/friendscircle_v1/view/edittext/watcher/SelectionSpanWatcher;->kClass:Lkotlin/reflect/KClass;

    invoke-static {v0}, Lkotlin/jvm/JvmClassMappingKt;->getJavaClass(Lkotlin/reflect/KClass;)Ljava/lang/Class;

    move-result-object v0

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

    move-result-object v0

    invoke-static {v0, v1}, Lkotlin/jvm/internal/Intrinsics;->checkExpressionValueIsNotNull(Ljava/lang/Object;Ljava/lang/String;)V

    invoke-static {v0}, Lkotlin/collections/ArraysKt;->firstOrNull([Ljava/lang/Object;)Ljava/lang/Object;

    move-result-object v0

    if-eqz v0, :cond_50

    .local v0, "$this$run":Ljava/lang/Object;
    const/4 v2, 0x0

    .line 14
    .local v2, "$i$a$-run-SelectionSpanWatcher$onSpanChanged$1":I
    invoke-interface {p1, v0}, Landroid/text/Spannable;->getSpanStart(Ljava/lang/Object;)I

    move-result v3

    .line 15
    .local v3, "spanStart":I
    invoke-interface {p1, v0}, Landroid/text/Spannable;->getSpanEnd(Ljava/lang/Object;)I

    move-result v4

    .line 16
    .local v4, "spanEnd":I
    iget v5, p0, Lim/tpelyyftgw/ui/hui/friendscircle_v1/view/edittext/watcher/SelectionSpanWatcher;->selEnd:I

    sub-int/2addr v5, v4

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

    move-result v5

    iget v6, p0, Lim/tpelyyftgw/ui/hui/friendscircle_v1/view/edittext/watcher/SelectionSpanWatcher;->selEnd:I

    sub-int/2addr v6, v3

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

    move-result v6

    if-le v5, v6, :cond_44

    move v5, v3

    goto :goto_45

    :cond_44
    move v5, v4

    .line 17
    .local v5, "index":I
    :goto_45
    move-object v6, p1

    check-cast v6, Ljava/lang/CharSequence;

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

    move-result v6

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

    .line 18
    .end local v3    # "spanStart":I
    .end local v4    # "spanEnd":I
    .end local v5    # "index":I
    nop

    .line 21
    .end local v0    # "$this$run":Ljava/lang/Object;
    .end local v2    # "$i$a$-run-SelectionSpanWatcher$onSpanChanged$1":I
    :cond_50
    sget-object v0, Landroid/text/Selection;->SELECTION_START:Ljava/lang/Object;

    if-ne p2, v0, :cond_94

    iget v0, p0, Lim/tpelyyftgw/ui/hui/friendscircle_v1/view/edittext/watcher/SelectionSpanWatcher;->selStart:I

    if-eq v0, p5, :cond_94

    .line 22
    iput p5, p0, Lim/tpelyyftgw/ui/hui/friendscircle_v1/view/edittext/watcher/SelectionSpanWatcher;->selStart:I

    .line 23
    iget-object v0, p0, Lim/tpelyyftgw/ui/hui/friendscircle_v1/view/edittext/watcher/SelectionSpanWatcher;->kClass:Lkotlin/reflect/KClass;

    invoke-static {v0}, Lkotlin/jvm/JvmClassMappingKt;->getJavaClass(Lkotlin/reflect/KClass;)Ljava/lang/Class;

    move-result-object v0

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

    move-result-object v0

    invoke-static {v0, v1}, Lkotlin/jvm/internal/Intrinsics;->checkExpressionValueIsNotNull(Ljava/lang/Object;Ljava/lang/String;)V

    invoke-static {v0}, Lkotlin/collections/ArraysKt;->firstOrNull([Ljava/lang/Object;)Ljava/lang/Object;

    move-result-object v0

    if-eqz v0, :cond_94

    .restart local v0    # "$this$run":Ljava/lang/Object;
    const/4 v1, 0x0

    .line 24
    .local v1, "$i$a$-run-SelectionSpanWatcher$onSpanChanged$2":I
    invoke-interface {p1, v0}, Landroid/text/Spannable;->getSpanStart(Ljava/lang/Object;)I

    move-result v2

    .line 25
    .local v2, "spanStart":I
    invoke-interface {p1, v0}, Landroid/text/Spannable;->getSpanEnd(Ljava/lang/Object;)I

    move-result v3

    .line 26
    .local v3, "spanEnd":I
    iget v4, p0, Lim/tpelyyftgw/ui/hui/friendscircle_v1/view/edittext/watcher/SelectionSpanWatcher;->selStart:I

    sub-int/2addr v4, v3

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

    move-result v4

    iget v5, p0, Lim/tpelyyftgw/ui/hui/friendscircle_v1/view/edittext/watcher/SelectionSpanWatcher;->selStart:I

    sub-int/2addr v5, v2

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

    move-result v5

    if-le v4, v5, :cond_88

    move v4, v2

    goto :goto_89

    :cond_88
    move v4, v3

    .line 27
    .local v4, "index":I
    :goto_89
    move-object v5, p1

    check-cast v5, Ljava/lang/CharSequence;

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

    move-result v5

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

    .line 28
    .end local v2    # "spanStart":I
    .end local v3    # "spanEnd":I
    .end local v4    # "index":I
    nop

    .line 30
    .end local v0    # "$this$run":Ljava/lang/Object;
    .end local v1    # "$i$a$-run-SelectionSpanWatcher$onSpanChanged$2":I
    :cond_94
    return-void
.end method