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