.class final Landroid/support/multidex/MultiDex$V4; .super Ljava/lang/Object; .source "MultiDex.java" # annotations .annotation system Ldalvik/annotation/EnclosingClass; value = Landroid/support/multidex/MultiDex; .end annotation .annotation system Ldalvik/annotation/InnerClass; accessFlags = 0x1a name = "V4" .end annotation # direct methods .method private constructor ()V .locals 0 .prologue .line 487 invoke-direct {p0}, Ljava/lang/Object;->()V return-void .end method .method static synthetic access$0(Ljava/lang/ClassLoader;Ljava/util/List;)V .locals 0 .annotation system Ldalvik/annotation/Throws; value = { Ljava/lang/IllegalArgumentException;, Ljava/lang/IllegalAccessException;, Ljava/lang/NoSuchFieldException;, Ljava/io/IOException; } .end annotation .prologue .line 488 invoke-static {p0, p1}, Landroid/support/multidex/MultiDex$V4;->install(Ljava/lang/ClassLoader;Ljava/util/List;)V return-void .end method .method private static install(Ljava/lang/ClassLoader;Ljava/util/List;)V .locals 13 .param p0, "loader" # Ljava/lang/ClassLoader; .annotation system Ldalvik/annotation/Signature; value = { "(", "Ljava/lang/ClassLoader;", "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/io/IOException; } .end annotation .prologue .line 496 .local p1, "additionalClassPathEntries":Ljava/util/List;, "Ljava/util/List;" invoke-interface {p1}, Ljava/util/List;->size()I move-result v5 .line 498 .local v5, "extraSize":I const-string v11, "path" invoke-static {p0, v11}, Landroid/support/multidex/MultiDex;->access$0(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/reflect/Field; move-result-object v10 .line 500 .local v10, "pathField":Ljava/lang/reflect/Field; new-instance v9, Ljava/lang/StringBuilder; invoke-virtual {v10, p0}, Ljava/lang/reflect/Field;->get(Ljava/lang/Object;)Ljava/lang/Object; move-result-object v11 check-cast v11, Ljava/lang/String; invoke-direct {v9, v11}, Ljava/lang/StringBuilder;->(Ljava/lang/String;)V .line 501 .local v9, "path":Ljava/lang/StringBuilder; new-array v4, v5, [Ljava/lang/String; .line 502 .local v4, "extraPaths":[Ljava/lang/String; new-array v3, v5, [Ljava/io/File; .line 503 .local v3, "extraFiles":[Ljava/io/File; new-array v6, v5, [Ljava/util/zip/ZipFile; .line 504 .local v6, "extraZips":[Ljava/util/zip/ZipFile; new-array v2, v5, [Ldalvik/system/DexFile; .line 505 .local v2, "extraDexs":[Ldalvik/system/DexFile; invoke-interface {p1}, Ljava/util/List;->listIterator()Ljava/util/ListIterator; move-result-object v8 .line 506 .local v8, "iterator":Ljava/util/ListIterator;, "Ljava/util/ListIterator;" :goto_0 invoke-interface {v8}, Ljava/util/ListIterator;->hasNext()Z move-result v11 if-nez v11, :cond_0 .line 517 invoke-virtual {v9}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object v11 invoke-virtual {v10, p0, v11}, Ljava/lang/reflect/Field;->set(Ljava/lang/Object;Ljava/lang/Object;)V .line 518 const-string v11, "mPaths" invoke-static {p0, v11, v4}, Landroid/support/multidex/MultiDex;->access$1(Ljava/lang/Object;Ljava/lang/String;[Ljava/lang/Object;)V .line 519 const-string v11, "mFiles" invoke-static {p0, v11, v3}, Landroid/support/multidex/MultiDex;->access$1(Ljava/lang/Object;Ljava/lang/String;[Ljava/lang/Object;)V .line 520 const-string v11, "mZips" invoke-static {p0, v11, v6}, Landroid/support/multidex/MultiDex;->access$1(Ljava/lang/Object;Ljava/lang/String;[Ljava/lang/Object;)V .line 521 const-string v11, "mDexs" invoke-static {p0, v11, v2}, Landroid/support/multidex/MultiDex;->access$1(Ljava/lang/Object;Ljava/lang/String;[Ljava/lang/Object;)V .line 522 return-void .line 507 :cond_0 invoke-interface {v8}, Ljava/util/ListIterator;->next()Ljava/lang/Object; move-result-object v0 check-cast v0, Ljava/io/File; .line 508 .local v0, "additionalEntry":Ljava/io/File; invoke-virtual {v0}, Ljava/io/File;->getAbsolutePath()Ljava/lang/String; move-result-object v1 .line 509 .local v1, "entryPath":Ljava/lang/String; const/16 v11, 0x3a invoke-virtual {v9, v11}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder; move-result-object v11 invoke-virtual {v11, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; .line 510 invoke-interface {v8}, Ljava/util/ListIterator;->previousIndex()I move-result v7 .line 511 .local v7, "index":I aput-object v1, v4, v7 .line 512 aput-object v0, v3, v7 .line 513 new-instance v11, Ljava/util/zip/ZipFile; invoke-direct {v11, v0}, Ljava/util/zip/ZipFile;->(Ljava/io/File;)V aput-object v11, v6, v7 .line 514 new-instance v11, Ljava/lang/StringBuilder; invoke-static {v1}, Ljava/lang/String;->valueOf(Ljava/lang/Object;)Ljava/lang/String; move-result-object v12 invoke-direct {v11, v12}, Ljava/lang/StringBuilder;->(Ljava/lang/String;)V const-string v12, ".dex" invoke-virtual {v11, v12}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; move-result-object v11 invoke-virtual {v11}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object v11 const/4 v12, 0x0 invoke-static {v1, v11, v12}, Ldalvik/system/DexFile;->loadDex(Ljava/lang/String;Ljava/lang/String;I)Ldalvik/system/DexFile; move-result-object v11 aput-object v11, v2, v7 goto :goto_0 .end method