ClassLoaderFactory$CustomDexClassLoader.smali
.class Lcom/kwad/sdk/api/loader/ClassLoaderFactory$CustomDexClassLoader;
.super Ldalvik/system/DexClassLoader;
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lcom/kwad/sdk/api/loader/ClassLoaderFactory;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0xa
name = "CustomDexClassLoader"
.end annotation
# direct methods
.method public constructor <init>(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/ClassLoader;)V
.registers 5
invoke-direct {p0, p1, p2, p3, p4}, Ldalvik/system/DexClassLoader;-><init>(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/ClassLoader;)V
return-void
.end method
.method private isClassNameDefault(Ljava/lang/String;)Z
.registers 5
const/4 v1, 0x0
invoke-static {p1}, Landroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Z
move-result v0
if-eqz v0, :cond_9
move v0, v1
:goto_8
return v0
:cond_9
# getter for: Lcom/kwad/sdk/api/loader/ClassLoaderFactory;->DEFAULT_PACKAGE_PATH:Ljava/util/List;
invoke-static {}, Lcom/kwad/sdk/api/loader/ClassLoaderFactory;->access$000()Ljava/util/List;
move-result-object v0
invoke-interface {v0}, Ljava/util/List;->iterator()Ljava/util/Iterator;
move-result-object v2
:cond_11
invoke-interface {v2}, Ljava/util/Iterator;->hasNext()Z
move-result v0
if-eqz v0, :cond_25
invoke-interface {v2}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v0
check-cast v0, Ljava/lang/String;
invoke-virtual {p1, v0}, Ljava/lang/String;->startsWith(Ljava/lang/String;)Z
move-result v0
if-eqz v0, :cond_11
const/4 v0, 0x1
goto :goto_8
:cond_25
move v0, v1
goto :goto_8
.end method
.method private isClassNameHost(Ljava/lang/String;)Z
.registers 3
invoke-static {p1}, Landroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Z
move-result v0
if-nez v0, :cond_10
const-string v0, "com.kwad.sdk.api"
invoke-virtual {p1, v0}, Ljava/lang/String;->startsWith(Ljava/lang/String;)Z
move-result v0
if-eqz v0, :cond_10
const/4 v0, 0x1
:goto_f
return v0
:cond_10
const/4 v0, 0x0
goto :goto_f
.end method
# virtual methods
.method protected loadClass(Ljava/lang/String;Z)Ljava/lang/Class;
.registers 5
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/lang/String;",
"Z)",
"Ljava/lang/Class",
"<*>;"
}
.end annotation
invoke-direct {p0, p1}, Lcom/kwad/sdk/api/loader/ClassLoaderFactory$CustomDexClassLoader;->isClassNameHost(Ljava/lang/String;)Z
move-result v0
if-eqz v0, :cond_f
invoke-virtual {p0}, Lcom/kwad/sdk/api/loader/ClassLoaderFactory$CustomDexClassLoader;->getParent()Ljava/lang/ClassLoader;
move-result-object v0
invoke-virtual {v0, p1}, Ljava/lang/ClassLoader;->loadClass(Ljava/lang/String;)Ljava/lang/Class;
move-result-object v0
:cond_e
:goto_e
return-object v0
:cond_f
invoke-virtual {p0, p1}, Lcom/kwad/sdk/api/loader/ClassLoaderFactory$CustomDexClassLoader;->findLoadedClass(Ljava/lang/String;)Ljava/lang/Class;
move-result-object v0
if-nez v0, :cond_e
:try_start_15
invoke-virtual {p0, p1}, Lcom/kwad/sdk/api/loader/ClassLoaderFactory$CustomDexClassLoader;->findClass(Ljava/lang/String;)Ljava/lang/Class;
:try_end_18
.catch Ljava/lang/ClassNotFoundException; {:try_start_15 .. :try_end_18} :catch_20
move-result-object v0
:goto_19
if-nez v0, :cond_e
invoke-super {p0, p1, p2}, Ldalvik/system/DexClassLoader;->loadClass(Ljava/lang/String;Z)Ljava/lang/Class;
move-result-object v0
goto :goto_e
:catch_20
move-exception v1
goto :goto_19
.end method