v.smali
.class public final Lcom/imo/android/imoim/managers/v;
.super Ljava/lang/Object;
.source "SourceFile"
# annotations
.annotation system Ldalvik/annotation/MemberClasses;
value = {
Lcom/imo/android/imoim/managers/v$b;,
Lcom/imo/android/imoim/managers/v$e;,
Lcom/imo/android/imoim/managers/v$d;,
Lcom/imo/android/imoim/managers/v$a;,
Lcom/imo/android/imoim/managers/v$f;,
Lcom/imo/android/imoim/managers/v$c;
}
.end annotation
# static fields
.field public static a:Ljava/lang/String; = ""
# direct methods
.method static constructor <clinit>()V
.registers 0
return-void
.end method
.method public constructor <init>()V
.registers 1
.line 41
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
.method static synthetic a(Ljava/lang/Object;Ljava/lang/reflect/Method;[Ljava/lang/Object;)Ljava/lang/Object;
.registers 3
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/lang/Throwable;
}
.end annotation
.line 41
invoke-static {p0, p1, p2}, Lcom/imo/android/imoim/managers/v;->b(Ljava/lang/Object;Ljava/lang/reflect/Method;[Ljava/lang/Object;)Ljava/lang/Object;
move-result-object p0
return-object p0
.end method
.method static synthetic a(Ljava/lang/reflect/Method;Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
.registers 3
.line 41
invoke-static {p0, p1, p2}, Lcom/imo/android/imoim/managers/v;->b(Ljava/lang/reflect/Method;Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
move-result-object p0
return-object p0
.end method
.method static synthetic a(Ljava/lang/Class;Ljava/lang/String;)Ljava/lang/reflect/Field;
.registers 2
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/lang/NoSuchFieldException;
}
.end annotation
.line 41
invoke-static {p0, p1}, Lcom/imo/android/imoim/managers/v;->b(Ljava/lang/Class;Ljava/lang/String;)Ljava/lang/reflect/Field;
move-result-object p0
return-object p0
.end method
.method public static varargs a(Ljava/lang/Class;Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;
.registers 6
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/lang/Class<",
"*>;",
"Ljava/lang/String;",
"[",
"Ljava/lang/Class<",
"*>;)",
"Ljava/lang/reflect/Method;"
}
.end annotation
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/lang/NoSuchMethodException;
}
.end annotation
:goto_0
if-eqz p0, :cond_16
.line 539
:try_start_2
invoke-virtual {p0, p1, p2}, Ljava/lang/Class;->getDeclaredMethod(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;
move-result-object v0
.line 542
invoke-virtual {v0}, Ljava/lang/reflect/Method;->isAccessible()Z
move-result v1
if-nez v1, :cond_10
const/4 v1, 0x1
.line 543
invoke-virtual {v0, v1}, Ljava/lang/reflect/Method;->setAccessible(Z)V
:try_end_10
.catch Ljava/lang/NoSuchMethodException; {:try_start_2 .. :try_end_10} :catch_11
:cond_10
return-object v0
.line 537
:catch_11
invoke-virtual {p0}, Ljava/lang/Class;->getSuperclass()Ljava/lang/Class;
move-result-object p0
goto :goto_0
.line 552
:cond_16
new-instance v0, Ljava/lang/NoSuchMethodException;
new-instance v1, Ljava/lang/StringBuilder;
const-string v2, "Method "
invoke-direct {v1, v2}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
invoke-virtual {v1, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
const-string p1, " with parameters "
invoke-virtual {v1, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
.line 553
invoke-static {p2}, Ljava/util/Arrays;->asList([Ljava/lang/Object;)Ljava/util/List;
move-result-object p1
invoke-virtual {v1, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
const-string p1, " not found in "
invoke-virtual {v1, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {p0}, Ljava/lang/Class;->getCanonicalName()Ljava/lang/String;
move-result-object p0
invoke-virtual {v1, p0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p0
invoke-direct {v0, p0}, Ljava/lang/NoSuchMethodException;-><init>(Ljava/lang/String;)V
goto :goto_43
:goto_42
throw v0
:goto_43
goto :goto_42
.end method
.method public static a()V
.registers 7
const-string v0, "ActivityThreadHook failed"
const-string v1, "CrashProtector"
.line 1183
sget v2, Landroid/os/Build$VERSION;->SDK_INT:I
const/4 v3, 0x1
const/16 v4, 0x11
if-le v2, v4, :cond_11
const/16 v4, 0x1c
if-ge v2, v4, :cond_11
const/4 v2, 0x1
goto :goto_12
:cond_11
const/4 v2, 0x0
:goto_12
if-eqz v2, :cond_73
:try_start_14
const-string v2, "android.app.ActivityThread"
.line 2138
invoke-static {v2}, Ljava/lang/Class;->forName(Ljava/lang/String;)Ljava/lang/Class;
move-result-object v2
const-string v4, "sCurrentActivityThread"
.line 2139
invoke-virtual {v2, v4}, Ljava/lang/Class;->getDeclaredField(Ljava/lang/String;)Ljava/lang/reflect/Field;
move-result-object v4
.line 2140
invoke-virtual {v4, v3}, Ljava/lang/reflect/Field;->setAccessible(Z)V
.line 2141
invoke-virtual {v4, v2}, Ljava/lang/reflect/Field;->get(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v2
if-eqz v2, :cond_55
.line 2143
invoke-virtual {v2}, Ljava/lang/Object;->getClass()Ljava/lang/Class;
move-result-object v4
const-string v5, "mH"
invoke-virtual {v4, v5}, Ljava/lang/Class;->getDeclaredField(Ljava/lang/String;)Ljava/lang/reflect/Field;
move-result-object v4
.line 2144
invoke-virtual {v4, v3}, Ljava/lang/reflect/Field;->setAccessible(Z)V
.line 2145
invoke-virtual {v4, v2}, Ljava/lang/reflect/Field;->get(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v2
check-cast v2, Landroid/os/Handler;
.line 2146
const-class v4, Landroid/os/Handler;
const-string v5, "mCallback"
invoke-virtual {v4, v5}, Ljava/lang/Class;->getDeclaredField(Ljava/lang/String;)Ljava/lang/reflect/Field;
move-result-object v4
.line 2147
invoke-virtual {v4, v3}, Ljava/lang/reflect/Field;->setAccessible(Z)V
.line 2148
invoke-virtual {v4, v2}, Ljava/lang/reflect/Field;->get(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v5
check-cast v5, Landroid/os/Handler$Callback;
.line 2149
new-instance v6, Lcom/imo/android/imoim/managers/v$a$1;
invoke-direct {v6, v5}, Lcom/imo/android/imoim/managers/v$a$1;-><init>(Landroid/os/Handler$Callback;)V
.line 2164
invoke-virtual {v4, v2, v6}, Ljava/lang/reflect/Field;->set(Ljava/lang/Object;Ljava/lang/Object;)V
:try_end_55
.catch Ljava/lang/ClassNotFoundException; {:try_start_14 .. :try_end_55} :catch_6f
.catch Ljava/lang/NoSuchFieldException; {:try_start_14 .. :try_end_55} :catch_6a
.catch Ljava/lang/IllegalAccessException; {:try_start_14 .. :try_end_55} :catch_65
.catch Ljava/lang/ClassCastException; {:try_start_14 .. :try_end_55} :catch_60
.catch Ljava/lang/NullPointerException; {:try_start_14 .. :try_end_55} :catch_5b
.catchall {:try_start_14 .. :try_end_55} :catchall_56
:cond_55
return-void
:catchall_56
move-exception v2
.line 8083
invoke-static {v1, v0, v2, v3}, Lcom/imo/android/imoim/util/bt;->a(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;Z)V
goto :goto_73
:catch_5b
move-exception v2
.line 7083
invoke-static {v1, v0, v2, v3}, Lcom/imo/android/imoim/util/bt;->a(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;Z)V
return-void
:catch_60
move-exception v2
.line 6083
invoke-static {v1, v0, v2, v3}, Lcom/imo/android/imoim/util/bt;->a(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;Z)V
return-void
:catch_65
move-exception v2
.line 5083
invoke-static {v1, v0, v2, v3}, Lcom/imo/android/imoim/util/bt;->a(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;Z)V
return-void
:catch_6a
move-exception v2
.line 4083
invoke-static {v1, v0, v2, v3}, Lcom/imo/android/imoim/util/bt;->a(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;Z)V
return-void
:catch_6f
move-exception v2
.line 3083
invoke-static {v1, v0, v2, v3}, Lcom/imo/android/imoim/util/bt;->a(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;Z)V
:cond_73
:goto_73
return-void
.end method
.method static synthetic a(Ljava/lang/String;[Ljava/lang/String;)Z
.registers 5
.line 8446
invoke-static {p0}, Landroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Z
move-result v0
const/4 v1, 0x0
if-eqz v0, :cond_8
return v1
:cond_8
const/4 v0, 0x0
:goto_9
const/4 v2, 0x2
if-ge v0, v2, :cond_19
.line 8449
aget-object v2, p1, v0
.line 8450
invoke-virtual {p0, v2}, Ljava/lang/String;->contains(Ljava/lang/CharSequence;)Z
move-result v2
if-eqz v2, :cond_16
const/4 p0, 0x1
return p0
:cond_16
add-int/lit8 v0, v0, 0x1
goto :goto_9
:cond_19
return v1
.end method
.method private static b(Ljava/lang/Object;Ljava/lang/reflect/Method;[Ljava/lang/Object;)Ljava/lang/Object;
.registers 3
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/lang/Throwable;
}
.end annotation
.line 461
:try_start_0
invoke-virtual {p1, p0, p2}, Ljava/lang/reflect/Method;->invoke(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
move-result-object p0
:try_end_4
.catch Ljava/lang/reflect/UndeclaredThrowableException; {:try_start_0 .. :try_end_4} :catch_7
.catch Ljava/lang/reflect/InvocationTargetException; {:try_start_0 .. :try_end_4} :catch_5
return-object p0
:catch_5
move-exception p0
goto :goto_8
:catch_7
move-exception p0
.line 463
:goto_8
invoke-virtual {p0}, Ljava/lang/Exception;->getCause()Ljava/lang/Throwable;
move-result-object p1
if-eqz p1, :cond_13
.line 464
invoke-virtual {p0}, Ljava/lang/Exception;->getCause()Ljava/lang/Throwable;
move-result-object p0
throw p0
.line 466
:cond_13
throw p0
.end method
.method private static varargs b(Ljava/lang/reflect/Method;Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
.registers 4
const/4 v0, 0x0
if-nez p0, :cond_4
return-object v0
.line 477
:cond_4
:try_start_4
invoke-virtual {p0, p1, p2}, Ljava/lang/reflect/Method;->invoke(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
move-result-object p0
:try_end_8
.catchall {:try_start_4 .. :try_end_8} :catchall_9
return-object p0
.line 479
:catchall_9
invoke-virtual {p0}, Ljava/lang/reflect/Method;->getReturnType()Ljava/lang/Class;
move-result-object p0
.line 480
sget-object p1, Ljava/lang/Integer;->TYPE:Ljava/lang/Class;
invoke-virtual {p0, p1}, Ljava/lang/Object;->equals(Ljava/lang/Object;)Z
move-result p1
if-nez p1, :cond_5d
sget-object p1, Ljava/lang/Float;->TYPE:Ljava/lang/Class;
.line 481
invoke-virtual {p0, p1}, Ljava/lang/Object;->equals(Ljava/lang/Object;)Z
move-result p1
if-nez p1, :cond_5d
sget-object p1, Ljava/lang/Short;->TYPE:Ljava/lang/Class;
.line 482
invoke-virtual {p0, p1}, Ljava/lang/Object;->equals(Ljava/lang/Object;)Z
move-result p1
if-nez p1, :cond_5d
sget-object p1, Ljava/lang/Double;->TYPE:Ljava/lang/Class;
.line 483
invoke-virtual {p0, p1}, Ljava/lang/Object;->equals(Ljava/lang/Object;)Z
move-result p1
if-nez p1, :cond_5d
sget-object p1, Ljava/lang/Long;->TYPE:Ljava/lang/Class;
.line 484
invoke-virtual {p0, p1}, Ljava/lang/Object;->equals(Ljava/lang/Object;)Z
move-result p1
if-nez p1, :cond_5d
sget-object p1, Ljava/lang/Byte;->TYPE:Ljava/lang/Class;
.line 485
invoke-virtual {p0, p1}, Ljava/lang/Object;->equals(Ljava/lang/Object;)Z
move-result p1
if-nez p1, :cond_5d
sget-object p1, Ljava/lang/Character;->TYPE:Ljava/lang/Class;
.line 486
invoke-virtual {p0, p1}, Ljava/lang/Object;->equals(Ljava/lang/Object;)Z
move-result p1
if-eqz p1, :cond_46
goto :goto_5d
.line 489
:cond_46
sget-object p1, Ljava/lang/Boolean;->TYPE:Ljava/lang/Class;
invoke-virtual {p0, p1}, Ljava/lang/Object;->equals(Ljava/lang/Object;)Z
move-result p1
if-eqz p1, :cond_51
.line 490
sget-object p0, Ljava/lang/Boolean;->TRUE:Ljava/lang/Boolean;
return-object p0
.line 491
:cond_51
const-class p1, Ljava/lang/String;
invoke-virtual {p0, p1}, Ljava/lang/Object;->equals(Ljava/lang/Object;)Z
move-result p0
if-eqz p0, :cond_5c
const-string p0, ""
return-object p0
:cond_5c
return-object v0
:cond_5d
:goto_5d
const/4 p0, 0x0
.line 488
invoke-static {p0}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object p0
return-object p0
.end method
.method private static b(Ljava/lang/Class;Ljava/lang/String;)Ljava/lang/reflect/Field;
.registers 5
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/lang/Class<",
"*>;",
"Ljava/lang/String;",
")",
"Ljava/lang/reflect/Field;"
}
.end annotation
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/lang/NoSuchFieldException;
}
.end annotation
:goto_0
if-eqz p0, :cond_16
.line 510
:try_start_2
invoke-virtual {p0, p1}, Ljava/lang/Class;->getDeclaredField(Ljava/lang/String;)Ljava/lang/reflect/Field;
move-result-object v0
.line 513
invoke-virtual {v0}, Ljava/lang/reflect/Field;->isAccessible()Z
move-result v1
if-nez v1, :cond_10
const/4 v1, 0x1
.line 514
invoke-virtual {v0, v1}, Ljava/lang/reflect/Field;->setAccessible(Z)V
:try_end_10
.catch Ljava/lang/NoSuchFieldException; {:try_start_2 .. :try_end_10} :catch_11
:cond_10
return-object v0
.line 508
:catch_11
invoke-virtual {p0}, Ljava/lang/Class;->getSuperclass()Ljava/lang/Class;
move-result-object p0
goto :goto_0
.line 523
:cond_16
new-instance v0, Ljava/lang/NoSuchFieldException;
new-instance v1, Ljava/lang/StringBuilder;
const-string v2, "Field "
invoke-direct {v1, v2}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
invoke-virtual {v1, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
const-string p1, " not found in "
invoke-virtual {v1, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v1, p0}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p0
invoke-direct {v0, p0}, Ljava/lang/NoSuchFieldException;-><init>(Ljava/lang/String;)V
goto :goto_33
:goto_32
throw v0
:goto_33
goto :goto_32
.end method
.method public static b()V
.registers 3
.line 56
new-instance v0, Ljava/util/ArrayList;
invoke-direct {v0}, Ljava/util/ArrayList;-><init>()V
.line 57
new-instance v1, Lcom/imo/android/imoim/managers/v$d;
invoke-direct {v1}, Lcom/imo/android/imoim/managers/v$d;-><init>()V
invoke-virtual {v0, v1}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z
.line 58
new-instance v1, Lcom/imo/android/imoim/managers/v$f;
invoke-direct {v1}, Lcom/imo/android/imoim/managers/v$f;-><init>()V
invoke-virtual {v0, v1}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z
.line 59
new-instance v1, Lcom/imo/android/imoim/managers/v$b;
invoke-direct {v1}, Lcom/imo/android/imoim/managers/v$b;-><init>()V
invoke-virtual {v0, v1}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z
.line 60
invoke-virtual {v0}, Ljava/util/ArrayList;->iterator()Ljava/util/Iterator;
move-result-object v0
:cond_21
:goto_21
invoke-interface {v0}, Ljava/util/Iterator;->hasNext()Z
move-result v1
if-eqz v1, :cond_37
invoke-interface {v0}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v1
check-cast v1, Lcom/imo/android/imoim/managers/v$c;
.line 61
invoke-interface {v1}, Lcom/imo/android/imoim/managers/v$c;->b()Z
move-result v2
if-eqz v2, :cond_21
.line 62
invoke-interface {v1}, Lcom/imo/android/imoim/managers/v$c;->a()V
goto :goto_21
:cond_37
return-void
.end method