.class Landroid/support/v4/provider/DocumentsContractApi21; .super Ljava/lang/Object; .source "DocumentsContractApi21.java" # static fields .field private static final TAG:Ljava/lang/String; = "DocumentFile" # direct methods .method constructor ()V .locals 0 .prologue .line 28 invoke-direct {p0}, Ljava/lang/Object;->()V return-void .end method .method private static closeQuietly(Ljava/lang/AutoCloseable;)V .locals 2 .param p0, "closeable" # Ljava/lang/AutoCloseable; .prologue .line 76 if-eqz p0, :cond_0 .line 78 :try_start_0 invoke-interface {p0}, Ljava/lang/AutoCloseable;->close()V :try_end_0 .catch Ljava/lang/RuntimeException; {:try_start_0 .. :try_end_0} :catch_0 .catch Ljava/lang/Exception; {:try_start_0 .. :try_end_0} :catch_1 .line 84 :cond_0 :goto_0 return-void .line 79 :catch_0 move-exception v0 .line 80 .local v0, "rethrown":Ljava/lang/RuntimeException; throw v0 .line 81 .end local v0 # "rethrown":Ljava/lang/RuntimeException; :catch_1 move-exception v1 goto :goto_0 .end method .method public static createDirectory(Landroid/content/Context;Landroid/net/Uri;Ljava/lang/String;)Landroid/net/Uri; .locals 1 .param p0, "context" # Landroid/content/Context; .param p1, "self" # Landroid/net/Uri; .param p2, "displayName" # Ljava/lang/String; .prologue .line 38 const-string v0, "vnd.android.document/directory" invoke-static {p0, p1, v0, p2}, Landroid/support/v4/provider/DocumentsContractApi21;->createFile(Landroid/content/Context;Landroid/net/Uri;Ljava/lang/String;Ljava/lang/String;)Landroid/net/Uri; move-result-object v0 return-object v0 .end method .method public static createFile(Landroid/content/Context;Landroid/net/Uri;Ljava/lang/String;Ljava/lang/String;)Landroid/net/Uri; .locals 1 .param p0, "context" # Landroid/content/Context; .param p1, "self" # Landroid/net/Uri; .param p2, "mimeType" # Ljava/lang/String; .param p3, "displayName" # Ljava/lang/String; .prologue .line 33 invoke-virtual {p0}, Landroid/content/Context;->getContentResolver()Landroid/content/ContentResolver; move-result-object v0 invoke-static {v0, p1, p2, p3}, Landroid/provider/DocumentsContract;->createDocument(Landroid/content/ContentResolver;Landroid/net/Uri;Ljava/lang/String;Ljava/lang/String;)Landroid/net/Uri; move-result-object v0 return-object v0 .end method .method public static listFiles(Landroid/content/Context;Landroid/net/Uri;)[Landroid/net/Uri; .locals 11 .param p0, "context" # Landroid/content/Context; .param p1, "self" # Landroid/net/Uri; .prologue .line 47 invoke-virtual {p0}, Landroid/content/Context;->getContentResolver()Landroid/content/ContentResolver; move-result-object v0 .line 48 .local v0, "resolver":Landroid/content/ContentResolver; invoke-static {p1}, Landroid/provider/DocumentsContract;->getDocumentId(Landroid/net/Uri;)Ljava/lang/String; move-result-object v2 invoke-static {p1, v2}, Landroid/provider/DocumentsContract;->buildChildDocumentsUriUsingTree(Landroid/net/Uri;Ljava/lang/String;)Landroid/net/Uri; move-result-object v1 .line 50 .local v1, "childrenUri":Landroid/net/Uri; new-instance v10, Ljava/util/ArrayList; invoke-direct {v10}, Ljava/util/ArrayList;->()V .line 52 .local v10, "results":Ljava/util/ArrayList;, "Ljava/util/ArrayList;" const/4 v6, 0x0 .line 54 .local v6, "c":Landroid/database/Cursor; const/4 v2, 0x1 :try_start_0 new-array v2, v2, [Ljava/lang/String; const/4 v3, 0x0 const-string v4, "document_id" aput-object v4, v2, v3 const/4 v3, 0x0 const/4 v4, 0x0 const/4 v5, 0x0 invoke-virtual/range {v0 .. v5}, Landroid/content/ContentResolver;->query(Landroid/net/Uri;[Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;)Landroid/database/Cursor; move-result-object v6 .line 56 :goto_0 invoke-interface {v6}, Landroid/database/Cursor;->moveToNext()Z move-result v2 if-eqz v2, :cond_0 .line 57 const/4 v2, 0x0 invoke-interface {v6, v2}, Landroid/database/Cursor;->getString(I)Ljava/lang/String; move-result-object v7 .line 58 .local v7, "documentId":Ljava/lang/String; invoke-static {p1, v7}, Landroid/provider/DocumentsContract;->buildDocumentUriUsingTree(Landroid/net/Uri;Ljava/lang/String;)Landroid/net/Uri; move-result-object v8 .line 60 .local v8, "documentUri":Landroid/net/Uri; invoke-virtual {v10, v8}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z :try_end_0 .catch Ljava/lang/Exception; {:try_start_0 .. :try_end_0} :catch_0 .catchall {:try_start_0 .. :try_end_0} :catchall_0 goto :goto_0 .line 62 .end local v7 # "documentId":Ljava/lang/String; .end local v8 # "documentUri":Landroid/net/Uri; :catch_0 move-exception v9 .line 63 .local v9, "e":Ljava/lang/Exception; :try_start_1 const-string v2, "DocumentFile" new-instance v3, Ljava/lang/StringBuilder; invoke-direct {v3}, Ljava/lang/StringBuilder;->()V const-string v4, "Failed query: " invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; move-result-object v3 invoke-virtual {v3, v9}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder; move-result-object v3 invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object v3 invoke-static {v2, v3}, Landroid/util/Log;->w(Ljava/lang/String;Ljava/lang/String;)I :try_end_1 .catchall {:try_start_1 .. :try_end_1} :catchall_0 .line 65 invoke-static {v6}, Landroid/support/v4/provider/DocumentsContractApi21;->closeQuietly(Ljava/lang/AutoCloseable;)V .line 68 .end local v9 # "e":Ljava/lang/Exception; :goto_1 invoke-virtual {v10}, Ljava/util/ArrayList;->size()I move-result v2 new-array v2, v2, [Landroid/net/Uri; invoke-virtual {v10, v2}, Ljava/util/ArrayList;->toArray([Ljava/lang/Object;)[Ljava/lang/Object; move-result-object v2 check-cast v2, [Landroid/net/Uri; return-object v2 .line 65 :cond_0 invoke-static {v6}, Landroid/support/v4/provider/DocumentsContractApi21;->closeQuietly(Ljava/lang/AutoCloseable;)V goto :goto_1 :catchall_0 move-exception v2 invoke-static {v6}, Landroid/support/v4/provider/DocumentsContractApi21;->closeQuietly(Ljava/lang/AutoCloseable;)V throw v2 .end method .method public static prepareTreeUri(Landroid/net/Uri;)Landroid/net/Uri; .locals 1 .param p0, "treeUri" # Landroid/net/Uri; .prologue .line 42 invoke-static {p0}, Landroid/provider/DocumentsContract;->getTreeDocumentId(Landroid/net/Uri;)Ljava/lang/String; move-result-object v0 invoke-static {p0, v0}, Landroid/provider/DocumentsContract;->buildDocumentUriUsingTree(Landroid/net/Uri;Ljava/lang/String;)Landroid/net/Uri; move-result-object v0 return-object v0 .end method .method public static renameTo(Landroid/content/Context;Landroid/net/Uri;Ljava/lang/String;)Landroid/net/Uri; .locals 1 .param p0, "context" # Landroid/content/Context; .param p1, "self" # Landroid/net/Uri; .param p2, "displayName" # Ljava/lang/String; .prologue .line 72 invoke-virtual {p0}, Landroid/content/Context;->getContentResolver()Landroid/content/ContentResolver; move-result-object v0 invoke-static {v0, p1, p2}, Landroid/provider/DocumentsContract;->renameDocument(Landroid/content/ContentResolver;Landroid/net/Uri;Ljava/lang/String;)Landroid/net/Uri; move-result-object v0 return-object v0 .end method