a.smali
.class public Lcom/cleanmaster/loader/a;
.super Ljava/lang/Object;
.source "MultiDex.java"
# annotations
.annotation system Ldalvik/annotation/MemberClasses;
value = {
Lcom/cleanmaster/loader/a$c;,
Lcom/cleanmaster/loader/a$a;,
Lcom/cleanmaster/loader/a$b;
}
.end annotation
# direct methods
.method static synthetic a(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/reflect/Field;
.registers 3
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/lang/NoSuchFieldException;
}
.end annotation
.prologue
.line 23
invoke-static {p0, p1}, Lcom/cleanmaster/loader/a;->b(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/reflect/Field;
move-result-object v0
return-object v0
.end method
.method static synthetic a(Ljava/lang/Object;Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;
.registers 4
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/lang/NoSuchMethodException;
}
.end annotation
.prologue
.line 23
invoke-static {p0, p1, p2}, Lcom/cleanmaster/loader/a;->b(Ljava/lang/Object;Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;
move-result-object v0
return-object v0
.end method
.method public static a(Ljava/lang/ClassLoader;Ljava/io/File;Ljava/util/List;)V
.registers 5
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/lang/ClassLoader;",
"Ljava/io/File;",
"Ljava/util/List",
"<",
"Ljava/io/File;",
">;)V"
}
.end annotation
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/lang/IllegalArgumentException;,
Ljava/lang/IllegalAccessException;,
Ljava/lang/NoSuchFieldException;,
Ljava/lang/reflect/InvocationTargetException;,
Ljava/lang/NoSuchMethodException;,
Ljava/io/IOException;
}
.end annotation
.prologue
.line 30
invoke-interface {p2}, Ljava/util/List;->isEmpty()Z
move-result v0
if-nez v0, :cond_f
.line 31
sget v0, Landroid/os/Build$VERSION;->SDK_INT:I
const/16 v1, 0x13
if-lt v0, v1, :cond_10
.line 32
invoke-static {p0, p2, p1}, Lcom/cleanmaster/loader/a$b;->a(Ljava/lang/ClassLoader;Ljava/util/List;Ljava/io/File;)V
.line 39
:cond_f
:goto_f
return-void
.line 33
:cond_10
sget v0, Landroid/os/Build$VERSION;->SDK_INT:I
const/16 v1, 0xe
if-lt v0, v1, :cond_1a
.line 34
invoke-static {p0, p2, p1}, Lcom/cleanmaster/loader/a$a;->a(Ljava/lang/ClassLoader;Ljava/util/List;Ljava/io/File;)V
goto :goto_f
.line 36
:cond_1a
invoke-static {p0, p2, p1}, Lcom/cleanmaster/loader/a$c;->a(Ljava/lang/ClassLoader;Ljava/util/List;Ljava/io/File;)V
goto :goto_f
.end method
.method static synthetic a(Ljava/lang/Object;Ljava/lang/String;[Ljava/lang/Object;)V
.registers 3
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/lang/NoSuchFieldException;,
Ljava/lang/IllegalArgumentException;,
Ljava/lang/IllegalAccessException;
}
.end annotation
.prologue
.line 23
invoke-static {p0, p1, p2}, Lcom/cleanmaster/loader/a;->b(Ljava/lang/Object;Ljava/lang/String;[Ljava/lang/Object;)V
return-void
.end method
.method private static b(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/reflect/Field;
.registers 5
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/lang/NoSuchFieldException;
}
.end annotation
.prologue
.line 51
invoke-virtual {p0}, Ljava/lang/Object;->getClass()Ljava/lang/Class;
move-result-object v0
:goto_4
if-eqz v0, :cond_1b
.line 53
:try_start_6
invoke-virtual {v0, p1}, Ljava/lang/Class;->getDeclaredField(Ljava/lang/String;)Ljava/lang/reflect/Field;
move-result-object v1
.line 56
invoke-virtual {v1}, Ljava/lang/reflect/Field;->isAccessible()Z
move-result v2
if-nez v2, :cond_14
.line 57
const/4 v2, 0x1
invoke-virtual {v1, v2}, Ljava/lang/reflect/Field;->setAccessible(Z)V
:try_end_14
.catch Ljava/lang/NoSuchFieldException; {:try_start_6 .. :try_end_14} :catch_15
.line 60
:cond_14
return-object v1
.line 61
:catch_15
move-exception v1
.line 51
invoke-virtual {v0}, Ljava/lang/Class;->getSuperclass()Ljava/lang/Class;
move-result-object v0
goto :goto_4
.line 66
:cond_1b
new-instance v0, Ljava/lang/NoSuchFieldException;
new-instance v1, Ljava/lang/StringBuilder;
invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
const-string v2, "Field "
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v1
invoke-virtual {v1, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v1
const-string v2, " not found in "
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v1
invoke-virtual {p0}, Ljava/lang/Object;->getClass()Ljava/lang/Class;
move-result-object v2
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
move-result-object v1
invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v1
invoke-direct {v0, v1}, Ljava/lang/NoSuchFieldException;-><init>(Ljava/lang/String;)V
throw v0
.end method
.method private static varargs b(Ljava/lang/Object;Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;
.registers 6
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/lang/Object;",
"Ljava/lang/String;",
"[",
"Ljava/lang/Class",
"<*>;)",
"Ljava/lang/reflect/Method;"
}
.end annotation
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/lang/NoSuchMethodException;
}
.end annotation
.prologue
.line 80
invoke-virtual {p0}, Ljava/lang/Object;->getClass()Ljava/lang/Class;
move-result-object v0
:goto_4
if-eqz v0, :cond_1b
.line 82
:try_start_6
invoke-virtual {v0, p1, p2}, Ljava/lang/Class;->getDeclaredMethod(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;
move-result-object v1
.line 85
invoke-virtual {v1}, Ljava/lang/reflect/Method;->isAccessible()Z
move-result v2
if-nez v2, :cond_14
.line 86
const/4 v2, 0x1
invoke-virtual {v1, v2}, Ljava/lang/reflect/Method;->setAccessible(Z)V
:try_end_14
.catch Ljava/lang/NoSuchMethodException; {:try_start_6 .. :try_end_14} :catch_15
.line 89
:cond_14
return-object v1
.line 90
:catch_15
move-exception v1
.line 80
invoke-virtual {v0}, Ljava/lang/Class;->getSuperclass()Ljava/lang/Class;
move-result-object v0
goto :goto_4
.line 95
:cond_1b
new-instance v0, Ljava/lang/NoSuchMethodException;
new-instance v1, Ljava/lang/StringBuilder;
invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
const-string v2, "Method "
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v1
invoke-virtual {v1, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v1
const-string v2, " with parameters "
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v1
.line 96
invoke-static {p2}, Ljava/util/Arrays;->asList([Ljava/lang/Object;)Ljava/util/List;
move-result-object v2
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
move-result-object v1
const-string v2, " not found in "
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v1
invoke-virtual {p0}, Ljava/lang/Object;->getClass()Ljava/lang/Class;
move-result-object v2
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
move-result-object v1
invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v1
invoke-direct {v0, v1}, Ljava/lang/NoSuchMethodException;-><init>(Ljava/lang/String;)V
throw v0
.end method
.method private static declared-synchronized b(Ljava/lang/Object;Ljava/lang/String;[Ljava/lang/Object;)V
.registers 10
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/lang/NoSuchFieldException;,
Ljava/lang/IllegalArgumentException;,
Ljava/lang/IllegalAccessException;
}
.end annotation
.prologue
.line 109
const-class v2, Lcom/cleanmaster/loader/a;
monitor-enter v2
:try_start_3
invoke-static {p0, p1}, Lcom/cleanmaster/loader/a;->b(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/reflect/Field;
move-result-object v3
.line 110
invoke-virtual {v3, 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;
.line 112
invoke-virtual {v0}, Ljava/lang/Object;->getClass()Ljava/lang/Class;
move-result-object v1
invoke-virtual {v1}, Ljava/lang/Class;->getComponentType()Ljava/lang/Class;
move-result-object v1
array-length v4, v0
array-length v5, p2
add-int/2addr v4, v5
.line 111
invoke-static {v1, v4}, Ljava/lang/reflect/Array;->newInstance(Ljava/lang/Class;I)Ljava/lang/Object;
move-result-object v1
check-cast v1, [Ljava/lang/Object;
check-cast v1, [Ljava/lang/Object;
.line 113
const/4 v4, 0x0
const/4 v5, 0x0
array-length v6, v0
invoke-static {v0, v4, v1, v5, v6}, Ljava/lang/System;->arraycopy(Ljava/lang/Object;ILjava/lang/Object;II)V
.line 114
const/4 v4, 0x0
array-length v0, v0
array-length v5, p2
invoke-static {p2, v4, v1, v0, v5}, Ljava/lang/System;->arraycopy(Ljava/lang/Object;ILjava/lang/Object;II)V
.line 115
invoke-virtual {v3, p0, v1}, Ljava/lang/reflect/Field;->set(Ljava/lang/Object;Ljava/lang/Object;)V
:try_end_31
.catchall {:try_start_3 .. :try_end_31} :catchall_33
.line 116
monitor-exit v2
return-void
.line 109
:catchall_33
move-exception v0
monitor-exit v2
throw v0
.end method