DocumentFile.smali 6.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252
  1. .class public abstract Landroid/support/v4/provider/DocumentFile;
  2. .super Ljava/lang/Object;
  3. .source "DocumentFile.java"
  4. # static fields
  5. .field static final TAG:Ljava/lang/String; = "DocumentFile"
  6. # instance fields
  7. .field private final mParent:Landroid/support/v4/provider/DocumentFile;
  8. # direct methods
  9. .method constructor <init>(Landroid/support/v4/provider/DocumentFile;)V
  10. .locals 0
  11. .param p1, "parent" # Landroid/support/v4/provider/DocumentFile;
  12. .prologue
  13. .line 83
  14. invoke-direct {p0}, Ljava/lang/Object;-><init>()V
  15. .line 84
  16. iput-object p1, p0, Landroid/support/v4/provider/DocumentFile;->mParent:Landroid/support/v4/provider/DocumentFile;
  17. .line 85
  18. return-void
  19. .end method
  20. .method public static fromFile(Ljava/io/File;)Landroid/support/v4/provider/DocumentFile;
  21. .locals 2
  22. .param p0, "file" # Ljava/io/File;
  23. .prologue
  24. .line 96
  25. new-instance v0, Landroid/support/v4/provider/RawDocumentFile;
  26. const/4 v1, 0x0
  27. invoke-direct {v0, v1, p0}, Landroid/support/v4/provider/RawDocumentFile;-><init>(Landroid/support/v4/provider/DocumentFile;Ljava/io/File;)V
  28. return-object v0
  29. .end method
  30. .method public static fromSingleUri(Landroid/content/Context;Landroid/net/Uri;)Landroid/support/v4/provider/DocumentFile;
  31. .locals 3
  32. .param p0, "context" # Landroid/content/Context;
  33. .param p1, "singleUri" # Landroid/net/Uri;
  34. .prologue
  35. const/4 v2, 0x0
  36. .line 110
  37. sget v0, Landroid/os/Build$VERSION;->SDK_INT:I
  38. .line 111
  39. .local v0, "version":I
  40. const/16 v1, 0x13
  41. if-lt v0, v1, :cond_0
  42. .line 112
  43. new-instance v1, Landroid/support/v4/provider/SingleDocumentFile;
  44. invoke-direct {v1, v2, p0, p1}, Landroid/support/v4/provider/SingleDocumentFile;-><init>(Landroid/support/v4/provider/DocumentFile;Landroid/content/Context;Landroid/net/Uri;)V
  45. .line 114
  46. :goto_0
  47. return-object v1
  48. :cond_0
  49. move-object v1, v2
  50. goto :goto_0
  51. .end method
  52. .method public static fromTreeUri(Landroid/content/Context;Landroid/net/Uri;)Landroid/support/v4/provider/DocumentFile;
  53. .locals 4
  54. .param p0, "context" # Landroid/content/Context;
  55. .param p1, "treeUri" # Landroid/net/Uri;
  56. .prologue
  57. const/4 v2, 0x0
  58. .line 128
  59. sget v0, Landroid/os/Build$VERSION;->SDK_INT:I
  60. .line 129
  61. .local v0, "version":I
  62. const/16 v1, 0x15
  63. if-lt v0, v1, :cond_0
  64. .line 130
  65. new-instance v1, Landroid/support/v4/provider/TreeDocumentFile;
  66. invoke-static {p1}, Landroid/support/v4/provider/DocumentsContractApi21;->prepareTreeUri(Landroid/net/Uri;)Landroid/net/Uri;
  67. move-result-object v3
  68. invoke-direct {v1, v2, p0, v3}, Landroid/support/v4/provider/TreeDocumentFile;-><init>(Landroid/support/v4/provider/DocumentFile;Landroid/content/Context;Landroid/net/Uri;)V
  69. .line 133
  70. :goto_0
  71. return-object v1
  72. :cond_0
  73. move-object v1, v2
  74. goto :goto_0
  75. .end method
  76. .method public static isDocumentUri(Landroid/content/Context;Landroid/net/Uri;)Z
  77. .locals 2
  78. .param p0, "context" # Landroid/content/Context;
  79. .param p1, "uri" # Landroid/net/Uri;
  80. .prologue
  81. .line 142
  82. sget v0, Landroid/os/Build$VERSION;->SDK_INT:I
  83. .line 143
  84. .local v0, "version":I
  85. const/16 v1, 0x13
  86. if-lt v0, v1, :cond_0
  87. .line 144
  88. invoke-static {p0, p1}, Landroid/support/v4/provider/DocumentsContractApi19;->isDocumentUri(Landroid/content/Context;Landroid/net/Uri;)Z
  89. move-result v1
  90. .line 146
  91. :goto_0
  92. return v1
  93. :cond_0
  94. const/4 v1, 0x0
  95. goto :goto_0
  96. .end method
  97. # virtual methods
  98. .method public abstract canRead()Z
  99. .end method
  100. .method public abstract canWrite()Z
  101. .end method
  102. .method public abstract createDirectory(Ljava/lang/String;)Landroid/support/v4/provider/DocumentFile;
  103. .end method
  104. .method public abstract createFile(Ljava/lang/String;Ljava/lang/String;)Landroid/support/v4/provider/DocumentFile;
  105. .end method
  106. .method public abstract delete()Z
  107. .end method
  108. .method public abstract exists()Z
  109. .end method
  110. .method public findFile(Ljava/lang/String;)Landroid/support/v4/provider/DocumentFile;
  111. .locals 5
  112. .param p1, "displayName" # Ljava/lang/String;
  113. .prologue
  114. .line 316
  115. invoke-virtual {p0}, Landroid/support/v4/provider/DocumentFile;->listFiles()[Landroid/support/v4/provider/DocumentFile;
  116. move-result-object v0
  117. .local v0, "arr$":[Landroid/support/v4/provider/DocumentFile;
  118. array-length v3, v0
  119. .local v3, "len$":I
  120. const/4 v2, 0x0
  121. .local v2, "i$":I
  122. :goto_0
  123. if-ge v2, v3, :cond_1
  124. aget-object v1, v0, v2
  125. .line 317
  126. .local v1, "doc":Landroid/support/v4/provider/DocumentFile;
  127. invoke-virtual {v1}, Landroid/support/v4/provider/DocumentFile;->getName()Ljava/lang/String;
  128. move-result-object v4
  129. invoke-virtual {p1, v4}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
  130. move-result v4
  131. if-eqz v4, :cond_0
  132. .line 321
  133. .end local v1 # "doc":Landroid/support/v4/provider/DocumentFile;
  134. :goto_1
  135. return-object v1
  136. .line 316
  137. .restart local v1 # "doc":Landroid/support/v4/provider/DocumentFile;
  138. :cond_0
  139. add-int/lit8 v2, v2, 0x1
  140. goto :goto_0
  141. .line 321
  142. .end local v1 # "doc":Landroid/support/v4/provider/DocumentFile;
  143. :cond_1
  144. const/4 v1, 0x0
  145. goto :goto_1
  146. .end method
  147. .method public abstract getName()Ljava/lang/String;
  148. .end method
  149. .method public getParentFile()Landroid/support/v4/provider/DocumentFile;
  150. .locals 1
  151. .prologue
  152. .line 217
  153. iget-object v0, p0, Landroid/support/v4/provider/DocumentFile;->mParent:Landroid/support/v4/provider/DocumentFile;
  154. return-object v0
  155. .end method
  156. .method public abstract getType()Ljava/lang/String;
  157. .end method
  158. .method public abstract getUri()Landroid/net/Uri;
  159. .end method
  160. .method public abstract isDirectory()Z
  161. .end method
  162. .method public abstract isFile()Z
  163. .end method
  164. .method public abstract lastModified()J
  165. .end method
  166. .method public abstract length()J
  167. .end method
  168. .method public abstract listFiles()[Landroid/support/v4/provider/DocumentFile;
  169. .end method
  170. .method public abstract renameTo(Ljava/lang/String;)Z
  171. .end method