SpannableStringLight.smali
.class public Lim/tpelyyftgw/ui/components/SpannableStringLight;
.super Landroid/text/SpannableString;
.source "SpannableStringLight.java"
# static fields
.field private static fieldsAvailable:Z
.field private static mSpanCountField:Ljava/lang/reflect/Field;
.field private static mSpanDataField:Ljava/lang/reflect/Field;
.field private static mSpansField:Ljava/lang/reflect/Field;
# instance fields
.field private mSpanCountOverride:I
.field private mSpanDataOverride:[I
.field private mSpansOverride:[Ljava/lang/Object;
.field private num:I
# direct methods
.method static constructor <clinit>()V
.registers 1
return-void
.end method
.method public constructor <init>(Ljava/lang/CharSequence;)V
.registers 3
.param p1, "source" # Ljava/lang/CharSequence;
.line 24
invoke-direct {p0, p1}, Landroid/text/SpannableString;-><init>(Ljava/lang/CharSequence;)V
.line 27
:try_start_3
sget-object v0, Lim/tpelyyftgw/ui/components/SpannableStringLight;->mSpansField:Ljava/lang/reflect/Field;
invoke-virtual {v0, p0}, Ljava/lang/reflect/Field;->get(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v0
check-cast v0, [Ljava/lang/Object;
check-cast v0, [Ljava/lang/Object;
iput-object v0, p0, Lim/tpelyyftgw/ui/components/SpannableStringLight;->mSpansOverride:[Ljava/lang/Object;
.line 28
sget-object v0, Lim/tpelyyftgw/ui/components/SpannableStringLight;->mSpanDataField:Ljava/lang/reflect/Field;
invoke-virtual {v0, p0}, Ljava/lang/reflect/Field;->get(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v0
check-cast v0, [I
check-cast v0, [I
iput-object v0, p0, Lim/tpelyyftgw/ui/components/SpannableStringLight;->mSpanDataOverride:[I
.line 29
sget-object v0, Lim/tpelyyftgw/ui/components/SpannableStringLight;->mSpanCountField:Ljava/lang/reflect/Field;
invoke-virtual {v0, p0}, Ljava/lang/reflect/Field;->get(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v0
check-cast v0, Ljava/lang/Integer;
invoke-virtual {v0}, Ljava/lang/Integer;->intValue()I
move-result v0
iput v0, p0, Lim/tpelyyftgw/ui/components/SpannableStringLight;->mSpanCountOverride:I
:try_end_29
.catchall {:try_start_3 .. :try_end_29} :catchall_2a
.line 32
goto :goto_2e
.line 30
:catchall_2a
move-exception v0
.line 31
.local v0, "e":Ljava/lang/Throwable;
invoke-static {v0}, Lim/tpelyyftgw/messenger/FileLog;->e(Ljava/lang/Throwable;)V
.line 33
.end local v0 # "e":Ljava/lang/Throwable;
:goto_2e
return-void
.end method
.method public static isFieldsAvailable()Z
.registers 3
.line 52
sget-boolean v0, Lim/tpelyyftgw/ui/components/SpannableStringLight;->fieldsAvailable:Z
const/4 v1, 0x1
if-nez v0, :cond_43
sget-object v0, Lim/tpelyyftgw/ui/components/SpannableStringLight;->mSpansField:Ljava/lang/reflect/Field;
if-nez v0, :cond_43
.line 54
:try_start_9
const-class v0, Landroid/text/SpannableString;
invoke-virtual {v0}, Ljava/lang/Class;->getSuperclass()Ljava/lang/Class;
move-result-object v0
const-string v2, "mSpans"
invoke-virtual {v0, v2}, Ljava/lang/Class;->getDeclaredField(Ljava/lang/String;)Ljava/lang/reflect/Field;
move-result-object v0
sput-object v0, Lim/tpelyyftgw/ui/components/SpannableStringLight;->mSpansField:Ljava/lang/reflect/Field;
.line 55
invoke-virtual {v0, v1}, Ljava/lang/reflect/Field;->setAccessible(Z)V
.line 57
const-class v0, Landroid/text/SpannableString;
invoke-virtual {v0}, Ljava/lang/Class;->getSuperclass()Ljava/lang/Class;
move-result-object v0
const-string v2, "mSpanData"
invoke-virtual {v0, v2}, Ljava/lang/Class;->getDeclaredField(Ljava/lang/String;)Ljava/lang/reflect/Field;
move-result-object v0
sput-object v0, Lim/tpelyyftgw/ui/components/SpannableStringLight;->mSpanDataField:Ljava/lang/reflect/Field;
.line 58
invoke-virtual {v0, v1}, Ljava/lang/reflect/Field;->setAccessible(Z)V
.line 60
const-class v0, Landroid/text/SpannableString;
invoke-virtual {v0}, Ljava/lang/Class;->getSuperclass()Ljava/lang/Class;
move-result-object v0
const-string v2, "mSpanCount"
invoke-virtual {v0, v2}, Ljava/lang/Class;->getDeclaredField(Ljava/lang/String;)Ljava/lang/reflect/Field;
move-result-object v0
sput-object v0, Lim/tpelyyftgw/ui/components/SpannableStringLight;->mSpanCountField:Ljava/lang/reflect/Field;
.line 61
invoke-virtual {v0, v1}, Ljava/lang/reflect/Field;->setAccessible(Z)V
:try_end_3c
.catchall {:try_start_9 .. :try_end_3c} :catchall_3d
.line 64
goto :goto_41
.line 62
:catchall_3d
move-exception v0
.line 63
.local v0, "e":Ljava/lang/Throwable;
invoke-static {v0}, Lim/tpelyyftgw/messenger/FileLog;->e(Ljava/lang/Throwable;)V
.line 65
.end local v0 # "e":Ljava/lang/Throwable;
:goto_41
sput-boolean v1, Lim/tpelyyftgw/ui/components/SpannableStringLight;->fieldsAvailable:Z
.line 67
:cond_43
sget-object v0, Lim/tpelyyftgw/ui/components/SpannableStringLight;->mSpansField:Ljava/lang/reflect/Field;
if-eqz v0, :cond_48
goto :goto_49
:cond_48
const/4 v1, 0x0
:goto_49
return v1
.end method
# virtual methods
.method public removeSpan(Ljava/lang/Object;)V
.registers 2
.param p1, "what" # Ljava/lang/Object;
.line 80
invoke-super {p0, p1}, Landroid/text/SpannableString;->removeSpan(Ljava/lang/Object;)V
.line 81
return-void
.end method
.method public setSpanLight(Ljava/lang/Object;III)V
.registers 8
.param p1, "what" # Ljava/lang/Object;
.param p2, "start" # I
.param p3, "end" # I
.param p4, "flags" # I
.line 71
iget-object v0, p0, Lim/tpelyyftgw/ui/components/SpannableStringLight;->mSpansOverride:[Ljava/lang/Object;
iget v1, p0, Lim/tpelyyftgw/ui/components/SpannableStringLight;->num:I
aput-object p1, v0, v1
.line 72
iget-object v0, p0, Lim/tpelyyftgw/ui/components/SpannableStringLight;->mSpanDataOverride:[I
mul-int/lit8 v2, v1, 0x3
aput p2, v0, v2
.line 73
mul-int/lit8 v2, v1, 0x3
add-int/lit8 v2, v2, 0x1
aput p3, v0, v2
.line 74
mul-int/lit8 v2, v1, 0x3
add-int/lit8 v2, v2, 0x2
aput p4, v0, v2
.line 75
add-int/lit8 v1, v1, 0x1
iput v1, p0, Lim/tpelyyftgw/ui/components/SpannableStringLight;->num:I
.line 76
return-void
.end method
.method public setSpansCount(I)V
.registers 5
.param p1, "count" # I
.line 36
iget v0, p0, Lim/tpelyyftgw/ui/components/SpannableStringLight;->mSpanCountOverride:I
add-int/2addr p1, v0
.line 37
new-array v1, p1, [Ljava/lang/Object;
iput-object v1, p0, Lim/tpelyyftgw/ui/components/SpannableStringLight;->mSpansOverride:[Ljava/lang/Object;
.line 38
mul-int/lit8 v2, p1, 0x3
new-array v2, v2, [I
iput-object v2, p0, Lim/tpelyyftgw/ui/components/SpannableStringLight;->mSpanDataOverride:[I
.line 39
iput v0, p0, Lim/tpelyyftgw/ui/components/SpannableStringLight;->num:I
.line 40
iput p1, p0, Lim/tpelyyftgw/ui/components/SpannableStringLight;->mSpanCountOverride:I
.line 43
:try_start_11
sget-object v0, Lim/tpelyyftgw/ui/components/SpannableStringLight;->mSpansField:Ljava/lang/reflect/Field;
invoke-virtual {v0, p0, v1}, Ljava/lang/reflect/Field;->set(Ljava/lang/Object;Ljava/lang/Object;)V
.line 44
sget-object v0, Lim/tpelyyftgw/ui/components/SpannableStringLight;->mSpanDataField:Ljava/lang/reflect/Field;
iget-object v1, p0, Lim/tpelyyftgw/ui/components/SpannableStringLight;->mSpanDataOverride:[I
invoke-virtual {v0, p0, v1}, Ljava/lang/reflect/Field;->set(Ljava/lang/Object;Ljava/lang/Object;)V
.line 45
sget-object v0, Lim/tpelyyftgw/ui/components/SpannableStringLight;->mSpanCountField:Ljava/lang/reflect/Field;
iget v1, p0, Lim/tpelyyftgw/ui/components/SpannableStringLight;->mSpanCountOverride:I
invoke-static {v1}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object v1
invoke-virtual {v0, p0, v1}, Ljava/lang/reflect/Field;->set(Ljava/lang/Object;Ljava/lang/Object;)V
:try_end_28
.catchall {:try_start_11 .. :try_end_28} :catchall_29
.line 48
goto :goto_2d
.line 46
:catchall_29
move-exception v0
.line 47
.local v0, "e":Ljava/lang/Throwable;
invoke-static {v0}, Lim/tpelyyftgw/messenger/FileLog;->e(Ljava/lang/Throwable;)V
.line 49
.end local v0 # "e":Ljava/lang/Throwable;
:goto_2d
return-void
.end method