BundleArchiveRevision$BundleArchiveRevisionClassLoader.smali

.class Lorg/acdd/framework/bundlestorage/BundleArchiveRevision$BundleArchiveRevisionClassLoader;
.super Ldalvik/system/DexClassLoader;
.source "BundleArchiveRevision.java"


# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
    value = Lorg/acdd/framework/bundlestorage/BundleArchiveRevision;
.end annotation

.annotation system Ldalvik/annotation/InnerClass;
    accessFlags = 0x2
    name = "BundleArchiveRevisionClassLoader"
.end annotation


# instance fields
.field final synthetic this$0:Lorg/acdd/framework/bundlestorage/BundleArchiveRevision;


# direct methods
.method constructor <init>(Lorg/acdd/framework/bundlestorage/BundleArchiveRevision;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/ClassLoader;)V
    .registers 6

    .prologue
    .line 95
    iput-object p1, p0, Lorg/acdd/framework/bundlestorage/BundleArchiveRevision$BundleArchiveRevisionClassLoader;->this$0:Lorg/acdd/framework/bundlestorage/BundleArchiveRevision;

    .line 96
    invoke-direct {p0, p2, p3, p4, p5}, Ldalvik/system/DexClassLoader;-><init>(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/ClassLoader;)V

    .line 97
    return-void
.end method


# virtual methods
.method public findLibrary(Ljava/lang/String;)Ljava/lang/String;
    .registers 6

    .prologue
    .line 101
    invoke-super {p0, p1}, Ldalvik/system/DexClassLoader;->findLibrary(Ljava/lang/String;)Ljava/lang/String;

    move-result-object v0

    .line 102
    invoke-static {v0}, Landroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Z

    move-result v1

    if-nez v1, :cond_b

    .line 115
    :goto_a
    return-object v0

    .line 105
    :cond_b
    iget-object v0, p0, Lorg/acdd/framework/bundlestorage/BundleArchiveRevision$BundleArchiveRevisionClassLoader;->this$0:Lorg/acdd/framework/bundlestorage/BundleArchiveRevision;

    .line 106
    invoke-static {p1}, Ljava/lang/System;->mapLibraryName(Ljava/lang/String;)Ljava/lang/String;

    move-result-object v1

    invoke-virtual {v0, v1}, Lorg/acdd/framework/bundlestorage/BundleArchiveRevision;->findSoLibrary(Ljava/lang/String;)Ljava/io/File;

    move-result-object v0

    .line 107
    if-eqz v0, :cond_22

    invoke-virtual {v0}, Ljava/io/File;->exists()Z

    move-result v1

    if-eqz v1, :cond_22

    .line 108
    invoke-virtual {v0}, Ljava/io/File;->getAbsolutePath()Ljava/lang/String;

    move-result-object v0

    goto :goto_a

    .line 111
    :cond_22
    :try_start_22
    sget-object v0, Lorg/acdd/hack/ACDDHacks;->ClassLoader_findLibrary:Lorg/acdd/hack/Hack$HackedMethod;

    .line 112
    invoke-static {}, Lorg/acdd/framework/Framework;->getSystemClassLoader()Ljava/lang/ClassLoader;

    move-result-object v1

    const/4 v2, 0x1

    new-array v2, v2, [Ljava/lang/Object;

    const/4 v3, 0x0

    aput-object p1, v2, v3

    .line 111
    invoke-virtual {v0, v1, v2}, Lorg/acdd/hack/Hack$HackedMethod;->invoke(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;

    move-result-object v0

    check-cast v0, Ljava/lang/String;
    :try_end_34
    .catch Ljava/lang/Exception; {:try_start_22 .. :try_end_34} :catch_35

    goto :goto_a

    .line 113
    :catch_35
    move-exception v0

    .line 114
    invoke-virtual {v0}, Ljava/lang/Exception;->printStackTrace()V

    .line 115
    const/4 v0, 0x0

    goto :goto_a
.end method