MultiDex$V14$ICSElementConstructor.smali 3.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136
  1. .class Landroid/support/multidex/MultiDex$V14$ICSElementConstructor;
  2. .super Ljava/lang/Object;
  3. .source "MultiDex.java"
  4. # interfaces
  5. .implements Landroid/support/multidex/MultiDex$V14$ElementConstructor;
  6. # annotations
  7. .annotation system Ldalvik/annotation/EnclosingClass;
  8. value = Landroid/support/multidex/MultiDex$V14;
  9. .end annotation
  10. .annotation system Ldalvik/annotation/InnerClass;
  11. accessFlags = 0xa
  12. name = "ICSElementConstructor"
  13. .end annotation
  14. # instance fields
  15. .field private final elementConstructor:Ljava/lang/reflect/Constructor;
  16. .annotation system Ldalvik/annotation/Signature;
  17. value = {
  18. "Ljava/lang/reflect/Constructor<",
  19. "*>;"
  20. }
  21. .end annotation
  22. .end field
  23. # direct methods
  24. .method constructor <init>(Ljava/lang/Class;)V
  25. .locals 4
  26. .annotation system Ldalvik/annotation/Signature;
  27. value = {
  28. "(",
  29. "Ljava/lang/Class<",
  30. "*>;)V"
  31. }
  32. .end annotation
  33. .annotation system Ldalvik/annotation/Throws;
  34. value = {
  35. Ljava/lang/SecurityException;,
  36. Ljava/lang/NoSuchMethodException;
  37. }
  38. .end annotation
  39. .line 583
  40. .local p1, "elementClass":Ljava/lang/Class;, "Ljava/lang/Class<*>;"
  41. invoke-direct {p0}, Ljava/lang/Object;-><init>()V
  42. .line 584
  43. const/4 v0, 0x3
  44. new-array v0, v0, [Ljava/lang/Class;
  45. const-class v1, Ljava/io/File;
  46. const/4 v2, 0x0
  47. aput-object v1, v0, v2
  48. const-class v1, Ljava/util/zip/ZipFile;
  49. const/4 v2, 0x1
  50. aput-object v1, v0, v2
  51. const-class v1, Ldalvik/system/DexFile;
  52. const/4 v3, 0x2
  53. aput-object v1, v0, v3
  54. .line 585
  55. invoke-virtual {p1, v0}, Ljava/lang/Class;->getConstructor([Ljava/lang/Class;)Ljava/lang/reflect/Constructor;
  56. move-result-object v0
  57. iput-object v0, p0, Landroid/support/multidex/MultiDex$V14$ICSElementConstructor;->elementConstructor:Ljava/lang/reflect/Constructor;
  58. .line 586
  59. iget-object v0, p0, Landroid/support/multidex/MultiDex$V14$ICSElementConstructor;->elementConstructor:Ljava/lang/reflect/Constructor;
  60. invoke-virtual {v0, v2}, Ljava/lang/reflect/Constructor;->setAccessible(Z)V
  61. .line 587
  62. return-void
  63. .end method
  64. # virtual methods
  65. .method public newInstance(Ljava/io/File;Ldalvik/system/DexFile;)Ljava/lang/Object;
  66. .locals 4
  67. .param p1, "file" # Ljava/io/File;
  68. .param p2, "dex" # Ldalvik/system/DexFile;
  69. .annotation system Ldalvik/annotation/Throws;
  70. value = {
  71. Ljava/lang/IllegalArgumentException;,
  72. Ljava/lang/InstantiationException;,
  73. Ljava/lang/IllegalAccessException;,
  74. Ljava/lang/reflect/InvocationTargetException;,
  75. Ljava/io/IOException;
  76. }
  77. .end annotation
  78. .line 593
  79. iget-object v0, p0, Landroid/support/multidex/MultiDex$V14$ICSElementConstructor;->elementConstructor:Ljava/lang/reflect/Constructor;
  80. const/4 v1, 0x3
  81. new-array v1, v1, [Ljava/lang/Object;
  82. const/4 v2, 0x0
  83. aput-object p1, v1, v2
  84. new-instance v2, Ljava/util/zip/ZipFile;
  85. invoke-direct {v2, p1}, Ljava/util/zip/ZipFile;-><init>(Ljava/io/File;)V
  86. const/4 v3, 0x1
  87. aput-object v2, v1, v3
  88. const/4 v2, 0x2
  89. aput-object p2, v1, v2
  90. invoke-virtual {v0, v1}, Ljava/lang/reflect/Constructor;->newInstance([Ljava/lang/Object;)Ljava/lang/Object;
  91. move-result-object v0
  92. return-object v0
  93. .end method