ClassLoaderManager.smali
.class public Lcom/cmcm/adsdk/dynamic/ClassLoaderManager;
.super Ljava/lang/Object;
.source "ClassLoaderManager.java"
# static fields
.field private static final GETCONFIG_INTERVAL_TIME:J = 0xdbba00L
.field private static final GETCONFIG_ONEDAY_TIME:J = 0x5265c00L
.field private static isInjectSuccess:Z
.field private static mClassloader:Ldalvik/system/DexClassLoader;
.field private static mInstance:Lcom/cmcm/adsdk/dynamic/ClassLoaderManager;
# instance fields
.field private mContext:Landroid/content/Context;
# direct methods
.method static constructor <clinit>()V
.registers 1
.prologue
.line 30
const/4 v0, 0x0
sput-boolean v0, Lcom/cmcm/adsdk/dynamic/ClassLoaderManager;->isInjectSuccess:Z
return-void
.end method
.method private constructor <init>()V
.registers 1
.prologue
.line 37
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
.method static synthetic access$000(Lcom/cmcm/adsdk/dynamic/ClassLoaderManager;)Landroid/content/Context;
.registers 2
.prologue
.line 26
iget-object v0, p0, Lcom/cmcm/adsdk/dynamic/ClassLoaderManager;->mContext:Landroid/content/Context;
return-object v0
.end method
.method static synthetic access$102(Ldalvik/system/DexClassLoader;)Ldalvik/system/DexClassLoader;
.registers 1
.prologue
.line 26
sput-object p0, Lcom/cmcm/adsdk/dynamic/ClassLoaderManager;->mClassloader:Ldalvik/system/DexClassLoader;
return-object p0
.end method
.method static synthetic access$202(Z)Z
.registers 1
.prologue
.line 26
sput-boolean p0, Lcom/cmcm/adsdk/dynamic/ClassLoaderManager;->isInjectSuccess:Z
return p0
.end method
.method private static combineArray(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
.registers 7
.prologue
.line 249
invoke-virtual {p0}, Ljava/lang/Object;->getClass()Ljava/lang/Class;
move-result-object v0
invoke-virtual {v0}, Ljava/lang/Class;->getComponentType()Ljava/lang/Class;
move-result-object v0
.line 250
invoke-static {p0}, Ljava/lang/reflect/Array;->getLength(Ljava/lang/Object;)I
move-result v1
.line 251
invoke-static {p1}, Ljava/lang/reflect/Array;->getLength(Ljava/lang/Object;)I
move-result v2
add-int/2addr v2, v1
.line 252
invoke-static {v0, v2}, Ljava/lang/reflect/Array;->newInstance(Ljava/lang/Class;I)Ljava/lang/Object;
move-result-object v3
.line 253
const/4 v0, 0x0
:goto_16
if-ge v0, v2, :cond_2e
.line 254
if-ge v0, v1, :cond_24
.line 255
invoke-static {p0, v0}, Ljava/lang/reflect/Array;->get(Ljava/lang/Object;I)Ljava/lang/Object;
move-result-object v4
invoke-static {v3, v0, v4}, Ljava/lang/reflect/Array;->set(Ljava/lang/Object;ILjava/lang/Object;)V
.line 253
:goto_21
add-int/lit8 v0, v0, 0x1
goto :goto_16
.line 257
:cond_24
sub-int v4, v0, v1
invoke-static {p1, v4}, Ljava/lang/reflect/Array;->get(Ljava/lang/Object;I)Ljava/lang/Object;
move-result-object v4
invoke-static {v3, v0, v4}, Ljava/lang/reflect/Array;->set(Ljava/lang/Object;ILjava/lang/Object;)V
goto :goto_21
.line 260
:cond_2e
return-object v3
.end method
.method private static getDexElements(Ljava/lang/Object;)Ljava/lang/Object;
.registers 3
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/lang/IllegalArgumentException;,
Ljava/lang/NoSuchFieldException;,
Ljava/lang/IllegalAccessException;
}
.end annotation
.prologue
.line 237
invoke-virtual {p0}, Ljava/lang/Object;->getClass()Ljava/lang/Class;
move-result-object v0
const-string v1, "dexElements"
invoke-static {p0, v0, v1}, Lcom/cmcm/adsdk/dynamic/ClassLoaderManager;->getField(Ljava/lang/Object;Ljava/lang/Class;Ljava/lang/String;)Ljava/lang/Object;
move-result-object v0
return-object v0
.end method
.method private getDynamicConfigInfo()V
.registers 3
.prologue
.line 133
new-instance v0, Lcom/cmcm/adsdk/dynamic/ClassLoaderManager$1;
invoke-direct {v0, p0}, Lcom/cmcm/adsdk/dynamic/ClassLoaderManager$1;-><init>(Lcom/cmcm/adsdk/dynamic/ClassLoaderManager;)V
const/4 v1, 0x0
new-array v1, v1, [Ljava/lang/Void;
.line 181
invoke-virtual {v0, v1}, Lcom/cmcm/adsdk/dynamic/ClassLoaderManager$1;->execute([Ljava/lang/Object;)Landroid/os/AsyncTask;
.line 182
return-void
.end method
.method private static getField(Ljava/lang/Object;Ljava/lang/Class;Ljava/lang/String;)Ljava/lang/Object;
.registers 5
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/lang/Object;",
"Ljava/lang/Class",
"<*>;",
"Ljava/lang/String;",
")",
"Ljava/lang/Object;"
}
.end annotation
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/lang/NoSuchFieldException;,
Ljava/lang/IllegalArgumentException;,
Ljava/lang/IllegalAccessException;
}
.end annotation
.prologue
.line 230
invoke-virtual {p1, p2}, Ljava/lang/Class;->getDeclaredField(Ljava/lang/String;)Ljava/lang/reflect/Field;
move-result-object v0
.line 231
const/4 v1, 0x1
invoke-virtual {v0, v1}, Ljava/lang/reflect/Field;->setAccessible(Z)V
.line 232
invoke-virtual {v0, p0}, Ljava/lang/reflect/Field;->get(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v0
return-object v0
.end method
.method public static declared-synchronized getInstance()Lcom/cmcm/adsdk/dynamic/ClassLoaderManager;
.registers 2
.prologue
.line 40
const-class v1, Lcom/cmcm/adsdk/dynamic/ClassLoaderManager;
monitor-enter v1
:try_start_3
sget-object v0, Lcom/cmcm/adsdk/dynamic/ClassLoaderManager;->mInstance:Lcom/cmcm/adsdk/dynamic/ClassLoaderManager;
if-nez v0, :cond_e
.line 41
new-instance v0, Lcom/cmcm/adsdk/dynamic/ClassLoaderManager;
invoke-direct {v0}, Lcom/cmcm/adsdk/dynamic/ClassLoaderManager;-><init>()V
sput-object v0, Lcom/cmcm/adsdk/dynamic/ClassLoaderManager;->mInstance:Lcom/cmcm/adsdk/dynamic/ClassLoaderManager;
.line 43
:cond_e
sget-object v0, Lcom/cmcm/adsdk/dynamic/ClassLoaderManager;->mInstance:Lcom/cmcm/adsdk/dynamic/ClassLoaderManager;
:try_end_10
.catchall {:try_start_3 .. :try_end_10} :catchall_12
monitor-exit v1
return-object v0
.line 40
:catchall_12
move-exception v0
monitor-exit v1
throw v0
.end method
.method private static getPathList(Ljava/lang/Object;)Ljava/lang/Object;
.registers 3
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/lang/IllegalArgumentException;,
Ljava/lang/NoSuchFieldException;,
Ljava/lang/IllegalAccessException;,
Ljava/lang/ClassNotFoundException;
}
.end annotation
.prologue
.line 225
const-string v0, "dalvik.system.BaseDexClassLoader"
invoke-static {v0}, Ljava/lang/Class;->forName(Ljava/lang/String;)Ljava/lang/Class;
move-result-object v0
const-string v1, "pathList"
invoke-static {p0, v0, v1}, Lcom/cmcm/adsdk/dynamic/ClassLoaderManager;->getField(Ljava/lang/Object;Ljava/lang/Class;Ljava/lang/String;)Ljava/lang/Object;
move-result-object v0
return-object v0
.end method
.method private inject(Ldalvik/system/DexClassLoader;)Z
.registers 6
.prologue
.line 208
new-instance v0, Ljava/lang/StringBuilder;
invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
const-string v1, "inject dexclassloader :"
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v0
invoke-static {}, Lcom/cleanmaster/hpsharelib/base/util/system/RuntimeCheck;->IsWorkerProcess()Z
move-result v1
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Z)Ljava/lang/StringBuilder;
move-result-object v0
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
invoke-static {v0}, Lcom/cmcm/adsdk/dynamic/AdLog;->i(Ljava/lang/String;)V
.line 209
invoke-static {}, Lcom/keniu/security/l;->d()Landroid/content/Context;
move-result-object v0
invoke-virtual {v0}, Landroid/content/Context;->getClassLoader()Ljava/lang/ClassLoader;
move-result-object v0
check-cast v0, Ldalvik/system/PathClassLoader;
.line 212
:try_start_24
invoke-static {v0}, Lcom/cmcm/adsdk/dynamic/ClassLoaderManager;->getPathList(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v1
invoke-static {v1}, Lcom/cmcm/adsdk/dynamic/ClassLoaderManager;->getDexElements(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v1
.line 213
invoke-static {p1}, Lcom/cmcm/adsdk/dynamic/ClassLoaderManager;->getPathList(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v2
invoke-static {v2}, Lcom/cmcm/adsdk/dynamic/ClassLoaderManager;->getDexElements(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v2
.line 211
invoke-static {v1, v2}, Lcom/cmcm/adsdk/dynamic/ClassLoaderManager;->combineArray(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v1
.line 214
invoke-static {v0}, Lcom/cmcm/adsdk/dynamic/ClassLoaderManager;->getPathList(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v0
.line 215
invoke-virtual {v0}, Ljava/lang/Object;->getClass()Ljava/lang/Class;
move-result-object v2
const-string v3, "dexElements"
invoke-static {v0, v2, v3, v1}, Lcom/cmcm/adsdk/dynamic/ClassLoaderManager;->setField(Ljava/lang/Object;Ljava/lang/Class;Ljava/lang/String;Ljava/lang/Object;)V
:try_end_45
.catch Ljava/lang/Exception; {:try_start_24 .. :try_end_45} :catch_47
.line 216
const/4 v0, 0x1
.line 220
:goto_46
return v0
.line 217
:catch_47
move-exception v0
.line 218
new-instance v1, Ljava/lang/StringBuilder;
invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
const-string v2, "inject dexclassloader error:"
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v1
invoke-static {v0}, Landroid/util/Log;->getStackTraceString(Ljava/lang/Throwable;)Ljava/lang/String;
move-result-object v0
invoke-virtual {v1, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v0
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
invoke-static {v0}, Lcom/cmcm/adsdk/dynamic/AdLog;->i(Ljava/lang/String;)V
.line 220
const/4 v0, 0x0
goto :goto_46
.end method
.method private isPreloadJarInfo(Landroid/content/Context;)Z
.registers 12
.prologue
const/4 v0, 0x1
const/4 v1, 0x0
.line 64
invoke-static {p1}, Lcom/cleanmaster/hpsharelib/configmanager/ServiceConfigManager;->getInstanse(Landroid/content/Context;)Lcom/cleanmaster/hpsharelib/configmanager/ServiceConfigManager;
move-result-object v2
const-string v3, "cm_dynamic_ad_getconfig_count"
invoke-virtual {v2, v3, v1}, Lcom/cleanmaster/hpsharelib/configmanager/ServiceConfigManager;->getIntValue(Ljava/lang/String;I)I
move-result v2
.line 65
invoke-static {p1}, Lcom/cleanmaster/hpsharelib/configmanager/ServiceConfigManager;->getInstanse(Landroid/content/Context;)Lcom/cleanmaster/hpsharelib/configmanager/ServiceConfigManager;
move-result-object v3
const-string v4, "cm_dynamic_ad_getconfig_time"
invoke-static {}, Ljava/lang/System;->currentTimeMillis()J
move-result-wide v6
invoke-virtual {v3, v4, v6, v7}, Lcom/cleanmaster/hpsharelib/configmanager/ServiceConfigManager;->getLongValue(Ljava/lang/String;J)J
move-result-wide v4
.line 66
invoke-static {p1}, Lcom/cleanmaster/hpsharelib/configmanager/ServiceConfigManager;->getInstanse(Landroid/content/Context;)Lcom/cleanmaster/hpsharelib/configmanager/ServiceConfigManager;
move-result-object v3
const-string v6, "cm_dynamic_ad_getconfig_firsttime"
invoke-static {}, Ljava/lang/System;->currentTimeMillis()J
move-result-wide v8
invoke-virtual {v3, v6, v8, v9}, Lcom/cleanmaster/hpsharelib/configmanager/ServiceConfigManager;->getLongValue(Ljava/lang/String;J)J
move-result-wide v6
.line 67
invoke-static {}, Ljava/lang/System;->currentTimeMillis()J
move-result-wide v8
.line 68
sub-long v6, v8, v6
.line 69
sub-long v4, v8, v4
.line 71
new-instance v3, Ljava/lang/StringBuilder;
invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
const-string v8, "get adconfig timeinterval:"
invoke-virtual {v3, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v3
invoke-virtual {v3, v6, v7}, Ljava/lang/StringBuilder;->append(J)Ljava/lang/StringBuilder;
move-result-object v3
invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v3
invoke-static {v3}, Lcom/cmcm/adsdk/dynamic/AdLog;->i(Ljava/lang/String;)V
.line 72
new-instance v3, Ljava/lang/StringBuilder;
invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
const-string v8, "get adconfig timeinterval1:"
invoke-virtual {v3, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v3
invoke-virtual {v3, v4, v5}, Ljava/lang/StringBuilder;->append(J)Ljava/lang/StringBuilder;
move-result-object v3
invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v3
invoke-static {v3}, Lcom/cmcm/adsdk/dynamic/AdLog;->i(Ljava/lang/String;)V
.line 73
new-instance v3, Ljava/lang/StringBuilder;
invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
const-string v8, "getconfig count:"
invoke-virtual {v3, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v3
invoke-virtual {v3, v2}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
move-result-object v3
invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v3
invoke-static {v3}, Lcom/cmcm/adsdk/dynamic/AdLog;->i(Ljava/lang/String;)V
.line 76
const-wide/32 v8, 0x5265c00
cmp-long v3, v6, v8
if-lez v3, :cond_a2
.line 77
const-string v1, "one day is arrive..."
invoke-static {v1}, Lcom/cmcm/adsdk/dynamic/AdLog;->i(Ljava/lang/String;)V
.line 78
invoke-static {p1}, Lcom/cleanmaster/hpsharelib/configmanager/ServiceConfigManager;->getInstanse(Landroid/content/Context;)Lcom/cleanmaster/hpsharelib/configmanager/ServiceConfigManager;
move-result-object v1
const-string v2, "cm_dynamic_ad_getconfig_count"
invoke-virtual {v1, v2, v0}, Lcom/cleanmaster/hpsharelib/configmanager/ServiceConfigManager;->setIntValue(Ljava/lang/String;I)V
.line 79
invoke-static {p1}, Lcom/cleanmaster/hpsharelib/configmanager/ServiceConfigManager;->getInstanse(Landroid/content/Context;)Lcom/cleanmaster/hpsharelib/configmanager/ServiceConfigManager;
move-result-object v1
const-string v2, "cm_dynamic_ad_getconfig_time"
invoke-static {}, Ljava/lang/System;->currentTimeMillis()J
move-result-wide v4
invoke-virtual {v1, v2, v4, v5}, Lcom/cleanmaster/hpsharelib/configmanager/ServiceConfigManager;->setLongValue(Ljava/lang/String;J)V
.line 80
invoke-static {p1}, Lcom/cleanmaster/hpsharelib/configmanager/ServiceConfigManager;->getInstanse(Landroid/content/Context;)Lcom/cleanmaster/hpsharelib/configmanager/ServiceConfigManager;
move-result-object v1
const-string v2, "cm_dynamic_ad_getconfig_firsttime"
invoke-static {}, Ljava/lang/System;->currentTimeMillis()J
move-result-wide v4
invoke-virtual {v1, v2, v4, v5}, Lcom/cleanmaster/hpsharelib/configmanager/ServiceConfigManager;->setLongValue(Ljava/lang/String;J)V
.line 102
:goto_a1
return v0
.line 85
:cond_a2
const-wide/32 v6, 0xdbba00
cmp-long v3, v4, v6
if-gez v3, :cond_c3
if-eqz v2, :cond_c3
.line 86
new-instance v0, Ljava/lang/StringBuilder;
invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
const-string v3, "next getconfig time is not arrive..."
invoke-virtual {v0, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v0
invoke-virtual {v0, v2}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
move-result-object v0
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
invoke-static {v0}, Lcom/cmcm/adsdk/dynamic/AdLog;->i(Ljava/lang/String;)V
move v0, v1
.line 87
goto :goto_a1
.line 91
:cond_c3
const/4 v3, 0x2
if-lt v2, v3, :cond_cd
.line 92
const-string v0, "getconfig count is arrive..."
invoke-static {v0}, Lcom/cmcm/adsdk/dynamic/AdLog;->i(Ljava/lang/String;)V
move v0, v1
.line 93
goto :goto_a1
.line 96
:cond_cd
if-nez v2, :cond_dc
.line 97
invoke-static {p1}, Lcom/cleanmaster/hpsharelib/configmanager/ServiceConfigManager;->getInstanse(Landroid/content/Context;)Lcom/cleanmaster/hpsharelib/configmanager/ServiceConfigManager;
move-result-object v1
const-string v3, "cm_dynamic_ad_getconfig_firsttime"
invoke-static {}, Ljava/lang/System;->currentTimeMillis()J
move-result-wide v4
invoke-virtual {v1, v3, v4, v5}, Lcom/cleanmaster/hpsharelib/configmanager/ServiceConfigManager;->setLongValue(Ljava/lang/String;J)V
.line 99
:cond_dc
add-int/lit8 v1, v2, 0x1
.line 100
invoke-static {p1}, Lcom/cleanmaster/hpsharelib/configmanager/ServiceConfigManager;->getInstanse(Landroid/content/Context;)Lcom/cleanmaster/hpsharelib/configmanager/ServiceConfigManager;
move-result-object v2
const-string v3, "cm_dynamic_ad_getconfig_count"
invoke-virtual {v2, v3, v1}, Lcom/cleanmaster/hpsharelib/configmanager/ServiceConfigManager;->setIntValue(Ljava/lang/String;I)V
.line 101
invoke-static {p1}, Lcom/cleanmaster/hpsharelib/configmanager/ServiceConfigManager;->getInstanse(Landroid/content/Context;)Lcom/cleanmaster/hpsharelib/configmanager/ServiceConfigManager;
move-result-object v1
const-string v2, "cm_dynamic_ad_getconfig_time"
invoke-static {}, Ljava/lang/System;->currentTimeMillis()J
move-result-wide v4
invoke-virtual {v1, v2, v4, v5}, Lcom/cleanmaster/hpsharelib/configmanager/ServiceConfigManager;->setLongValue(Ljava/lang/String;J)V
goto :goto_a1
.end method
.method private static setField(Ljava/lang/Object;Ljava/lang/Class;Ljava/lang/String;Ljava/lang/Object;)V
.registers 6
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/lang/Object;",
"Ljava/lang/Class",
"<*>;",
"Ljava/lang/String;",
"Ljava/lang/Object;",
")V"
}
.end annotation
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/lang/NoSuchFieldException;,
Ljava/lang/IllegalArgumentException;,
Ljava/lang/IllegalAccessException;
}
.end annotation
.prologue
.line 243
invoke-virtual {p1, p2}, Ljava/lang/Class;->getDeclaredField(Ljava/lang/String;)Ljava/lang/reflect/Field;
move-result-object v0
.line 244
const/4 v1, 0x1
invoke-virtual {v0, v1}, Ljava/lang/reflect/Field;->setAccessible(Z)V
.line 245
invoke-virtual {v0, p0, p3}, Ljava/lang/reflect/Field;->set(Ljava/lang/Object;Ljava/lang/Object;)V
.line 246
return-void
.end method
# virtual methods
.method public getGdtAdTimeOut(I)I
.registers 5
.prologue
.line 264
const/4 v0, 0x1
const-string v1, "CM_AD_DYNAMIC"
const-string v2, "I_AD_DYNAMIC_GDTAD_TIMEOUT"
invoke-static {v0, v1, v2, p1}, Lcom/cleanmaster/hpsharelib/recommendapps/CloudConfigDataGetter;->getIntValue(ILjava/lang/String;Ljava/lang/String;I)I
move-result v0
.line 265
return v0
.end method
.method public initClassloader(Landroid/content/Context;)V
.registers 9
.prologue
const/4 v6, 0x1
const/4 v5, 0x0
.line 185
invoke-static {}, Lcom/keniu/security/l;->d()Landroid/content/Context;
move-result-object v0
invoke-static {v0}, Lcom/cmcm/adsdk/dynamic/FileUtils;->isFileExist(Landroid/content/Context;)Z
move-result v0
if-nez v0, :cond_d
.line 198
:goto_c
return-void
.line 189
:cond_d
:try_start_d
invoke-static {p1}, Lcom/cmcm/adsdk/dynamic/FileUtils;->getFilePath(Landroid/content/Context;)Ljava/lang/String;
move-result-object v0
.line 190
const-string v1, "odex"
const/4 v2, 0x0
invoke-virtual {p1, v1, v2}, Landroid/content/Context;->getDir(Ljava/lang/String;I)Ljava/io/File;
move-result-object v1
.line 191
new-instance v2, Ldalvik/system/DexClassLoader;
invoke-virtual {v1}, Ljava/io/File;->getAbsolutePath()Ljava/lang/String;
move-result-object v1
const/4 v3, 0x0
invoke-virtual {p1}, Landroid/content/Context;->getClassLoader()Ljava/lang/ClassLoader;
move-result-object v4
invoke-direct {v2, v0, v1, v3, v4}, Ldalvik/system/DexClassLoader;-><init>(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/ClassLoader;)V
sput-object v2, Lcom/cmcm/adsdk/dynamic/ClassLoaderManager;->mClassloader:Ldalvik/system/DexClassLoader;
.line 192
sget-object v0, Lcom/cmcm/adsdk/dynamic/ClassLoaderManager;->mClassloader:Ldalvik/system/DexClassLoader;
invoke-direct {p0, v0}, Lcom/cmcm/adsdk/dynamic/ClassLoaderManager;->inject(Ldalvik/system/DexClassLoader;)Z
move-result v0
sput-boolean v0, Lcom/cmcm/adsdk/dynamic/ClassLoaderManager;->isInjectSuccess:Z
.line 193
new-instance v0, Lcom/cmcm/adsdk/dynamic/report/cm_ad_dynamicloading;
invoke-direct {v0}, Lcom/cmcm/adsdk/dynamic/report/cm_ad_dynamicloading;-><init>()V
const/4 v1, 0x7
invoke-virtual {v0, v1}, Lcom/cmcm/adsdk/dynamic/report/cm_ad_dynamicloading;->error_type(I)Lcom/cmcm/adsdk/dynamic/report/cm_ad_dynamicloading;
move-result-object v0
const-string v1, "cm_ad"
invoke-virtual {v0, v1}, Lcom/cmcm/adsdk/dynamic/report/cm_ad_dynamicloading;->modelname(Ljava/lang/String;)Lcom/cmcm/adsdk/dynamic/report/cm_ad_dynamicloading;
move-result-object v0
const/4 v1, 0x1
invoke-virtual {v0, v1}, Lcom/cmcm/adsdk/dynamic/report/cm_ad_dynamicloading;->modelversion(I)Lcom/cmcm/adsdk/dynamic/report/cm_ad_dynamicloading;
move-result-object v0
const/4 v1, 0x0
invoke-virtual {v0, v1}, Lcom/cmcm/adsdk/dynamic/report/cm_ad_dynamicloading;->networkstate(I)Lcom/cmcm/adsdk/dynamic/report/cm_ad_dynamicloading;
move-result-object v0
invoke-virtual {v0}, Lcom/cmcm/adsdk/dynamic/report/cm_ad_dynamicloading;->report()V
:try_end_4d
.catch Ljava/lang/Exception; {:try_start_d .. :try_end_4d} :catch_4e
goto :goto_c
.line 194
:catch_4e
move-exception v0
.line 195
new-instance v1, Lcom/cmcm/adsdk/dynamic/report/cm_ad_dynamicloading;
invoke-direct {v1}, Lcom/cmcm/adsdk/dynamic/report/cm_ad_dynamicloading;-><init>()V
const/16 v2, 0x8
invoke-virtual {v1, v2}, Lcom/cmcm/adsdk/dynamic/report/cm_ad_dynamicloading;->error_type(I)Lcom/cmcm/adsdk/dynamic/report/cm_ad_dynamicloading;
move-result-object v1
const-string v2, "cm_ad"
invoke-virtual {v1, v2}, Lcom/cmcm/adsdk/dynamic/report/cm_ad_dynamicloading;->modelname(Ljava/lang/String;)Lcom/cmcm/adsdk/dynamic/report/cm_ad_dynamicloading;
move-result-object v1
invoke-virtual {v1, v6}, Lcom/cmcm/adsdk/dynamic/report/cm_ad_dynamicloading;->modelversion(I)Lcom/cmcm/adsdk/dynamic/report/cm_ad_dynamicloading;
move-result-object v1
invoke-virtual {v1, v5}, Lcom/cmcm/adsdk/dynamic/report/cm_ad_dynamicloading;->networkstate(I)Lcom/cmcm/adsdk/dynamic/report/cm_ad_dynamicloading;
move-result-object v1
invoke-virtual {v1}, Lcom/cmcm/adsdk/dynamic/report/cm_ad_dynamicloading;->report()V
.line 196
new-instance v1, Ljava/lang/StringBuilder;
invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
const-string v2, "init classloader error:"
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v1
invoke-static {v0}, Landroid/util/Log;->getStackTraceString(Ljava/lang/Throwable;)Ljava/lang/String;
move-result-object v0
invoke-virtual {v1, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v0
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
invoke-static {v0}, Lcom/cmcm/adsdk/dynamic/AdLog;->i(Ljava/lang/String;)V
goto :goto_c
.end method
.method public initDexClassLoader(Landroid/content/Context;)V
.registers 8
.prologue
.line 106
invoke-static {}, Lcom/keniu/security/l;->d()Landroid/content/Context;
move-result-object v0
iput-object v0, p0, Lcom/cmcm/adsdk/dynamic/ClassLoaderManager;->mContext:Landroid/content/Context;
.line 107
iget-object v0, p0, Lcom/cmcm/adsdk/dynamic/ClassLoaderManager;->mContext:Landroid/content/Context;
invoke-static {v0}, Lcom/cleanmaster/hpsharelib/base/util/net/NetworkUtil;->isAllowAccessNetwork(Landroid/content/Context;)Z
move-result v0
.line 108
if-nez v0, :cond_14
.line 109
const-string v0, "no network..."
invoke-static {v0}, Lcom/cmcm/adsdk/dynamic/AdLog;->i(Ljava/lang/String;)V
.line 130
:goto_13
return-void
.line 112
:cond_14
invoke-static {}, Ljava/lang/System;->currentTimeMillis()J
move-result-wide v0
.line 113
invoke-static {p1}, Lcom/cmcm/adsdk/dynamic/FileUtils;->isFileExist(Landroid/content/Context;)Z
move-result v2
if-eqz v2, :cond_40
.line 114
iget-object v2, p0, Lcom/cmcm/adsdk/dynamic/ClassLoaderManager;->mContext:Landroid/content/Context;
invoke-virtual {p0, v2}, Lcom/cmcm/adsdk/dynamic/ClassLoaderManager;->initClassloader(Landroid/content/Context;)V
.line 129
:cond_23
:goto_23
new-instance v2, Ljava/lang/StringBuilder;
invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
const-string v3, "patch md5 time:"
invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v2
invoke-static {}, Ljava/lang/System;->currentTimeMillis()J
move-result-wide v4
sub-long v0, v4, v0
invoke-virtual {v2, v0, v1}, Ljava/lang/StringBuilder;->append(J)Ljava/lang/StringBuilder;
move-result-object v0
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
invoke-static {v0}, Lcom/cmcm/adsdk/dynamic/AdLog;->i(Ljava/lang/String;)V
goto :goto_13
.line 117
:cond_40
invoke-static {p1}, Lcom/cleanmaster/hpsharelib/configmanager/ServiceConfigManager;->getInstanse(Landroid/content/Context;)Lcom/cleanmaster/hpsharelib/configmanager/ServiceConfigManager;
move-result-object v2
const-string v3, "cm_dynamic_ad_getconfig_isget"
const/4 v4, 0x0
invoke-virtual {v2, v3, v4}, Lcom/cleanmaster/hpsharelib/configmanager/ServiceConfigManager;->getBooleanValue(Ljava/lang/String;Z)Z
move-result v2
.line 118
if-nez v2, :cond_23
.line 119
invoke-direct {p0, p1}, Lcom/cmcm/adsdk/dynamic/ClassLoaderManager;->isPreloadJarInfo(Landroid/content/Context;)Z
move-result v2
.line 120
new-instance v3, Ljava/lang/StringBuilder;
invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
const-string v4, "is preget config:"
invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v3
invoke-virtual {v3, v2}, Ljava/lang/StringBuilder;->append(Z)Ljava/lang/StringBuilder;
move-result-object v3
invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v3
invoke-static {v3}, Lcom/cmcm/adsdk/dynamic/AdLog;->i(Ljava/lang/String;)V
.line 121
if-eqz v2, :cond_77
.line 122
invoke-direct {p0}, Lcom/cmcm/adsdk/dynamic/ClassLoaderManager;->getDynamicConfigInfo()V
.line 126
:goto_6c
invoke-static {p1}, Lcom/cleanmaster/hpsharelib/configmanager/ServiceConfigManager;->getInstanse(Landroid/content/Context;)Lcom/cleanmaster/hpsharelib/configmanager/ServiceConfigManager;
move-result-object v2
const-string v3, "cm_dynamic_ad_getconfig_isget"
const/4 v4, 0x1
invoke-virtual {v2, v3, v4}, Lcom/cleanmaster/hpsharelib/configmanager/ServiceConfigManager;->setBooleanValue(Ljava/lang/String;Z)V
goto :goto_23
.line 124
:cond_77
const-string v2, "get ad config time is not arrive..."
invoke-static {v2}, Lcom/cmcm/adsdk/dynamic/AdLog;->i(Ljava/lang/String;)V
goto :goto_6c
.end method
.method public preLoadJarInfo(Landroid/content/Context;)V
.registers 5
.prologue
.line 47
invoke-static {}, Lcom/keniu/security/l;->d()Landroid/content/Context;
move-result-object v0
iput-object v0, p0, Lcom/cmcm/adsdk/dynamic/ClassLoaderManager;->mContext:Landroid/content/Context;
.line 48
iget-object v0, p0, Lcom/cmcm/adsdk/dynamic/ClassLoaderManager;->mContext:Landroid/content/Context;
invoke-static {v0}, Lcom/cleanmaster/hpsharelib/base/util/net/NetworkUtil;->isAllowAccessNetwork(Landroid/content/Context;)Z
move-result v0
.line 49
if-nez v0, :cond_14
.line 50
const-string v0, "no network..."
invoke-static {v0}, Lcom/cmcm/adsdk/dynamic/AdLog;->i(Ljava/lang/String;)V
.line 60
:goto_13
return-void
.line 53
:cond_14
invoke-direct {p0, p1}, Lcom/cmcm/adsdk/dynamic/ClassLoaderManager;->isPreloadJarInfo(Landroid/content/Context;)Z
move-result v0
.line 54
new-instance v1, Ljava/lang/StringBuilder;
invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
const-string v2, "is preload info:"
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v1
invoke-virtual {v1, v0}, Ljava/lang/StringBuilder;->append(Z)Ljava/lang/StringBuilder;
move-result-object v1
invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v1
invoke-static {v1}, Lcom/cmcm/adsdk/dynamic/AdLog;->i(Ljava/lang/String;)V
.line 55
if-nez v0, :cond_36
.line 56
const-string v0, "is not preloadinfo..."
invoke-static {v0}, Lcom/cmcm/adsdk/dynamic/AdLog;->i(Ljava/lang/String;)V
goto :goto_13
.line 59
:cond_36
invoke-direct {p0}, Lcom/cmcm/adsdk/dynamic/ClassLoaderManager;->getDynamicConfigInfo()V
goto :goto_13
.end method