MultiDex$V14.smali 5.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175
  1. .class final Landroid/support/multidex/MultiDex$V14;
  2. .super Ljava/lang/Object;
  3. .source "MultiDex.java"
  4. # annotations
  5. .annotation system Ldalvik/annotation/EnclosingClass;
  6. value = Landroid/support/multidex/MultiDex;
  7. .end annotation
  8. .annotation system Ldalvik/annotation/InnerClass;
  9. accessFlags = 0x1a
  10. name = "V14"
  11. .end annotation
  12. # direct methods
  13. .method private constructor <init>()V
  14. .locals 0
  15. .prologue
  16. .line 452
  17. invoke-direct {p0}, Ljava/lang/Object;-><init>()V
  18. return-void
  19. .end method
  20. .method static synthetic access$0(Ljava/lang/ClassLoader;Ljava/util/List;Ljava/io/File;)V
  21. .locals 0
  22. .annotation system Ldalvik/annotation/Throws;
  23. value = {
  24. Ljava/lang/IllegalArgumentException;,
  25. Ljava/lang/IllegalAccessException;,
  26. Ljava/lang/NoSuchFieldException;,
  27. Ljava/lang/reflect/InvocationTargetException;,
  28. Ljava/lang/NoSuchMethodException;
  29. }
  30. .end annotation
  31. .prologue
  32. .line 454
  33. invoke-static {p0, p1, p2}, Landroid/support/multidex/MultiDex$V14;->install(Ljava/lang/ClassLoader;Ljava/util/List;Ljava/io/File;)V
  34. return-void
  35. .end method
  36. .method private static install(Ljava/lang/ClassLoader;Ljava/util/List;Ljava/io/File;)V
  37. .locals 4
  38. .param p0, "loader" # Ljava/lang/ClassLoader;
  39. .param p2, "optimizedDirectory" # Ljava/io/File;
  40. .annotation system Ldalvik/annotation/Signature;
  41. value = {
  42. "(",
  43. "Ljava/lang/ClassLoader;",
  44. "Ljava/util/List",
  45. "<",
  46. "Ljava/io/File;",
  47. ">;",
  48. "Ljava/io/File;",
  49. ")V"
  50. }
  51. .end annotation
  52. .annotation system Ldalvik/annotation/Throws;
  53. value = {
  54. Ljava/lang/IllegalArgumentException;,
  55. Ljava/lang/IllegalAccessException;,
  56. Ljava/lang/NoSuchFieldException;,
  57. Ljava/lang/reflect/InvocationTargetException;,
  58. Ljava/lang/NoSuchMethodException;
  59. }
  60. .end annotation
  61. .prologue
  62. .line 463
  63. .local p1, "additionalClassPathEntries":Ljava/util/List;, "Ljava/util/List<Ljava/io/File;>;"
  64. const-string v2, "pathList"
  65. invoke-static {p0, v2}, Landroid/support/multidex/MultiDex;->access$0(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/reflect/Field;
  66. move-result-object v1
  67. .line 464
  68. .local v1, "pathListField":Ljava/lang/reflect/Field;
  69. invoke-virtual {v1, p0}, Ljava/lang/reflect/Field;->get(Ljava/lang/Object;)Ljava/lang/Object;
  70. move-result-object v0
  71. .line 465
  72. .local v0, "dexPathList":Ljava/lang/Object;
  73. const-string v2, "dexElements"
  74. .line 466
  75. new-instance v3, Ljava/util/ArrayList;
  76. invoke-direct {v3, p1}, Ljava/util/ArrayList;-><init>(Ljava/util/Collection;)V
  77. .line 465
  78. invoke-static {v0, v3, p2}, Landroid/support/multidex/MultiDex$V14;->makeDexElements(Ljava/lang/Object;Ljava/util/ArrayList;Ljava/io/File;)[Ljava/lang/Object;
  79. move-result-object v3
  80. invoke-static {v0, v2, v3}, Landroid/support/multidex/MultiDex;->access$1(Ljava/lang/Object;Ljava/lang/String;[Ljava/lang/Object;)V
  81. .line 467
  82. return-void
  83. .end method
  84. .method private static makeDexElements(Ljava/lang/Object;Ljava/util/ArrayList;Ljava/io/File;)[Ljava/lang/Object;
  85. .locals 7
  86. .param p0, "dexPathList" # Ljava/lang/Object;
  87. .param p2, "optimizedDirectory" # Ljava/io/File;
  88. .annotation system Ldalvik/annotation/Signature;
  89. value = {
  90. "(",
  91. "Ljava/lang/Object;",
  92. "Ljava/util/ArrayList",
  93. "<",
  94. "Ljava/io/File;",
  95. ">;",
  96. "Ljava/io/File;",
  97. ")[",
  98. "Ljava/lang/Object;"
  99. }
  100. .end annotation
  101. .annotation system Ldalvik/annotation/Throws;
  102. value = {
  103. Ljava/lang/IllegalAccessException;,
  104. Ljava/lang/reflect/InvocationTargetException;,
  105. Ljava/lang/NoSuchMethodException;
  106. }
  107. .end annotation
  108. .prologue
  109. .local p1, "files":Ljava/util/ArrayList;, "Ljava/util/ArrayList<Ljava/io/File;>;"
  110. const/4 v6, 0x2
  111. const/4 v5, 0x1
  112. const/4 v4, 0x0
  113. .line 478
  114. const-string v1, "makeDexElements"
  115. new-array v2, v6, [Ljava/lang/Class;
  116. const-class v3, Ljava/util/ArrayList;
  117. aput-object v3, v2, v4
  118. const-class v3, Ljava/io/File;
  119. aput-object v3, v2, v5
  120. invoke-static {p0, v1, v2}, Landroid/support/multidex/MultiDex;->access$2(Ljava/lang/Object;Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;
  121. move-result-object v0
  122. .line 480
  123. .local v0, "makeDexElements":Ljava/lang/reflect/Method;
  124. new-array v1, v6, [Ljava/lang/Object;
  125. aput-object p1, v1, v4
  126. aput-object p2, v1, v5
  127. invoke-virtual {v0, p0, v1}, Ljava/lang/reflect/Method;->invoke(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
  128. move-result-object v1
  129. check-cast v1, [Ljava/lang/Object;
  130. return-object v1
  131. .end method