public abstract class android.provider.DocumentsProvider extends android.content.ContentProvider
  minor version: 0
  major version: 59
  flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
  this_class: android.provider.DocumentsProvider
  super_class: android.content.ContentProvider
{
  private static final java.lang.String TAG;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "DocumentsProvider"

  private static final int MATCH_ROOTS;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 1

  private static final int MATCH_ROOT;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 2

  private static final int MATCH_RECENT;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 3

  private static final int MATCH_SEARCH;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 4

  private static final int MATCH_DOCUMENT;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 5

  private static final int MATCH_CHILDREN;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 6

  private static final int MATCH_DOCUMENT_TREE;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 7

  private static final int MATCH_CHILDREN_TREE;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 8

  private java.lang.String mAuthority;
    descriptor: Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE

  private android.content.UriMatcher mMatcher;
    descriptor: Landroid/content/UriMatcher;
    flags: (0x0002) ACC_PRIVATE

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // android.provider.DocumentsProvider this
         0: .line 142
            aload 0 /* this */
            invokespecial android.content.ContentProvider.<init>:()V
            return
        end local 0 // android.provider.DocumentsProvider this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Landroid/provider/DocumentsProvider;

  public void attachInfo(android.content.Context, android.content.pm.ProviderInfo);
    descriptor: (Landroid/content/Context;Landroid/content/pm/ProviderInfo;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // android.provider.DocumentsProvider this
         0: .line 172
            new java.lang.Error
            dup
            ldc "Unresolved compilation problems: \n\tandroid.Manifest.permission.MANAGE_DOCUMENTS cannot be resolved to a type\n\tandroid.Manifest.permission.MANAGE_DOCUMENTS cannot be resolved to a type\n"
            invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
            athrow
        end local 0 // android.provider.DocumentsProvider this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Landroid/provider/DocumentsProvider;
    MethodParameters:
         Name  Flags
      context  
      info     

  public void attachInfoForTesting(android.content.Context, android.content.pm.ProviderInfo);
    descriptor: (Landroid/content/Context;Landroid/content/pm/ProviderInfo;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // android.provider.DocumentsProvider this
        start local 1 // android.content.Context context
        start local 2 // android.content.pm.ProviderInfo info
         0: .line 183
            aload 0 /* this */
            aload 2 /* info */
            getfield android.content.pm.ProviderInfo.authority:Ljava/lang/String;
            invokevirtual android.provider.DocumentsProvider.registerAuthority:(Ljava/lang/String;)V
         1: .line 185
            aload 0 /* this */
            aload 1 /* context */
            aload 2 /* info */
            invokespecial android.content.ContentProvider.attachInfoForTesting:(Landroid/content/Context;Landroid/content/pm/ProviderInfo;)V
         2: .line 186
            return
        end local 2 // android.content.pm.ProviderInfo info
        end local 1 // android.content.Context context
        end local 0 // android.provider.DocumentsProvider this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    3     0     this  Landroid/provider/DocumentsProvider;
            0    3     1  context  Landroid/content/Context;
            0    3     2     info  Landroid/content/pm/ProviderInfo;
    MethodParameters:
         Name  Flags
      context  
      info     

  private void registerAuthority(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // android.provider.DocumentsProvider this
        start local 1 // java.lang.String authority
         0: .line 189
            aload 0 /* this */
            aload 1 /* authority */
            putfield android.provider.DocumentsProvider.mAuthority:Ljava/lang/String;
         1: .line 191
            aload 0 /* this */
            new android.content.UriMatcher
            dup
            iconst_m1
            invokespecial android.content.UriMatcher.<init>:(I)V
            putfield android.provider.DocumentsProvider.mMatcher:Landroid/content/UriMatcher;
         2: .line 192
            aload 0 /* this */
            getfield android.provider.DocumentsProvider.mMatcher:Landroid/content/UriMatcher;
            aload 0 /* this */
            getfield android.provider.DocumentsProvider.mAuthority:Ljava/lang/String;
            ldc "root"
            iconst_1
            invokevirtual android.content.UriMatcher.addURI:(Ljava/lang/String;Ljava/lang/String;I)V
         3: .line 193
            aload 0 /* this */
            getfield android.provider.DocumentsProvider.mMatcher:Landroid/content/UriMatcher;
            aload 0 /* this */
            getfield android.provider.DocumentsProvider.mAuthority:Ljava/lang/String;
            ldc "root/*"
            iconst_2
            invokevirtual android.content.UriMatcher.addURI:(Ljava/lang/String;Ljava/lang/String;I)V
         4: .line 194
            aload 0 /* this */
            getfield android.provider.DocumentsProvider.mMatcher:Landroid/content/UriMatcher;
            aload 0 /* this */
            getfield android.provider.DocumentsProvider.mAuthority:Ljava/lang/String;
            ldc "root/*/recent"
            iconst_3
            invokevirtual android.content.UriMatcher.addURI:(Ljava/lang/String;Ljava/lang/String;I)V
         5: .line 195
            aload 0 /* this */
            getfield android.provider.DocumentsProvider.mMatcher:Landroid/content/UriMatcher;
            aload 0 /* this */
            getfield android.provider.DocumentsProvider.mAuthority:Ljava/lang/String;
            ldc "root/*/search"
            iconst_4
            invokevirtual android.content.UriMatcher.addURI:(Ljava/lang/String;Ljava/lang/String;I)V
         6: .line 196
            aload 0 /* this */
            getfield android.provider.DocumentsProvider.mMatcher:Landroid/content/UriMatcher;
            aload 0 /* this */
            getfield android.provider.DocumentsProvider.mAuthority:Ljava/lang/String;
            ldc "document/*"
            iconst_5
            invokevirtual android.content.UriMatcher.addURI:(Ljava/lang/String;Ljava/lang/String;I)V
         7: .line 197
            aload 0 /* this */
            getfield android.provider.DocumentsProvider.mMatcher:Landroid/content/UriMatcher;
            aload 0 /* this */
            getfield android.provider.DocumentsProvider.mAuthority:Ljava/lang/String;
            ldc "document/*/children"
            bipush 6
            invokevirtual android.content.UriMatcher.addURI:(Ljava/lang/String;Ljava/lang/String;I)V
         8: .line 198
            aload 0 /* this */
            getfield android.provider.DocumentsProvider.mMatcher:Landroid/content/UriMatcher;
            aload 0 /* this */
            getfield android.provider.DocumentsProvider.mAuthority:Ljava/lang/String;
            ldc "tree/*/document/*"
            bipush 7
            invokevirtual android.content.UriMatcher.addURI:(Ljava/lang/String;Ljava/lang/String;I)V
         9: .line 199
            aload 0 /* this */
            getfield android.provider.DocumentsProvider.mMatcher:Landroid/content/UriMatcher;
            aload 0 /* this */
            getfield android.provider.DocumentsProvider.mAuthority:Ljava/lang/String;
            ldc "tree/*/document/*/children"
            bipush 8
            invokevirtual android.content.UriMatcher.addURI:(Ljava/lang/String;Ljava/lang/String;I)V
        10: .line 200
            return
        end local 1 // java.lang.String authority
        end local 0 // android.provider.DocumentsProvider this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   11     0       this  Landroid/provider/DocumentsProvider;
            0   11     1  authority  Ljava/lang/String;
    MethodParameters:
           Name  Flags
      authority  

  public boolean isChildDocument(java.lang.String, java.lang.String);
    descriptor: (Ljava/lang/String;Ljava/lang/String;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=3, args_size=3
        start local 0 // android.provider.DocumentsProvider this
        start local 1 // java.lang.String parentDocumentId
        start local 2 // java.lang.String documentId
         0: .line 214
            iconst_0
            ireturn
        end local 2 // java.lang.String documentId
        end local 1 // java.lang.String parentDocumentId
        end local 0 // android.provider.DocumentsProvider this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0    1     0              this  Landroid/provider/DocumentsProvider;
            0    1     1  parentDocumentId  Ljava/lang/String;
            0    1     2        documentId  Ljava/lang/String;
    MethodParameters:
                  Name  Flags
      parentDocumentId  
      documentId        

  private void enforceTree(android.net.Uri);
    descriptor: (Landroid/net/Uri;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=4, args_size=2
        start local 0 // android.provider.DocumentsProvider this
        start local 1 // android.net.Uri documentUri
         0: .line 219
            aload 1 /* documentUri */
            invokestatic android.provider.DocumentsContract.isTreeUri:(Landroid/net/Uri;)Z
            ifeq 9
         1: .line 220
            aload 1 /* documentUri */
            invokestatic android.provider.DocumentsContract.getTreeDocumentId:(Landroid/net/Uri;)Ljava/lang/String;
            astore 2 /* parent */
        start local 2 // java.lang.String parent
         2: .line 221
            aload 1 /* documentUri */
            invokestatic android.provider.DocumentsContract.getDocumentId:(Landroid/net/Uri;)Ljava/lang/String;
            astore 3 /* child */
        start local 3 // java.lang.String child
         3: .line 222
            aload 2 /* parent */
            aload 3 /* child */
            invokestatic java.util.Objects.equals:(Ljava/lang/Object;Ljava/lang/Object;)Z
            ifeq 5
         4: .line 223
            return
         5: .line 225
      StackMap locals: java.lang.String java.lang.String
      StackMap stack:
            aload 0 /* this */
            aload 2 /* parent */
            aload 3 /* child */
            invokevirtual android.provider.DocumentsProvider.isChildDocument:(Ljava/lang/String;Ljava/lang/String;)Z
            ifne 9
         6: .line 226
            new java.lang.SecurityException
            dup
         7: .line 227
            new java.lang.StringBuilder
            dup
            ldc "Document "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 3 /* child */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc " is not a descendant of "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 2 /* parent */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
         8: .line 226
            invokespecial java.lang.SecurityException.<init>:(Ljava/lang/String;)V
            athrow
        end local 3 // java.lang.String child
        end local 2 // java.lang.String parent
         9: .line 230
      StackMap locals:
      StackMap stack:
            return
        end local 1 // android.net.Uri documentUri
        end local 0 // android.provider.DocumentsProvider this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   10     0         this  Landroid/provider/DocumentsProvider;
            0   10     1  documentUri  Landroid/net/Uri;
            2    9     2       parent  Ljava/lang/String;
            3    9     3        child  Ljava/lang/String;
    MethodParameters:
             Name  Flags
      documentUri  

  public java.lang.String createDocument(java.lang.String, java.lang.String, java.lang.String);
    descriptor: (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=4
        start local 0 // android.provider.DocumentsProvider this
        start local 1 // java.lang.String parentDocumentId
        start local 2 // java.lang.String mimeType
        start local 3 // java.lang.String displayName
         0: .line 253
            new java.lang.UnsupportedOperationException
            dup
            ldc "Create not supported"
            invokespecial java.lang.UnsupportedOperationException.<init>:(Ljava/lang/String;)V
            athrow
        end local 3 // java.lang.String displayName
        end local 2 // java.lang.String mimeType
        end local 1 // java.lang.String parentDocumentId
        end local 0 // android.provider.DocumentsProvider this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0    1     0              this  Landroid/provider/DocumentsProvider;
            0    1     1  parentDocumentId  Ljava/lang/String;
            0    1     2          mimeType  Ljava/lang/String;
            0    1     3       displayName  Ljava/lang/String;
    Exceptions:
      throws java.io.FileNotFoundException
    MethodParameters:
                  Name  Flags
      parentDocumentId  
      mimeType          
      displayName       

  public java.lang.String renameDocument(java.lang.String, java.lang.String);
    descriptor: (Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // android.provider.DocumentsProvider this
        start local 1 // java.lang.String documentId
        start local 2 // java.lang.String displayName
         0: .line 276
            new java.lang.UnsupportedOperationException
            dup
            ldc "Rename not supported"
            invokespecial java.lang.UnsupportedOperationException.<init>:(Ljava/lang/String;)V
            athrow
        end local 2 // java.lang.String displayName
        end local 1 // java.lang.String documentId
        end local 0 // android.provider.DocumentsProvider this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    1     0         this  Landroid/provider/DocumentsProvider;
            0    1     1   documentId  Ljava/lang/String;
            0    1     2  displayName  Ljava/lang/String;
    Exceptions:
      throws java.io.FileNotFoundException
    MethodParameters:
             Name  Flags
      documentId   
      displayName  

  public void deleteDocument(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // android.provider.DocumentsProvider this
        start local 1 // java.lang.String documentId
         0: .line 295
            new java.lang.UnsupportedOperationException
            dup
            ldc "Delete not supported"
            invokespecial java.lang.UnsupportedOperationException.<init>:(Ljava/lang/String;)V
            athrow
        end local 1 // java.lang.String documentId
        end local 0 // android.provider.DocumentsProvider this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    1     0        this  Landroid/provider/DocumentsProvider;
            0    1     1  documentId  Ljava/lang/String;
    Exceptions:
      throws java.io.FileNotFoundException
    MethodParameters:
            Name  Flags
      documentId  

  public java.lang.String copyDocument(java.lang.String, java.lang.String);
    descriptor: (Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // android.provider.DocumentsProvider this
        start local 1 // java.lang.String sourceDocumentId
        start local 2 // java.lang.String targetParentDocumentId
         0: .line 315
            new java.lang.UnsupportedOperationException
            dup
            ldc "Copy not supported"
            invokespecial java.lang.UnsupportedOperationException.<init>:(Ljava/lang/String;)V
            athrow
        end local 2 // java.lang.String targetParentDocumentId
        end local 1 // java.lang.String sourceDocumentId
        end local 0 // android.provider.DocumentsProvider this
      LocalVariableTable:
        Start  End  Slot                    Name  Signature
            0    1     0                    this  Landroid/provider/DocumentsProvider;
            0    1     1        sourceDocumentId  Ljava/lang/String;
            0    1     2  targetParentDocumentId  Ljava/lang/String;
    Exceptions:
      throws java.io.FileNotFoundException
    MethodParameters:
                        Name  Flags
      sourceDocumentId        
      targetParentDocumentId  

  public java.lang.String moveDocument(java.lang.String, java.lang.String, java.lang.String);
    descriptor: (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=4
        start local 0 // android.provider.DocumentsProvider this
        start local 1 // java.lang.String sourceDocumentId
        start local 2 // java.lang.String sourceParentDocumentId
        start local 3 // java.lang.String targetParentDocumentId
         0: .line 341
            new java.lang.UnsupportedOperationException
            dup
            ldc "Move not supported"
            invokespecial java.lang.UnsupportedOperationException.<init>:(Ljava/lang/String;)V
            athrow
        end local 3 // java.lang.String targetParentDocumentId
        end local 2 // java.lang.String sourceParentDocumentId
        end local 1 // java.lang.String sourceDocumentId
        end local 0 // android.provider.DocumentsProvider this
      LocalVariableTable:
        Start  End  Slot                    Name  Signature
            0    1     0                    this  Landroid/provider/DocumentsProvider;
            0    1     1        sourceDocumentId  Ljava/lang/String;
            0    1     2  sourceParentDocumentId  Ljava/lang/String;
            0    1     3  targetParentDocumentId  Ljava/lang/String;
    Exceptions:
      throws java.io.FileNotFoundException
    MethodParameters:
                        Name  Flags
      sourceDocumentId        
      sourceParentDocumentId  
      targetParentDocumentId  

  public void removeDocument(java.lang.String, java.lang.String);
    descriptor: (Ljava/lang/String;Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // android.provider.DocumentsProvider this
        start local 1 // java.lang.String documentId
        start local 2 // java.lang.String parentDocumentId
         0: .line 362
            new java.lang.UnsupportedOperationException
            dup
            ldc "Remove not supported"
            invokespecial java.lang.UnsupportedOperationException.<init>:(Ljava/lang/String;)V
            athrow
        end local 2 // java.lang.String parentDocumentId
        end local 1 // java.lang.String documentId
        end local 0 // android.provider.DocumentsProvider this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0    1     0              this  Landroid/provider/DocumentsProvider;
            0    1     1        documentId  Ljava/lang/String;
            0    1     2  parentDocumentId  Ljava/lang/String;
    Exceptions:
      throws java.io.FileNotFoundException
    MethodParameters:
                  Name  Flags
      documentId        
      parentDocumentId  

  public android.provider.DocumentsContract$Path findDocumentPath(java.lang.String, java.lang.String);
    descriptor: (Ljava/lang/String;Ljava/lang/String;)Landroid/provider/DocumentsContract$Path;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // android.provider.DocumentsProvider this
        start local 1 // java.lang.String parentDocumentId
        start local 2 // java.lang.String childDocumentId
         0: .line 389
            new java.lang.UnsupportedOperationException
            dup
            ldc "findDocumentPath not supported."
            invokespecial java.lang.UnsupportedOperationException.<init>:(Ljava/lang/String;)V
            athrow
        end local 2 // java.lang.String childDocumentId
        end local 1 // java.lang.String parentDocumentId
        end local 0 // android.provider.DocumentsProvider this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0    1     0              this  Landroid/provider/DocumentsProvider;
            0    1     1  parentDocumentId  Ljava/lang/String;
            0    1     2   childDocumentId  Ljava/lang/String;
    Exceptions:
      throws java.io.FileNotFoundException
    MethodParameters:
                  Name  Flags
      parentDocumentId  
      childDocumentId   

  public android.content.IntentSender createWebLinkIntent(java.lang.String, android.os.Bundle);
    descriptor: (Ljava/lang/String;Landroid/os/Bundle;)Landroid/content/IntentSender;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // android.provider.DocumentsProvider this
        start local 1 // java.lang.String documentId
        start local 2 // android.os.Bundle options
         0: .line 421
            new java.lang.UnsupportedOperationException
            dup
            ldc "createWebLink is not supported."
            invokespecial java.lang.UnsupportedOperationException.<init>:(Ljava/lang/String;)V
            athrow
        end local 2 // android.os.Bundle options
        end local 1 // java.lang.String documentId
        end local 0 // android.provider.DocumentsProvider this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    1     0        this  Landroid/provider/DocumentsProvider;
            0    1     1  documentId  Ljava/lang/String;
            0    1     2     options  Landroid/os/Bundle;
    Exceptions:
      throws java.io.FileNotFoundException
    MethodParameters:
            Name  Flags
      documentId  
      options     

  public abstract android.database.Cursor queryRoots(java.lang.String[]);
    descriptor: ([Ljava/lang/String;)Landroid/database/Cursor;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Exceptions:
      throws java.io.FileNotFoundException
    MethodParameters:
            Name  Flags
      projection  

  public android.database.Cursor queryRecentDocuments(java.lang.String, java.lang.String[]);
    descriptor: (Ljava/lang/String;[Ljava/lang/String;)Landroid/database/Cursor;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // android.provider.DocumentsProvider this
        start local 1 // java.lang.String rootId
        start local 2 // java.lang.String[] projection
         0: .line 460
            new java.lang.UnsupportedOperationException
            dup
            ldc "Recent not supported"
            invokespecial java.lang.UnsupportedOperationException.<init>:(Ljava/lang/String;)V
            athrow
        end local 2 // java.lang.String[] projection
        end local 1 // java.lang.String rootId
        end local 0 // android.provider.DocumentsProvider this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    1     0        this  Landroid/provider/DocumentsProvider;
            0    1     1      rootId  Ljava/lang/String;
            0    1     2  projection  [Ljava/lang/String;
    Exceptions:
      throws java.io.FileNotFoundException
    MethodParameters:
            Name  Flags
      rootId      
      projection  

  public abstract android.database.Cursor queryDocument(java.lang.String, java.lang.String[]);
    descriptor: (Ljava/lang/String;[Ljava/lang/String;)Landroid/database/Cursor;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Exceptions:
      throws java.io.FileNotFoundException
    MethodParameters:
            Name  Flags
      documentId  
      projection  

  public abstract android.database.Cursor queryChildDocuments(java.lang.String, java.lang.String[], java.lang.String);
    descriptor: (Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;)Landroid/database/Cursor;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Exceptions:
      throws java.io.FileNotFoundException
    MethodParameters:
                  Name  Flags
      parentDocumentId  
      projection        
      sortOrder         

  public android.database.Cursor queryChildDocuments(java.lang.String, java.lang.String[], android.os.Bundle);
    descriptor: (Ljava/lang/String;[Ljava/lang/String;Landroid/os/Bundle;)Landroid/database/Cursor;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=4
        start local 0 // android.provider.DocumentsProvider this
        start local 1 // java.lang.String parentDocumentId
        start local 2 // java.lang.String[] projection
        start local 3 // android.os.Bundle queryArgs
         0: .line 565
            aload 0 /* this */
         1: .line 566
            aload 1 /* parentDocumentId */
            aload 2 /* projection */
            aload 3 /* queryArgs */
            invokestatic android.provider.DocumentsProvider.getSortClause:(Landroid/os/Bundle;)Ljava/lang/String;
         2: .line 565
            invokevirtual android.provider.DocumentsProvider.queryChildDocuments:(Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;)Landroid/database/Cursor;
            areturn
        end local 3 // android.os.Bundle queryArgs
        end local 2 // java.lang.String[] projection
        end local 1 // java.lang.String parentDocumentId
        end local 0 // android.provider.DocumentsProvider this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0    3     0              this  Landroid/provider/DocumentsProvider;
            0    3     1  parentDocumentId  Ljava/lang/String;
            0    3     2        projection  [Ljava/lang/String;
            0    3     3         queryArgs  Landroid/os/Bundle;
    Exceptions:
      throws java.io.FileNotFoundException
    MethodParameters:
                  Name  Flags
      parentDocumentId  
      projection        
      queryArgs         

  public android.database.Cursor queryChildDocumentsForManage(java.lang.String, java.lang.String[], java.lang.String);
    descriptor: (Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;)Landroid/database/Cursor;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=4
        start local 0 // android.provider.DocumentsProvider this
        start local 1 // java.lang.String parentDocumentId
        start local 2 // java.lang.String[] projection
        start local 3 // java.lang.String sortOrder
         0: .line 574
            new java.lang.UnsupportedOperationException
            dup
            ldc "Manage not supported"
            invokespecial java.lang.UnsupportedOperationException.<init>:(Ljava/lang/String;)V
            athrow
        end local 3 // java.lang.String sortOrder
        end local 2 // java.lang.String[] projection
        end local 1 // java.lang.String parentDocumentId
        end local 0 // android.provider.DocumentsProvider this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0    1     0              this  Landroid/provider/DocumentsProvider;
            0    1     1  parentDocumentId  Ljava/lang/String;
            0    1     2        projection  [Ljava/lang/String;
            0    1     3         sortOrder  Ljava/lang/String;
    Exceptions:
      throws java.io.FileNotFoundException
    MethodParameters:
                  Name  Flags
      parentDocumentId  
      projection        
      sortOrder         

  public android.database.Cursor querySearchDocuments(java.lang.String, java.lang.String, java.lang.String[]);
    descriptor: (Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;)Landroid/database/Cursor;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=4
        start local 0 // android.provider.DocumentsProvider this
        start local 1 // java.lang.String rootId
        start local 2 // java.lang.String query
        start local 3 // java.lang.String[] projection
         0: .line 615
            new java.lang.UnsupportedOperationException
            dup
            ldc "Search not supported"
            invokespecial java.lang.UnsupportedOperationException.<init>:(Ljava/lang/String;)V
            athrow
        end local 3 // java.lang.String[] projection
        end local 2 // java.lang.String query
        end local 1 // java.lang.String rootId
        end local 0 // android.provider.DocumentsProvider this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    1     0        this  Landroid/provider/DocumentsProvider;
            0    1     1      rootId  Ljava/lang/String;
            0    1     2       query  Ljava/lang/String;
            0    1     3  projection  [Ljava/lang/String;
    Exceptions:
      throws java.io.FileNotFoundException
    MethodParameters:
            Name  Flags
      rootId      
      query       
      projection  

  public void ejectRoot(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // android.provider.DocumentsProvider this
        start local 1 // java.lang.String rootId
         0: .line 626
            new java.lang.UnsupportedOperationException
            dup
            ldc "Eject not supported"
            invokespecial java.lang.UnsupportedOperationException.<init>:(Ljava/lang/String;)V
            athrow
        end local 1 // java.lang.String rootId
        end local 0 // android.provider.DocumentsProvider this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0    this  Landroid/provider/DocumentsProvider;
            0    1     1  rootId  Ljava/lang/String;
    MethodParameters:
        Name  Flags
      rootId  

  public android.os.Bundle getDocumentMetadata(java.lang.String);
    descriptor: (Ljava/lang/String;)Landroid/os/Bundle;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // android.provider.DocumentsProvider this
        start local 1 // java.lang.String documentId
         0: .line 632
            new java.lang.UnsupportedOperationException
            dup
            ldc "Metadata not supported"
            invokespecial java.lang.UnsupportedOperationException.<init>:(Ljava/lang/String;)V
            athrow
        end local 1 // java.lang.String documentId
        end local 0 // android.provider.DocumentsProvider this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    1     0        this  Landroid/provider/DocumentsProvider;
            0    1     1  documentId  Ljava/lang/String;
    Exceptions:
      throws java.io.FileNotFoundException
    MethodParameters:
            Name  Flags
      documentId  

  public java.lang.String getDocumentType(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // android.provider.DocumentsProvider this
         0: .line 654
            new java.lang.Error
            dup
            ldc "Unresolved compilation problem: \n\tIoUtils cannot be resolved\n"
            invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
            athrow
        end local 0 // android.provider.DocumentsProvider this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Landroid/provider/DocumentsProvider;
    Exceptions:
      throws java.io.FileNotFoundException
    MethodParameters:
            Name  Flags
      documentId  

  public abstract android.os.ParcelFileDescriptor openDocument(java.lang.String, java.lang.String, android.os.CancellationSignal);
    descriptor: (Ljava/lang/String;Ljava/lang/String;Landroid/os/CancellationSignal;)Landroid/os/ParcelFileDescriptor;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Exceptions:
      throws java.io.FileNotFoundException
    MethodParameters:
            Name  Flags
      documentId  
      mode        
      signal      

  public android.content.res.AssetFileDescriptor openDocumentThumbnail(java.lang.String, android.graphics.Point, android.os.CancellationSignal);
    descriptor: (Ljava/lang/String;Landroid/graphics/Point;Landroid/os/CancellationSignal;)Landroid/content/res/AssetFileDescriptor;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=4
        start local 0 // android.provider.DocumentsProvider this
        start local 1 // java.lang.String documentId
        start local 2 // android.graphics.Point sizeHint
        start local 3 // android.os.CancellationSignal signal
         0: .line 716
            new java.lang.UnsupportedOperationException
            dup
            ldc "Thumbnails not supported"
            invokespecial java.lang.UnsupportedOperationException.<init>:(Ljava/lang/String;)V
            athrow
        end local 3 // android.os.CancellationSignal signal
        end local 2 // android.graphics.Point sizeHint
        end local 1 // java.lang.String documentId
        end local 0 // android.provider.DocumentsProvider this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    1     0        this  Landroid/provider/DocumentsProvider;
            0    1     1  documentId  Ljava/lang/String;
            0    1     2    sizeHint  Landroid/graphics/Point;
            0    1     3      signal  Landroid/os/CancellationSignal;
    Exceptions:
      throws java.io.FileNotFoundException
    MethodParameters:
            Name  Flags
      documentId  
      sizeHint    
      signal      

  public android.content.res.AssetFileDescriptor openTypedDocument(java.lang.String, java.lang.String, android.os.Bundle, android.os.CancellationSignal);
    descriptor: (Ljava/lang/String;Ljava/lang/String;Landroid/os/Bundle;Landroid/os/CancellationSignal;)Landroid/content/res/AssetFileDescriptor;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=5, args_size=5
        start local 0 // android.provider.DocumentsProvider this
        start local 1 // java.lang.String documentId
        start local 2 // java.lang.String mimeTypeFilter
        start local 3 // android.os.Bundle opts
        start local 4 // android.os.CancellationSignal signal
         0: .line 744
            new java.io.FileNotFoundException
            dup
            ldc "The requested MIME type is not supported."
            invokespecial java.io.FileNotFoundException.<init>:(Ljava/lang/String;)V
            athrow
        end local 4 // android.os.CancellationSignal signal
        end local 3 // android.os.Bundle opts
        end local 2 // java.lang.String mimeTypeFilter
        end local 1 // java.lang.String documentId
        end local 0 // android.provider.DocumentsProvider this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    1     0            this  Landroid/provider/DocumentsProvider;
            0    1     1      documentId  Ljava/lang/String;
            0    1     2  mimeTypeFilter  Ljava/lang/String;
            0    1     3            opts  Landroid/os/Bundle;
            0    1     4          signal  Landroid/os/CancellationSignal;
    Exceptions:
      throws java.io.FileNotFoundException
    MethodParameters:
                Name  Flags
      documentId      
      mimeTypeFilter  
      opts            
      signal          

  public final android.database.Cursor query(android.net.Uri, java.lang.String[], java.lang.String, java.lang.String[], java.lang.String);
    descriptor: (Landroid/net/Uri;[Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;)Landroid/database/Cursor;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=3, locals=6, args_size=6
        start local 0 // android.provider.DocumentsProvider this
        start local 1 // android.net.Uri uri
        start local 2 // java.lang.String[] projection
        start local 3 // java.lang.String selection
        start local 4 // java.lang.String[] selectionArgs
        start local 5 // java.lang.String sortOrder
         0: .line 752
            new java.lang.UnsupportedOperationException
            dup
            ldc "Pre-Android-O query format not supported."
            invokespecial java.lang.UnsupportedOperationException.<init>:(Ljava/lang/String;)V
            athrow
        end local 5 // java.lang.String sortOrder
        end local 4 // java.lang.String[] selectionArgs
        end local 3 // java.lang.String selection
        end local 2 // java.lang.String[] projection
        end local 1 // android.net.Uri uri
        end local 0 // android.provider.DocumentsProvider this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    1     0           this  Landroid/provider/DocumentsProvider;
            0    1     1            uri  Landroid/net/Uri;
            0    1     2     projection  [Ljava/lang/String;
            0    1     3      selection  Ljava/lang/String;
            0    1     4  selectionArgs  [Ljava/lang/String;
            0    1     5      sortOrder  Ljava/lang/String;
    MethodParameters:
               Name  Flags
      uri            
      projection     
      selection      
      selectionArgs  
      sortOrder      

  public android.database.Cursor query(android.net.Uri, java.lang.String[], java.lang.String, java.lang.String[], java.lang.String, android.os.CancellationSignal);
    descriptor: (Landroid/net/Uri;[Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;Landroid/os/CancellationSignal;)Landroid/database/Cursor;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=7, args_size=7
        start local 0 // android.provider.DocumentsProvider this
        start local 1 // android.net.Uri uri
        start local 2 // java.lang.String[] projection
        start local 3 // java.lang.String selection
        start local 4 // java.lang.String[] selectionArgs
        start local 5 // java.lang.String sortOrder
        start local 6 // android.os.CancellationSignal cancellationSignal
         0: .line 770
            new java.lang.UnsupportedOperationException
            dup
            ldc "Pre-Android-O query format not supported."
            invokespecial java.lang.UnsupportedOperationException.<init>:(Ljava/lang/String;)V
            athrow
        end local 6 // android.os.CancellationSignal cancellationSignal
        end local 5 // java.lang.String sortOrder
        end local 4 // java.lang.String[] selectionArgs
        end local 3 // java.lang.String selection
        end local 2 // java.lang.String[] projection
        end local 1 // android.net.Uri uri
        end local 0 // android.provider.DocumentsProvider this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0    1     0                this  Landroid/provider/DocumentsProvider;
            0    1     1                 uri  Landroid/net/Uri;
            0    1     2          projection  [Ljava/lang/String;
            0    1     3           selection  Ljava/lang/String;
            0    1     4       selectionArgs  [Ljava/lang/String;
            0    1     5           sortOrder  Ljava/lang/String;
            0    1     6  cancellationSignal  Landroid/os/CancellationSignal;
    MethodParameters:
                    Name  Flags
      uri                 
      projection          
      selection           
      selectionArgs       
      sortOrder           
      cancellationSignal  

  public final android.database.Cursor query(android.net.Uri, java.lang.String[], android.os.Bundle, android.os.CancellationSignal);
    descriptor: (Landroid/net/Uri;[Ljava/lang/String;Landroid/os/Bundle;Landroid/os/CancellationSignal;)Landroid/database/Cursor;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=5, locals=6, args_size=5
        start local 0 // android.provider.DocumentsProvider this
        start local 1 // android.net.Uri uri
        start local 2 // java.lang.String[] projection
        start local 3 // android.os.Bundle queryArgs
        start local 4 // android.os.CancellationSignal cancellationSignal
         0: .line 786
            aload 0 /* this */
            getfield android.provider.DocumentsProvider.mMatcher:Landroid/content/UriMatcher;
            aload 1 /* uri */
            invokevirtual android.content.UriMatcher.match:(Landroid/net/Uri;)I
            tableswitch { // 1 - 8
                    1: 1
                    2: 22
                    3: 3
                    4: 5
                    5: 9
                    6: 12
                    7: 9
                    8: 12
              default: 22
          }
         1: .line 788
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 2 /* projection */
            invokevirtual android.provider.DocumentsProvider.queryRoots:([Ljava/lang/String;)Landroid/database/Cursor;
         2: areturn
         3: .line 790
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* uri */
            invokestatic android.provider.DocumentsContract.getRootId:(Landroid/net/Uri;)Ljava/lang/String;
            aload 2 /* projection */
            invokevirtual android.provider.DocumentsProvider.queryRecentDocuments:(Ljava/lang/String;[Ljava/lang/String;)Landroid/database/Cursor;
         4: areturn
         5: .line 792
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
         6: .line 793
            aload 1 /* uri */
            invokestatic android.provider.DocumentsContract.getRootId:(Landroid/net/Uri;)Ljava/lang/String;
            aload 1 /* uri */
            invokestatic android.provider.DocumentsContract.getSearchDocumentsQuery:(Landroid/net/Uri;)Ljava/lang/String;
            aload 2 /* projection */
         7: .line 792
            invokevirtual android.provider.DocumentsProvider.querySearchDocuments:(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;)Landroid/database/Cursor;
         8: areturn
         9: .line 796
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* uri */
            invokevirtual android.provider.DocumentsProvider.enforceTree:(Landroid/net/Uri;)V
        10: .line 797
            aload 0 /* this */
            aload 1 /* uri */
            invokestatic android.provider.DocumentsContract.getDocumentId:(Landroid/net/Uri;)Ljava/lang/String;
            aload 2 /* projection */
            invokevirtual android.provider.DocumentsProvider.queryDocument:(Ljava/lang/String;[Ljava/lang/String;)Landroid/database/Cursor;
        11: areturn
        12: .line 800
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* uri */
            invokevirtual android.provider.DocumentsProvider.enforceTree:(Landroid/net/Uri;)V
        13: .line 801
            aload 1 /* uri */
            invokestatic android.provider.DocumentsContract.isManageMode:(Landroid/net/Uri;)Z
            ifeq 20
        14: .line 803
            aload 0 /* this */
        15: .line 804
            aload 1 /* uri */
            invokestatic android.provider.DocumentsContract.getDocumentId:(Landroid/net/Uri;)Ljava/lang/String;
        16: .line 805
            aload 2 /* projection */
        17: .line 806
            aload 3 /* queryArgs */
            invokestatic android.provider.DocumentsProvider.getSortClause:(Landroid/os/Bundle;)Ljava/lang/String;
        18: .line 803
            invokevirtual android.provider.DocumentsProvider.queryChildDocumentsForManage:(Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;)Landroid/database/Cursor;
        19: areturn
        20: .line 808
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* uri */
            invokestatic android.provider.DocumentsContract.getDocumentId:(Landroid/net/Uri;)Ljava/lang/String;
            aload 2 /* projection */
            aload 3 /* queryArgs */
            invokevirtual android.provider.DocumentsProvider.queryChildDocuments:(Ljava/lang/String;[Ljava/lang/String;Landroid/os/Bundle;)Landroid/database/Cursor;
        21: areturn
        22: .line 811
      StackMap locals:
      StackMap stack:
            new java.lang.UnsupportedOperationException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Unsupported Uri "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* uri */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.UnsupportedOperationException.<init>:(Ljava/lang/String;)V
            athrow
        23: .line 813
      StackMap locals:
      StackMap stack: java.io.FileNotFoundException
            astore 5 /* e */
        start local 5 // java.io.FileNotFoundException e
        24: .line 814
            ldc "DocumentsProvider"
            ldc "Failed during query"
            aload 5 /* e */
            invokestatic android.util.Log.w:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
            pop
        25: .line 815
            aconst_null
            areturn
        end local 5 // java.io.FileNotFoundException e
        end local 4 // android.os.CancellationSignal cancellationSignal
        end local 3 // android.os.Bundle queryArgs
        end local 2 // java.lang.String[] projection
        end local 1 // android.net.Uri uri
        end local 0 // android.provider.DocumentsProvider this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0   26     0                this  Landroid/provider/DocumentsProvider;
            0   26     1                 uri  Landroid/net/Uri;
            0   26     2          projection  [Ljava/lang/String;
            0   26     3           queryArgs  Landroid/os/Bundle;
            0   26     4  cancellationSignal  Landroid/os/CancellationSignal;
           24   26     5                   e  Ljava/io/FileNotFoundException;
      Exception table:
        from    to  target  type
           0     2      23  Class java.io.FileNotFoundException
           3     4      23  Class java.io.FileNotFoundException
           5     8      23  Class java.io.FileNotFoundException
           9    11      23  Class java.io.FileNotFoundException
          12    19      23  Class java.io.FileNotFoundException
          20    21      23  Class java.io.FileNotFoundException
          22    23      23  Class java.io.FileNotFoundException
    MethodParameters:
                    Name  Flags
      uri                 
      projection          
      queryArgs           
      cancellationSignal  

  private static java.lang.String getSortClause(android.os.Bundle);
    descriptor: (Landroid/os/Bundle;)Ljava/lang/String;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // android.os.Bundle queryArgs
         0: .line 820
            aload 0 /* queryArgs */
            ifnull 1
            aload 0 /* queryArgs */
            goto 2
      StackMap locals:
      StackMap stack:
         1: getstatic android.os.Bundle.EMPTY:Landroid/os/Bundle;
      StackMap locals:
      StackMap stack: android.os.Bundle
         2: astore 0 /* queryArgs */
         3: .line 821
            aload 0 /* queryArgs */
            ldc "android:query-arg-sql-sort-order"
            invokevirtual android.os.Bundle.getString:(Ljava/lang/String;)Ljava/lang/String;
            astore 1 /* sortClause */
        start local 1 // java.lang.String sortClause
         4: .line 823
            aload 1 /* sortClause */
            ifnonnull 6
            aload 0 /* queryArgs */
            ldc "android:query-arg-sort-columns"
            invokevirtual android.os.Bundle.containsKey:(Ljava/lang/String;)Z
            ifeq 6
         5: .line 824
            aload 0 /* queryArgs */
            invokestatic android.content.ContentResolver.createSqlSortClause:(Landroid/os/Bundle;)Ljava/lang/String;
            astore 1 /* sortClause */
         6: .line 827
      StackMap locals: java.lang.String
      StackMap stack:
            aload 1 /* sortClause */
            areturn
        end local 1 // java.lang.String sortClause
        end local 0 // android.os.Bundle queryArgs
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    7     0   queryArgs  Landroid/os/Bundle;
            4    7     1  sortClause  Ljava/lang/String;
    MethodParameters:
           Name  Flags
      queryArgs  

  public final java.lang.String getType(android.net.Uri);
    descriptor: (Landroid/net/Uri;)Ljava/lang/String;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // android.provider.DocumentsProvider this
        start local 1 // android.net.Uri uri
         0: .line 838
            aload 0 /* this */
            getfield android.provider.DocumentsProvider.mMatcher:Landroid/content/UriMatcher;
            aload 1 /* uri */
            invokevirtual android.content.UriMatcher.match:(Landroid/net/Uri;)I
            tableswitch { // 2 - 7
                    2: 1
                    3: 5
                    4: 5
                    5: 2
                    6: 5
                    7: 2
              default: 5
          }
         1: .line 840
      StackMap locals:
      StackMap stack:
            ldc "vnd.android.document/root"
            areturn
         2: .line 843
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* uri */
            invokevirtual android.provider.DocumentsProvider.enforceTree:(Landroid/net/Uri;)V
         3: .line 844
            aload 0 /* this */
            aload 1 /* uri */
            invokestatic android.provider.DocumentsContract.getDocumentId:(Landroid/net/Uri;)Ljava/lang/String;
            invokevirtual android.provider.DocumentsProvider.getDocumentType:(Ljava/lang/String;)Ljava/lang/String;
         4: areturn
         5: .line 846
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
         6: .line 848
      StackMap locals:
      StackMap stack: java.io.FileNotFoundException
            astore 2 /* e */
        start local 2 // java.io.FileNotFoundException e
         7: .line 849
            ldc "DocumentsProvider"
            ldc "Failed during getType"
            aload 2 /* e */
            invokestatic android.util.Log.w:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
            pop
         8: .line 850
            aconst_null
            areturn
        end local 2 // java.io.FileNotFoundException e
        end local 1 // android.net.Uri uri
        end local 0 // android.provider.DocumentsProvider this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    9     0  this  Landroid/provider/DocumentsProvider;
            0    9     1   uri  Landroid/net/Uri;
            7    9     2     e  Ljava/io/FileNotFoundException;
      Exception table:
        from    to  target  type
           0     1       6  Class java.io.FileNotFoundException
           2     4       6  Class java.io.FileNotFoundException
    MethodParameters:
      Name  Flags
      uri   

  public android.net.Uri canonicalize(android.net.Uri);
    descriptor: (Landroid/net/Uri;)Landroid/net/Uri;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=5, args_size=2
        start local 0 // android.provider.DocumentsProvider this
        start local 1 // android.net.Uri uri
         0: .line 869
            aload 0 /* this */
            invokevirtual android.provider.DocumentsProvider.getContext:()Landroid/content/Context;
            astore 2 /* context */
        start local 2 // android.content.Context context
         1: .line 870
            aload 0 /* this */
            getfield android.provider.DocumentsProvider.mMatcher:Landroid/content/UriMatcher;
            aload 1 /* uri */
            invokevirtual android.content.UriMatcher.match:(Landroid/net/Uri;)I
            tableswitch { // 7 - 7
                    7: 2
              default: 7
          }
         2: .line 872
      StackMap locals: android.content.Context
      StackMap stack:
            aload 0 /* this */
            aload 1 /* uri */
            invokevirtual android.provider.DocumentsProvider.enforceTree:(Landroid/net/Uri;)V
         3: .line 874
            aload 1 /* uri */
            invokevirtual android.net.Uri.getAuthority:()Ljava/lang/String;
            aload 1 /* uri */
            invokestatic android.provider.DocumentsContract.getDocumentId:(Landroid/net/Uri;)Ljava/lang/String;
            invokestatic android.provider.DocumentsContract.buildDocumentUri:(Ljava/lang/String;Ljava/lang/String;)Landroid/net/Uri;
            astore 3 /* narrowUri */
        start local 3 // android.net.Uri narrowUri
         4: .line 878
            aload 2 /* context */
            aload 1 /* uri */
            invokestatic android.provider.DocumentsProvider.getCallingOrSelfUriPermissionModeFlags:(Landroid/content/Context;Landroid/net/Uri;)I
            istore 4 /* modeFlags */
        start local 4 // int modeFlags
         5: .line 879
            aload 2 /* context */
            aload 0 /* this */
            invokevirtual android.provider.DocumentsProvider.getCallingPackage:()Ljava/lang/String;
            aload 3 /* narrowUri */
            iload 4 /* modeFlags */
            invokevirtual android.content.Context.grantUriPermission:(Ljava/lang/String;Landroid/net/Uri;I)V
         6: .line 880
            aload 3 /* narrowUri */
            areturn
        end local 4 // int modeFlags
        end local 3 // android.net.Uri narrowUri
         7: .line 882
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        end local 2 // android.content.Context context
        end local 1 // android.net.Uri uri
        end local 0 // android.provider.DocumentsProvider this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    8     0       this  Landroid/provider/DocumentsProvider;
            0    8     1        uri  Landroid/net/Uri;
            1    8     2    context  Landroid/content/Context;
            4    7     3  narrowUri  Landroid/net/Uri;
            5    7     4  modeFlags  I
    MethodParameters:
      Name  Flags
      uri   

  private static int getCallingOrSelfUriPermissionModeFlags(android.content.Context, android.net.Uri);
    descriptor: (Landroid/content/Context;Landroid/net/Uri;)I
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // android.content.Context context
        start local 1 // android.net.Uri uri
         0: .line 887
            iconst_0
            istore 2 /* modeFlags */
        start local 2 // int modeFlags
         1: .line 888
            aload 0 /* context */
            aload 1 /* uri */
            iconst_1
            invokevirtual android.content.Context.checkCallingOrSelfUriPermission:(Landroid/net/Uri;I)I
            ifne 3
         2: .line 890
            iload 2 /* modeFlags */
            iconst_1
            ior
            istore 2 /* modeFlags */
         3: .line 892
      StackMap locals: int
      StackMap stack:
            aload 0 /* context */
            aload 1 /* uri */
            iconst_2
            invokevirtual android.content.Context.checkCallingOrSelfUriPermission:(Landroid/net/Uri;I)I
            ifne 5
         4: .line 894
            iload 2 /* modeFlags */
            iconst_2
            ior
            istore 2 /* modeFlags */
         5: .line 896
      StackMap locals:
      StackMap stack:
            aload 0 /* context */
            aload 1 /* uri */
            bipush 65
            invokevirtual android.content.Context.checkCallingOrSelfUriPermission:(Landroid/net/Uri;I)I
            ifne 7
         6: .line 899
            iload 2 /* modeFlags */
            bipush 64
            ior
            istore 2 /* modeFlags */
         7: .line 901
      StackMap locals:
      StackMap stack:
            iload 2 /* modeFlags */
            ireturn
        end local 2 // int modeFlags
        end local 1 // android.net.Uri uri
        end local 0 // android.content.Context context
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    8     0    context  Landroid/content/Context;
            0    8     1        uri  Landroid/net/Uri;
            1    8     2  modeFlags  I
    MethodParameters:
         Name  Flags
      context  
      uri      

  public final android.net.Uri insert(android.net.Uri, android.content.ContentValues);
    descriptor: (Landroid/net/Uri;Landroid/content/ContentValues;)Landroid/net/Uri;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // android.provider.DocumentsProvider this
        start local 1 // android.net.Uri uri
        start local 2 // android.content.ContentValues values
         0: .line 912
            new java.lang.UnsupportedOperationException
            dup
            ldc "Insert not supported"
            invokespecial java.lang.UnsupportedOperationException.<init>:(Ljava/lang/String;)V
            athrow
        end local 2 // android.content.ContentValues values
        end local 1 // android.net.Uri uri
        end local 0 // android.provider.DocumentsProvider this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0    this  Landroid/provider/DocumentsProvider;
            0    1     1     uri  Landroid/net/Uri;
            0    1     2  values  Landroid/content/ContentValues;
    MethodParameters:
        Name  Flags
      uri     
      values  

  public final int delete(android.net.Uri, java.lang.String, java.lang.String[]);
    descriptor: (Landroid/net/Uri;Ljava/lang/String;[Ljava/lang/String;)I
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=3, locals=4, args_size=4
        start local 0 // android.provider.DocumentsProvider this
        start local 1 // android.net.Uri uri
        start local 2 // java.lang.String selection
        start local 3 // java.lang.String[] selectionArgs
         0: .line 923
            new java.lang.UnsupportedOperationException
            dup
            ldc "Delete not supported"
            invokespecial java.lang.UnsupportedOperationException.<init>:(Ljava/lang/String;)V
            athrow
        end local 3 // java.lang.String[] selectionArgs
        end local 2 // java.lang.String selection
        end local 1 // android.net.Uri uri
        end local 0 // android.provider.DocumentsProvider this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    1     0           this  Landroid/provider/DocumentsProvider;
            0    1     1            uri  Landroid/net/Uri;
            0    1     2      selection  Ljava/lang/String;
            0    1     3  selectionArgs  [Ljava/lang/String;
    MethodParameters:
               Name  Flags
      uri            
      selection      
      selectionArgs  

  public final int update(android.net.Uri, android.content.ContentValues, java.lang.String, java.lang.String[]);
    descriptor: (Landroid/net/Uri;Landroid/content/ContentValues;Ljava/lang/String;[Ljava/lang/String;)I
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=3, locals=5, args_size=5
        start local 0 // android.provider.DocumentsProvider this
        start local 1 // android.net.Uri uri
        start local 2 // android.content.ContentValues values
        start local 3 // java.lang.String selection
        start local 4 // java.lang.String[] selectionArgs
         0: .line 933
            new java.lang.UnsupportedOperationException
            dup
            ldc "Update not supported"
            invokespecial java.lang.UnsupportedOperationException.<init>:(Ljava/lang/String;)V
            athrow
        end local 4 // java.lang.String[] selectionArgs
        end local 3 // java.lang.String selection
        end local 2 // android.content.ContentValues values
        end local 1 // android.net.Uri uri
        end local 0 // android.provider.DocumentsProvider this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    1     0           this  Landroid/provider/DocumentsProvider;
            0    1     1            uri  Landroid/net/Uri;
            0    1     2         values  Landroid/content/ContentValues;
            0    1     3      selection  Ljava/lang/String;
            0    1     4  selectionArgs  [Ljava/lang/String;
    MethodParameters:
               Name  Flags
      uri            
      values         
      selection      
      selectionArgs  

  public android.os.Bundle call(java.lang.String, java.lang.String, android.os.Bundle);
    descriptor: (Ljava/lang/String;Ljava/lang/String;Landroid/os/Bundle;)Landroid/os/Bundle;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=5, args_size=4
        start local 0 // android.provider.DocumentsProvider this
        start local 1 // java.lang.String method
        start local 2 // java.lang.String arg
        start local 3 // android.os.Bundle extras
         0: .line 945
            aload 1 /* method */
            ldc "android:"
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifne 2
         1: .line 947
            aload 0 /* this */
            aload 1 /* method */
            aload 2 /* arg */
            aload 3 /* extras */
            invokespecial android.content.ContentProvider.call:(Ljava/lang/String;Ljava/lang/String;Landroid/os/Bundle;)Landroid/os/Bundle;
            areturn
         2: .line 951
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* method */
            aload 2 /* arg */
            aload 3 /* extras */
            invokevirtual android.provider.DocumentsProvider.callUnchecked:(Ljava/lang/String;Ljava/lang/String;Landroid/os/Bundle;)Landroid/os/Bundle;
         3: areturn
         4: .line 952
      StackMap locals:
      StackMap stack: java.io.FileNotFoundException
            astore 4 /* e */
        start local 4 // java.io.FileNotFoundException e
         5: .line 953
            new android.os.ParcelableException
            dup
            aload 4 /* e */
            invokespecial android.os.ParcelableException.<init>:(Ljava/lang/Throwable;)V
            athrow
        end local 4 // java.io.FileNotFoundException e
        end local 3 // android.os.Bundle extras
        end local 2 // java.lang.String arg
        end local 1 // java.lang.String method
        end local 0 // android.provider.DocumentsProvider this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    6     0    this  Landroid/provider/DocumentsProvider;
            0    6     1  method  Ljava/lang/String;
            0    6     2     arg  Ljava/lang/String;
            0    6     3  extras  Landroid/os/Bundle;
            5    6     4       e  Ljava/io/FileNotFoundException;
      Exception table:
        from    to  target  type
           2     3       4  Class java.io.FileNotFoundException
    MethodParameters:
        Name  Flags
      method  
      arg     
      extras  

  private android.os.Bundle callUnchecked(java.lang.String, java.lang.String, android.os.Bundle);
    descriptor: (Ljava/lang/String;Ljava/lang/String;Landroid/os/Bundle;)Landroid/os/Bundle;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=4, args_size=4
        start local 0 // android.provider.DocumentsProvider this
         0: .line 1116
            new java.lang.Error
            dup
            ldc "Unresolved compilation problem: \n\tManifest cannot be resolved to a variable\n"
            invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
            athrow
        end local 0 // android.provider.DocumentsProvider this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Landroid/provider/DocumentsProvider;
    Exceptions:
      throws java.io.FileNotFoundException
    MethodParameters:
        Name  Flags
      method  
      arg     
      extras  

  public final void revokeDocumentPermission(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // android.provider.DocumentsProvider this
        start local 1 // java.lang.String documentId
         0: .line 1162
            aload 0 /* this */
            invokevirtual android.provider.DocumentsProvider.getContext:()Landroid/content/Context;
            astore 2 /* context */
        start local 2 // android.content.Context context
         1: .line 1163
            aload 2 /* context */
            aload 0 /* this */
            getfield android.provider.DocumentsProvider.mAuthority:Ljava/lang/String;
            aload 1 /* documentId */
            invokestatic android.provider.DocumentsContract.buildDocumentUri:(Ljava/lang/String;Ljava/lang/String;)Landroid/net/Uri;
            iconst_m1
            invokevirtual android.content.Context.revokeUriPermission:(Landroid/net/Uri;I)V
         2: .line 1164
            aload 2 /* context */
            aload 0 /* this */
            getfield android.provider.DocumentsProvider.mAuthority:Ljava/lang/String;
            aload 1 /* documentId */
            invokestatic android.provider.DocumentsContract.buildTreeDocumentUri:(Ljava/lang/String;Ljava/lang/String;)Landroid/net/Uri;
            iconst_m1
            invokevirtual android.content.Context.revokeUriPermission:(Landroid/net/Uri;I)V
         3: .line 1165
            return
        end local 2 // android.content.Context context
        end local 1 // java.lang.String documentId
        end local 0 // android.provider.DocumentsProvider this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    4     0        this  Landroid/provider/DocumentsProvider;
            0    4     1  documentId  Ljava/lang/String;
            1    4     2     context  Landroid/content/Context;
    MethodParameters:
            Name  Flags
      documentId  

  public final android.os.ParcelFileDescriptor openFile(android.net.Uri, java.lang.String);
    descriptor: (Landroid/net/Uri;Ljava/lang/String;)Landroid/os/ParcelFileDescriptor;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // android.provider.DocumentsProvider this
        start local 1 // android.net.Uri uri
        start local 2 // java.lang.String mode
         0: .line 1174
            aload 0 /* this */
            aload 1 /* uri */
            invokevirtual android.provider.DocumentsProvider.enforceTree:(Landroid/net/Uri;)V
         1: .line 1175
            aload 0 /* this */
            aload 1 /* uri */
            invokestatic android.provider.DocumentsContract.getDocumentId:(Landroid/net/Uri;)Ljava/lang/String;
            aload 2 /* mode */
            aconst_null
            invokevirtual android.provider.DocumentsProvider.openDocument:(Ljava/lang/String;Ljava/lang/String;Landroid/os/CancellationSignal;)Landroid/os/ParcelFileDescriptor;
            areturn
        end local 2 // java.lang.String mode
        end local 1 // android.net.Uri uri
        end local 0 // android.provider.DocumentsProvider this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Landroid/provider/DocumentsProvider;
            0    2     1   uri  Landroid/net/Uri;
            0    2     2  mode  Ljava/lang/String;
    Exceptions:
      throws java.io.FileNotFoundException
    MethodParameters:
      Name  Flags
      uri   
      mode  

  public final android.os.ParcelFileDescriptor openFile(android.net.Uri, java.lang.String, android.os.CancellationSignal);
    descriptor: (Landroid/net/Uri;Ljava/lang/String;Landroid/os/CancellationSignal;)Landroid/os/ParcelFileDescriptor;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=4, locals=4, args_size=4
        start local 0 // android.provider.DocumentsProvider this
        start local 1 // android.net.Uri uri
        start local 2 // java.lang.String mode
        start local 3 // android.os.CancellationSignal signal
         0: .line 1186
            aload 0 /* this */
            aload 1 /* uri */
            invokevirtual android.provider.DocumentsProvider.enforceTree:(Landroid/net/Uri;)V
         1: .line 1187
            aload 0 /* this */
            aload 1 /* uri */
            invokestatic android.provider.DocumentsContract.getDocumentId:(Landroid/net/Uri;)Ljava/lang/String;
            aload 2 /* mode */
            aload 3 /* signal */
            invokevirtual android.provider.DocumentsProvider.openDocument:(Ljava/lang/String;Ljava/lang/String;Landroid/os/CancellationSignal;)Landroid/os/ParcelFileDescriptor;
            areturn
        end local 3 // android.os.CancellationSignal signal
        end local 2 // java.lang.String mode
        end local 1 // android.net.Uri uri
        end local 0 // android.provider.DocumentsProvider this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0    this  Landroid/provider/DocumentsProvider;
            0    2     1     uri  Landroid/net/Uri;
            0    2     2    mode  Ljava/lang/String;
            0    2     3  signal  Landroid/os/CancellationSignal;
    Exceptions:
      throws java.io.FileNotFoundException
    MethodParameters:
        Name  Flags
      uri     
      mode    
      signal  

  public final android.content.res.AssetFileDescriptor openAssetFile(android.net.Uri, java.lang.String);
    descriptor: (Landroid/net/Uri;Ljava/lang/String;)Landroid/content/res/AssetFileDescriptor;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=7, locals=4, args_size=3
        start local 0 // android.provider.DocumentsProvider this
        start local 1 // android.net.Uri uri
        start local 2 // java.lang.String mode
         0: .line 1199
            aload 0 /* this */
            aload 1 /* uri */
            invokevirtual android.provider.DocumentsProvider.enforceTree:(Landroid/net/Uri;)V
         1: .line 1200
            aload 0 /* this */
            aload 1 /* uri */
            invokestatic android.provider.DocumentsContract.getDocumentId:(Landroid/net/Uri;)Ljava/lang/String;
            aload 2 /* mode */
            aconst_null
            invokevirtual android.provider.DocumentsProvider.openDocument:(Ljava/lang/String;Ljava/lang/String;Landroid/os/CancellationSignal;)Landroid/os/ParcelFileDescriptor;
            astore 3 /* fd */
        start local 3 // android.os.ParcelFileDescriptor fd
         2: .line 1201
            aload 3 /* fd */
            ifnull 3
            new android.content.res.AssetFileDescriptor
            dup
            aload 3 /* fd */
            lconst_0
            ldc -1
            invokespecial android.content.res.AssetFileDescriptor.<init>:(Landroid/os/ParcelFileDescriptor;JJ)V
            goto 4
      StackMap locals: android.os.ParcelFileDescriptor
      StackMap stack:
         3: aconst_null
      StackMap locals:
      StackMap stack: android.content.res.AssetFileDescriptor
         4: areturn
        end local 3 // android.os.ParcelFileDescriptor fd
        end local 2 // java.lang.String mode
        end local 1 // android.net.Uri uri
        end local 0 // android.provider.DocumentsProvider this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Landroid/provider/DocumentsProvider;
            0    5     1   uri  Landroid/net/Uri;
            0    5     2  mode  Ljava/lang/String;
            2    5     3    fd  Landroid/os/ParcelFileDescriptor;
    Exceptions:
      throws java.io.FileNotFoundException
    MethodParameters:
      Name  Flags
      uri   
      mode  

  public final android.content.res.AssetFileDescriptor openAssetFile(android.net.Uri, java.lang.String, android.os.CancellationSignal);
    descriptor: (Landroid/net/Uri;Ljava/lang/String;Landroid/os/CancellationSignal;)Landroid/content/res/AssetFileDescriptor;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=7, locals=5, args_size=4
        start local 0 // android.provider.DocumentsProvider this
        start local 1 // android.net.Uri uri
        start local 2 // java.lang.String mode
        start local 3 // android.os.CancellationSignal signal
         0: .line 1213
            aload 0 /* this */
            aload 1 /* uri */
            invokevirtual android.provider.DocumentsProvider.enforceTree:(Landroid/net/Uri;)V
         1: .line 1214
            aload 0 /* this */
            aload 1 /* uri */
            invokestatic android.provider.DocumentsContract.getDocumentId:(Landroid/net/Uri;)Ljava/lang/String;
            aload 2 /* mode */
            aload 3 /* signal */
            invokevirtual android.provider.DocumentsProvider.openDocument:(Ljava/lang/String;Ljava/lang/String;Landroid/os/CancellationSignal;)Landroid/os/ParcelFileDescriptor;
            astore 4 /* fd */
        start local 4 // android.os.ParcelFileDescriptor fd
         2: .line 1215
            aload 4 /* fd */
            ifnull 3
            new android.content.res.AssetFileDescriptor
            dup
            aload 4 /* fd */
            lconst_0
            ldc -1
            invokespecial android.content.res.AssetFileDescriptor.<init>:(Landroid/os/ParcelFileDescriptor;JJ)V
            goto 4
      StackMap locals: android.os.ParcelFileDescriptor
      StackMap stack:
         3: aconst_null
      StackMap locals:
      StackMap stack: android.content.res.AssetFileDescriptor
         4: areturn
        end local 4 // android.os.ParcelFileDescriptor fd
        end local 3 // android.os.CancellationSignal signal
        end local 2 // java.lang.String mode
        end local 1 // android.net.Uri uri
        end local 0 // android.provider.DocumentsProvider this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    5     0    this  Landroid/provider/DocumentsProvider;
            0    5     1     uri  Landroid/net/Uri;
            0    5     2    mode  Ljava/lang/String;
            0    5     3  signal  Landroid/os/CancellationSignal;
            2    5     4      fd  Landroid/os/ParcelFileDescriptor;
    Exceptions:
      throws java.io.FileNotFoundException
    MethodParameters:
        Name  Flags
      uri     
      mode    
      signal  

  public final android.content.res.AssetFileDescriptor openTypedAssetFile(android.net.Uri, java.lang.String, android.os.Bundle);
    descriptor: (Landroid/net/Uri;Ljava/lang/String;Landroid/os/Bundle;)Landroid/content/res/AssetFileDescriptor;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=5, locals=4, args_size=4
        start local 0 // android.provider.DocumentsProvider this
        start local 1 // android.net.Uri uri
        start local 2 // java.lang.String mimeTypeFilter
        start local 3 // android.os.Bundle opts
         0: .line 1228
            aload 0 /* this */
            aload 1 /* uri */
            aload 2 /* mimeTypeFilter */
            aload 3 /* opts */
            aconst_null
            invokevirtual android.provider.DocumentsProvider.openTypedAssetFileImpl:(Landroid/net/Uri;Ljava/lang/String;Landroid/os/Bundle;Landroid/os/CancellationSignal;)Landroid/content/res/AssetFileDescriptor;
            areturn
        end local 3 // android.os.Bundle opts
        end local 2 // java.lang.String mimeTypeFilter
        end local 1 // android.net.Uri uri
        end local 0 // android.provider.DocumentsProvider this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    1     0            this  Landroid/provider/DocumentsProvider;
            0    1     1             uri  Landroid/net/Uri;
            0    1     2  mimeTypeFilter  Ljava/lang/String;
            0    1     3            opts  Landroid/os/Bundle;
    Exceptions:
      throws java.io.FileNotFoundException
    MethodParameters:
                Name  Flags
      uri             
      mimeTypeFilter  
      opts            

  public final android.content.res.AssetFileDescriptor openTypedAssetFile(android.net.Uri, java.lang.String, android.os.Bundle, android.os.CancellationSignal);
    descriptor: (Landroid/net/Uri;Ljava/lang/String;Landroid/os/Bundle;Landroid/os/CancellationSignal;)Landroid/content/res/AssetFileDescriptor;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=5, locals=5, args_size=5
        start local 0 // android.provider.DocumentsProvider this
        start local 1 // android.net.Uri uri
        start local 2 // java.lang.String mimeTypeFilter
        start local 3 // android.os.Bundle opts
        start local 4 // android.os.CancellationSignal signal
         0: .line 1242
            aload 0 /* this */
            aload 1 /* uri */
            aload 2 /* mimeTypeFilter */
            aload 3 /* opts */
            aload 4 /* signal */
            invokevirtual android.provider.DocumentsProvider.openTypedAssetFileImpl:(Landroid/net/Uri;Ljava/lang/String;Landroid/os/Bundle;Landroid/os/CancellationSignal;)Landroid/content/res/AssetFileDescriptor;
            areturn
        end local 4 // android.os.CancellationSignal signal
        end local 3 // android.os.Bundle opts
        end local 2 // java.lang.String mimeTypeFilter
        end local 1 // android.net.Uri uri
        end local 0 // android.provider.DocumentsProvider this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    1     0            this  Landroid/provider/DocumentsProvider;
            0    1     1             uri  Landroid/net/Uri;
            0    1     2  mimeTypeFilter  Ljava/lang/String;
            0    1     3            opts  Landroid/os/Bundle;
            0    1     4          signal  Landroid/os/CancellationSignal;
    Exceptions:
      throws java.io.FileNotFoundException
    MethodParameters:
                Name  Flags
      uri             
      mimeTypeFilter  
      opts            
      signal          

  public java.lang.String[] getDocumentStreamTypes(java.lang.String, java.lang.String);
    descriptor: (Ljava/lang/String;Ljava/lang/String;)[Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // android.provider.DocumentsProvider this
         0: .line 1275
            new java.lang.Error
            dup
            ldc "Unresolved compilation problem: \n\tIoUtils cannot be resolved\n"
            invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
            athrow
        end local 0 // android.provider.DocumentsProvider this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Landroid/provider/DocumentsProvider;
    MethodParameters:
                Name  Flags
      documentId      
      mimeTypeFilter  

  public java.lang.String[] getStreamTypes(android.net.Uri, java.lang.String);
    descriptor: (Landroid/net/Uri;Ljava/lang/String;)[Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // android.provider.DocumentsProvider this
        start local 1 // android.net.Uri uri
        start local 2 // java.lang.String mimeTypeFilter
         0: .line 1292
            aload 0 /* this */
            aload 1 /* uri */
            invokevirtual android.provider.DocumentsProvider.enforceTree:(Landroid/net/Uri;)V
         1: .line 1293
            aload 0 /* this */
            aload 1 /* uri */
            invokestatic android.provider.DocumentsContract.getDocumentId:(Landroid/net/Uri;)Ljava/lang/String;
            aload 2 /* mimeTypeFilter */
            invokevirtual android.provider.DocumentsProvider.getDocumentStreamTypes:(Ljava/lang/String;Ljava/lang/String;)[Ljava/lang/String;
            areturn
        end local 2 // java.lang.String mimeTypeFilter
        end local 1 // android.net.Uri uri
        end local 0 // android.provider.DocumentsProvider this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    2     0            this  Landroid/provider/DocumentsProvider;
            0    2     1             uri  Landroid/net/Uri;
            0    2     2  mimeTypeFilter  Ljava/lang/String;
    MethodParameters:
                Name  Flags
      uri             
      mimeTypeFilter  

  private final android.content.res.AssetFileDescriptor openTypedAssetFileImpl(android.net.Uri, java.lang.String, android.os.Bundle, android.os.CancellationSignal);
    descriptor: (Landroid/net/Uri;Ljava/lang/String;Landroid/os/Bundle;Landroid/os/CancellationSignal;)Landroid/content/res/AssetFileDescriptor;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Code:
      stack=5, locals=7, args_size=5
        start local 0 // android.provider.DocumentsProvider this
        start local 1 // android.net.Uri uri
        start local 2 // java.lang.String mimeTypeFilter
        start local 3 // android.os.Bundle opts
        start local 4 // android.os.CancellationSignal signal
         0: .line 1302
            aload 0 /* this */
            aload 1 /* uri */
            invokevirtual android.provider.DocumentsProvider.enforceTree:(Landroid/net/Uri;)V
         1: .line 1303
            aload 1 /* uri */
            invokestatic android.provider.DocumentsContract.getDocumentId:(Landroid/net/Uri;)Ljava/lang/String;
            astore 5 /* documentId */
        start local 5 // java.lang.String documentId
         2: .line 1304
            aload 3 /* opts */
            ifnull 5
            aload 3 /* opts */
            ldc "android.content.extra.SIZE"
            invokevirtual android.os.Bundle.containsKey:(Ljava/lang/String;)Z
            ifeq 5
         3: .line 1305
            aload 3 /* opts */
            ldc "android.content.extra.SIZE"
            invokevirtual android.os.Bundle.getParcelable:(Ljava/lang/String;)Landroid/os/Parcelable;
            checkcast android.graphics.Point
            astore 6 /* sizeHint */
        start local 6 // android.graphics.Point sizeHint
         4: .line 1306
            aload 0 /* this */
            aload 5 /* documentId */
            aload 6 /* sizeHint */
            aload 4 /* signal */
            invokevirtual android.provider.DocumentsProvider.openDocumentThumbnail:(Ljava/lang/String;Landroid/graphics/Point;Landroid/os/CancellationSignal;)Landroid/content/res/AssetFileDescriptor;
            areturn
        end local 6 // android.graphics.Point sizeHint
         5: .line 1308
      StackMap locals: java.lang.String
      StackMap stack:
            ldc "*/*"
            aload 2 /* mimeTypeFilter */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 7
         6: .line 1310
            aload 0 /* this */
            aload 1 /* uri */
            ldc "r"
            invokevirtual android.provider.DocumentsProvider.openAssetFile:(Landroid/net/Uri;Ljava/lang/String;)Landroid/content/res/AssetFileDescriptor;
            areturn
         7: .line 1312
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* uri */
            invokevirtual android.provider.DocumentsProvider.getType:(Landroid/net/Uri;)Ljava/lang/String;
            astore 6 /* baseType */
        start local 6 // java.lang.String baseType
         8: .line 1313
            aload 6 /* baseType */
            ifnull 10
            aload 6 /* baseType */
            aload 2 /* mimeTypeFilter */
            invokestatic android.content.ClipDescription.compareMimeTypes:(Ljava/lang/String;Ljava/lang/String;)Z
            ifeq 10
         9: .line 1316
            aload 0 /* this */
            aload 1 /* uri */
            ldc "r"
            invokevirtual android.provider.DocumentsProvider.openAssetFile:(Landroid/net/Uri;Ljava/lang/String;)Landroid/content/res/AssetFileDescriptor;
            areturn
        10: .line 1319
      StackMap locals: java.lang.String
      StackMap stack:
            aload 0 /* this */
            aload 5 /* documentId */
            aload 2 /* mimeTypeFilter */
            aload 3 /* opts */
            aload 4 /* signal */
            invokevirtual android.provider.DocumentsProvider.openTypedDocument:(Ljava/lang/String;Ljava/lang/String;Landroid/os/Bundle;Landroid/os/CancellationSignal;)Landroid/content/res/AssetFileDescriptor;
            areturn
        end local 6 // java.lang.String baseType
        end local 5 // java.lang.String documentId
        end local 4 // android.os.CancellationSignal signal
        end local 3 // android.os.Bundle opts
        end local 2 // java.lang.String mimeTypeFilter
        end local 1 // android.net.Uri uri
        end local 0 // android.provider.DocumentsProvider this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   11     0            this  Landroid/provider/DocumentsProvider;
            0   11     1             uri  Landroid/net/Uri;
            0   11     2  mimeTypeFilter  Ljava/lang/String;
            0   11     3            opts  Landroid/os/Bundle;
            0   11     4          signal  Landroid/os/CancellationSignal;
            2   11     5      documentId  Ljava/lang/String;
            4    5     6        sizeHint  Landroid/graphics/Point;
            8   11     6        baseType  Ljava/lang/String;
    Exceptions:
      throws java.io.FileNotFoundException
    MethodParameters:
                Name  Flags
      uri             
      mimeTypeFilter  
      opts            
      signal          

  public static boolean mimeTypeMatches(java.lang.String, java.lang.String);
    descriptor: (Ljava/lang/String;Ljava/lang/String;)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=6, locals=2, args_size=2
        start local 0 // java.lang.String filter
        start local 1 // java.lang.String test
         0: .line 1326
            aload 1 /* test */
            ifnonnull 2
         1: .line 1327
            iconst_0
            ireturn
         2: .line 1328
      StackMap locals:
      StackMap stack:
            aload 0 /* filter */
            ifnull 3
            ldc "*/*"
            aload 0 /* filter */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 4
         3: .line 1329
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
         4: .line 1330
      StackMap locals:
      StackMap stack:
            aload 0 /* filter */
            aload 1 /* test */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 6
         5: .line 1331
            iconst_1
            ireturn
         6: .line 1332
      StackMap locals:
      StackMap stack:
            aload 0 /* filter */
            ldc "/*"
            invokevirtual java.lang.String.endsWith:(Ljava/lang/String;)Z
            ifeq 8
         7: .line 1333
            aload 0 /* filter */
            iconst_0
            aload 1 /* test */
            iconst_0
            aload 0 /* filter */
            bipush 47
            invokevirtual java.lang.String.indexOf:(I)I
            invokevirtual java.lang.String.regionMatches:(ILjava/lang/String;II)Z
            ireturn
         8: .line 1335
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 1 // java.lang.String test
        end local 0 // java.lang.String filter
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    9     0  filter  Ljava/lang/String;
            0    9     1    test  Ljava/lang/String;
    MethodParameters:
        Name  Flags
      filter  
      test    
}
SourceFile: "DocumentsProvider.java"
InnerClasses:
  public final Path = android.provider.DocumentsContract$Path of android.provider.DocumentsContract