public class com.android.externalstorage.TestDocumentsProvider extends android.provider.DocumentsProvider
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: com.android.externalstorage.TestDocumentsProvider
super_class: android.provider.DocumentsProvider
{
private static final java.lang.String TAG;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "TestDocuments"
private static final boolean LAG;
descriptor: Z
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 0
private static final boolean ROOT_LAME_PROJECTION;
descriptor: Z
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 0
private static final boolean DOCUMENT_LAME_PROJECTION;
descriptor: Z
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 0
private static final boolean ROOTS_WEDGE;
descriptor: Z
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 0
private static final boolean ROOTS_CRASH;
descriptor: Z
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 0
private static final boolean ROOTS_REFRESH;
descriptor: Z
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 0
private static final boolean DOCUMENT_CRASH;
descriptor: Z
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 0
private static final boolean RECENT_WEDGE;
descriptor: Z
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 0
private static final boolean CHILD_WEDGE;
descriptor: Z
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 0
private static final boolean CHILD_CRASH;
descriptor: Z
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 0
private static final boolean THUMB_HUNDREDS;
descriptor: Z
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 0
private static final boolean THUMB_WEDGE;
descriptor: Z
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 0
private static final boolean THUMB_CRASH;
descriptor: Z
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 0
private static final java.lang.String MY_ROOT_ID;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "myRoot"
private static final java.lang.String MY_DOC_ID;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "myDoc"
private static final java.lang.String MY_DOC_NULL;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "myNull"
private static final java.lang.String[] DEFAULT_ROOT_PROJECTION;
descriptor: [Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final java.lang.String[] DEFAULT_DOCUMENT_PROJECTION;
descriptor: [Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private java.lang.String mAuthority;
descriptor: Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
private java.lang.ref.WeakReference<com.android.externalstorage.TestDocumentsProvider$CloudTask> mTask;
descriptor: Ljava/lang/ref/WeakReference;
flags: (0x0002) ACC_PRIVATE
Signature: Ljava/lang/ref/WeakReference<Lcom/android/externalstorage/TestDocumentsProvider$CloudTask;>;
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=4, locals=0, args_size=0
0: bipush 7
anewarray java.lang.String
dup
iconst_0
1: ldc "root_id"
aastore
dup
iconst_1
ldc "flags"
aastore
dup
iconst_2
ldc "icon"
aastore
dup
iconst_3
2: ldc "title"
aastore
dup
iconst_4
ldc "summary"
aastore
dup
iconst_5
ldc "document_id"
aastore
dup
bipush 6
3: ldc "available_bytes"
aastore
4: putstatic com.android.externalstorage.TestDocumentsProvider.DEFAULT_ROOT_PROJECTION:[Ljava/lang/String;
5: bipush 6
anewarray java.lang.String
dup
iconst_0
6: ldc "document_id"
aastore
dup
iconst_1
ldc "mime_type"
aastore
dup
iconst_2
ldc "_display_name"
aastore
dup
iconst_3
7: ldc "last_modified"
aastore
dup
iconst_4
ldc "flags"
aastore
dup
iconst_5
ldc "_size"
aastore
8: putstatic com.android.externalstorage.TestDocumentsProvider.DEFAULT_DOCUMENT_PROJECTION:[Ljava/lang/String;
9: return
LocalVariableTable:
Start End Slot Name Signature
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokespecial android.provider.DocumentsProvider.<init>:()V
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/android/externalstorage/TestDocumentsProvider;
private static java.lang.String[] resolveRootProjection(java.lang.String[]);
descriptor: ([Ljava/lang/String;)[Ljava/lang/String;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
ifnull 1
aload 0
goto 2
StackMap locals:
StackMap stack:
1: getstatic com.android.externalstorage.TestDocumentsProvider.DEFAULT_ROOT_PROJECTION:[Ljava/lang/String;
StackMap locals:
StackMap stack: java.lang.String[]
2: areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 projection [Ljava/lang/String;
MethodParameters:
Name Flags
projection
private static java.lang.String[] resolveDocumentProjection(java.lang.String[]);
descriptor: ([Ljava/lang/String;)[Ljava/lang/String;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
ifnull 1
aload 0
goto 2
StackMap locals:
StackMap stack:
1: getstatic com.android.externalstorage.TestDocumentsProvider.DEFAULT_DOCUMENT_PROJECTION:[Ljava/lang/String;
StackMap locals:
StackMap stack: java.lang.String[]
2: areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 projection [Ljava/lang/String;
MethodParameters:
Name Flags
projection
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 start local 1 start local 2 0: aload 0
aload 2
getfield android.content.pm.ProviderInfo.authority:Ljava/lang/String;
putfield com.android.externalstorage.TestDocumentsProvider.mAuthority:Ljava/lang/String;
1: aload 0
aload 1
aload 2
invokespecial android.provider.DocumentsProvider.attachInfo:(Landroid/content/Context;Landroid/content/pm/ProviderInfo;)V
2: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/android/externalstorage/TestDocumentsProvider;
0 3 1 context Landroid/content/Context;
0 3 2 info Landroid/content/pm/ProviderInfo;
MethodParameters:
Name Flags
context
info
public android.database.Cursor queryRoots(java.lang.String[]);
descriptor: ([Ljava/lang/String;)Landroid/database/Cursor;
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=4, args_size=2
start local 0 start local 1 0: ldc "TestDocuments"
ldc "Someone asked for our roots!"
invokestatic android.util.Log.d:(Ljava/lang/String;Ljava/lang/String;)I
pop
1: new android.database.MatrixCursor
dup
aload 1
invokestatic com.android.externalstorage.TestDocumentsProvider.resolveRootProjection:([Ljava/lang/String;)[Ljava/lang/String;
invokespecial android.database.MatrixCursor.<init>:([Ljava/lang/String;)V
astore 2
start local 2 2: aload 2
invokevirtual android.database.MatrixCursor.newRow:()Landroid/database/MatrixCursor$RowBuilder;
astore 3
start local 3 3: aload 3
ldc "root_id"
ldc "myRoot"
invokevirtual android.database.MatrixCursor$RowBuilder.add:(Ljava/lang/String;Ljava/lang/Object;)Landroid/database/MatrixCursor$RowBuilder;
pop
4: aload 3
ldc "flags"
iconst_5
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
invokevirtual android.database.MatrixCursor$RowBuilder.add:(Ljava/lang/String;Ljava/lang/Object;)Landroid/database/MatrixCursor$RowBuilder;
pop
5: aload 3
ldc "title"
ldc "_Test title which is really long"
invokevirtual android.database.MatrixCursor$RowBuilder.add:(Ljava/lang/String;Ljava/lang/Object;)Landroid/database/MatrixCursor$RowBuilder;
pop
6: aload 3
ldc "summary"
7: new java.lang.StringBuilder
dup
invokestatic android.os.SystemClock.elapsedRealtime:()J
invokestatic java.lang.String.valueOf:(J)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc " summary which is also super long text"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
8: invokevirtual android.database.MatrixCursor$RowBuilder.add:(Ljava/lang/String;Ljava/lang/Object;)Landroid/database/MatrixCursor$RowBuilder;
pop
9: aload 3
ldc "document_id"
ldc "myDoc"
invokevirtual android.database.MatrixCursor$RowBuilder.add:(Ljava/lang/String;Ljava/lang/Object;)Landroid/database/MatrixCursor$RowBuilder;
pop
10: aload 3
ldc "available_bytes"
sipush 1024
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
invokevirtual android.database.MatrixCursor$RowBuilder.add:(Ljava/lang/String;Ljava/lang/Object;)Landroid/database/MatrixCursor$RowBuilder;
pop
11: aload 2
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Lcom/android/externalstorage/TestDocumentsProvider;
0 12 1 projection [Ljava/lang/String;
2 12 2 result Landroid/database/MatrixCursor;
3 12 3 row Landroid/database/MatrixCursor$RowBuilder;
Exceptions:
throws java.io.FileNotFoundException
MethodParameters:
Name Flags
projection
public android.database.Cursor queryDocument(java.lang.String, java.lang.String[]);
descriptor: (Ljava/lang/String;[Ljava/lang/String;)Landroid/database/Cursor;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=4, args_size=3
start local 0 start local 1 start local 2 0: new android.database.MatrixCursor
dup
aload 2
invokestatic com.android.externalstorage.TestDocumentsProvider.resolveDocumentProjection:([Ljava/lang/String;)[Ljava/lang/String;
invokespecial android.database.MatrixCursor.<init>:([Ljava/lang/String;)V
astore 3
start local 3 1: aload 3
aload 1
iconst_0
invokestatic com.android.externalstorage.TestDocumentsProvider.includeFile:(Landroid/database/MatrixCursor;Ljava/lang/String;I)V
2: aload 3
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/android/externalstorage/TestDocumentsProvider;
0 3 1 documentId Ljava/lang/String;
0 3 2 projection [Ljava/lang/String;
1 3 3 result Landroid/database/MatrixCursor;
Exceptions:
throws java.io.FileNotFoundException
MethodParameters:
Name Flags
documentId
projection
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=4, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
aload 1
aload 2
aload 3
invokespecial android.provider.DocumentsProvider.createDocument:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/android/externalstorage/TestDocumentsProvider;
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 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: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=9, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
invokevirtual com.android.externalstorage.TestDocumentsProvider.getContext:()Landroid/content/Context;
invokevirtual android.content.Context.getContentResolver:()Landroid/content/ContentResolver;
astore 4
start local 4 1: ldc "com.example.documents"
aload 1
2: invokestatic android.provider.DocumentsContract.buildDocumentUri:(Ljava/lang/String;Ljava/lang/String;)Landroid/net/Uri;
astore 5
start local 5 3: new com.android.externalstorage.TestDocumentsProvider$CloudCursor
dup
aload 2
invokestatic com.android.externalstorage.TestDocumentsProvider.resolveDocumentProjection:([Ljava/lang/String;)[Ljava/lang/String;
invokespecial com.android.externalstorage.TestDocumentsProvider$CloudCursor.<init>:([Ljava/lang/String;)V
astore 6
start local 6 4: aload 6
aload 4
aload 5
invokevirtual com.android.externalstorage.TestDocumentsProvider$CloudCursor.setNotificationUri:(Landroid/content/ContentResolver;Landroid/net/Uri;)V
5: aload 6
ldc "myNull"
iconst_0
invokestatic com.android.externalstorage.TestDocumentsProvider.includeFile:(Landroid/database/MatrixCursor;Ljava/lang/String;I)V
6: aload 6
ldc "localfile1"
iconst_0
invokestatic com.android.externalstorage.TestDocumentsProvider.includeFile:(Landroid/database/MatrixCursor;Ljava/lang/String;I)V
7: aload 6
ldc "localfile2"
iconst_1
invokestatic com.android.externalstorage.TestDocumentsProvider.includeFile:(Landroid/database/MatrixCursor;Ljava/lang/String;I)V
8: aload 6
ldc "localfile3"
iconst_0
invokestatic com.android.externalstorage.TestDocumentsProvider.includeFile:(Landroid/database/MatrixCursor;Ljava/lang/String;I)V
9: aload 6
ldc "localfile4"
iconst_0
invokestatic com.android.externalstorage.TestDocumentsProvider.includeFile:(Landroid/database/MatrixCursor;Ljava/lang/String;I)V
10: aload 0
dup
astore 7
monitorenter
11: aload 0
getfield com.android.externalstorage.TestDocumentsProvider.mTask:Ljava/lang/ref/WeakReference;
ifnull 12
aload 0
getfield com.android.externalstorage.TestDocumentsProvider.mTask:Ljava/lang/ref/WeakReference;
invokevirtual java.lang.ref.WeakReference.get:()Ljava/lang/Object;
checkcast com.android.externalstorage.TestDocumentsProvider$CloudTask
goto 13
StackMap locals: com.android.externalstorage.TestDocumentsProvider java.lang.String java.lang.String[] java.lang.String android.content.ContentResolver android.net.Uri com.android.externalstorage.TestDocumentsProvider$CloudCursor com.android.externalstorage.TestDocumentsProvider
StackMap stack:
12: aconst_null
StackMap locals:
StackMap stack: com.android.externalstorage.TestDocumentsProvider$CloudTask
13: astore 8
start local 8 14: aload 8
ifnonnull 21
15: ldc "TestDocuments"
ldc "No network task found; starting!"
invokestatic android.util.Log.d:(Ljava/lang/String;Ljava/lang/String;)I
pop
16: new com.android.externalstorage.TestDocumentsProvider$CloudTask
dup
aload 4
aload 5
invokespecial com.android.externalstorage.TestDocumentsProvider$CloudTask.<init>:(Landroid/content/ContentResolver;Landroid/net/Uri;)V
astore 8
17: aload 0
new java.lang.ref.WeakReference
dup
aload 8
invokespecial java.lang.ref.WeakReference.<init>:(Ljava/lang/Object;)V
putfield com.android.externalstorage.TestDocumentsProvider.mTask:Ljava/lang/ref/WeakReference;
18: new java.lang.Thread
dup
aload 8
invokespecial java.lang.Thread.<init>:(Ljava/lang/Runnable;)V
invokevirtual java.lang.Thread.start:()V
19: new com.android.externalstorage.TestDocumentsProvider$1
dup
aload 0
invokespecial com.android.externalstorage.TestDocumentsProvider$1.<init>:(Lcom/android/externalstorage/TestDocumentsProvider;)V
20: invokevirtual com.android.externalstorage.TestDocumentsProvider$1.start:()V
21: StackMap locals: com.android.externalstorage.TestDocumentsProvider$CloudTask
StackMap stack:
aload 8
aload 6
invokevirtual com.android.externalstorage.TestDocumentsProvider$CloudTask.includeIfFinished:(Landroid/database/MatrixCursor;)Z
ifeq 29
22: aload 6
getfield com.android.externalstorage.TestDocumentsProvider$CloudCursor.extras:Landroid/os/Bundle;
ldc "info"
23: ldc "Everything Went Better Than Expected and this message is quite long and verbose and maybe even too long"
24: invokevirtual android.os.Bundle.putString:(Ljava/lang/String;Ljava/lang/String;)V
25: aload 6
getfield com.android.externalstorage.TestDocumentsProvider$CloudCursor.extras:Landroid/os/Bundle;
ldc "error"
26: ldc "But then again, maybe our server ran into an error, which means we're going to have a bad time"
27: invokevirtual android.os.Bundle.putString:(Ljava/lang/String;Ljava/lang/String;)V
28: goto 30
29: StackMap locals:
StackMap stack:
aload 6
getfield com.android.externalstorage.TestDocumentsProvider$CloudCursor.extras:Landroid/os/Bundle;
ldc "loading"
iconst_1
invokevirtual android.os.Bundle.putBoolean:(Ljava/lang/String;Z)V
30: StackMap locals:
StackMap stack:
aload 6
aload 8
putfield com.android.externalstorage.TestDocumentsProvider$CloudCursor.keepAlive:Ljava/lang/Object;
31: aload 6
aload 7
monitorexit
32: areturn
end local 8 33: StackMap locals: com.android.externalstorage.TestDocumentsProvider java.lang.String java.lang.String[] java.lang.String android.content.ContentResolver android.net.Uri com.android.externalstorage.TestDocumentsProvider$CloudCursor com.android.externalstorage.TestDocumentsProvider
StackMap stack: java.lang.Throwable
aload 7
monitorexit
34: athrow
end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 35 0 this Lcom/android/externalstorage/TestDocumentsProvider;
0 35 1 parentDocumentId Ljava/lang/String;
0 35 2 projection [Ljava/lang/String;
0 35 3 sortOrder Ljava/lang/String;
1 35 4 resolver Landroid/content/ContentResolver;
3 35 5 notifyUri Landroid/net/Uri;
4 35 6 result Lcom/android/externalstorage/TestDocumentsProvider$CloudCursor;
14 33 8 task Lcom/android/externalstorage/TestDocumentsProvider$CloudTask;
Exception table:
from to target type
11 32 33 any
33 34 33 any
Exceptions:
throws java.io.FileNotFoundException
MethodParameters:
Name Flags
parentDocumentId
projection
sortOrder
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=4, args_size=3
start local 0 start local 1 start local 2 0: ldc 3000
invokestatic android.os.SystemClock.sleep:(J)V
1: new android.database.MatrixCursor
dup
aload 2
invokestatic com.android.externalstorage.TestDocumentsProvider.resolveDocumentProjection:([Ljava/lang/String;)[Ljava/lang/String;
invokespecial android.database.MatrixCursor.<init>:([Ljava/lang/String;)V
astore 3
start local 3 2: aload 3
ldc "It was /worth/ the_wait for?the file:with the&incredibly long name"
iconst_0
3: invokestatic com.android.externalstorage.TestDocumentsProvider.includeFile:(Landroid/database/MatrixCursor;Ljava/lang/String;I)V
4: aload 3
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lcom/android/externalstorage/TestDocumentsProvider;
0 5 1 rootId Ljava/lang/String;
0 5 2 projection [Ljava/lang/String;
2 5 3 result Landroid/database/MatrixCursor;
Exceptions:
throws java.io.FileNotFoundException
MethodParameters:
Name Flags
rootId
projection
public 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: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: new java.io.FileNotFoundException
dup
invokespecial java.io.FileNotFoundException.<init>:()V
athrow
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/android/externalstorage/TestDocumentsProvider;
0 1 1 docId Ljava/lang/String;
0 1 2 mode Ljava/lang/String;
0 1 3 signal Landroid/os/CancellationSignal;
Exceptions:
throws java.io.FileNotFoundException
MethodParameters:
Name Flags
docId
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=7, locals=9, args_size=4
start local 0 start local 1 start local 2 start local 3 0: bipush 32
bipush 32
getstatic android.graphics.Bitmap$Config.ARGB_8888:Landroid/graphics/Bitmap$Config;
invokestatic android.graphics.Bitmap.createBitmap:(IILandroid/graphics/Bitmap$Config;)Landroid/graphics/Bitmap;
astore 4
start local 4 1: new android.graphics.Canvas
dup
aload 4
invokespecial android.graphics.Canvas.<init>:(Landroid/graphics/Bitmap;)V
astore 5
start local 5 2: new android.graphics.Paint
dup
invokespecial android.graphics.Paint.<init>:()V
astore 6
start local 6 3: aload 6
ldc -16776961
invokevirtual android.graphics.Paint.setColor:(I)V
4: aload 5
ldc -65536
invokevirtual android.graphics.Canvas.drawColor:(I)V
5: aload 5
fconst_0
fconst_0
ldc 32.0
ldc 32.0
aload 6
invokevirtual android.graphics.Canvas.drawLine:(FFFFLandroid/graphics/Paint;)V
6: new java.io.ByteArrayOutputStream
dup
invokespecial java.io.ByteArrayOutputStream.<init>:()V
astore 7
start local 7 7: aload 4
getstatic android.graphics.Bitmap$CompressFormat.JPEG:Landroid/graphics/Bitmap$CompressFormat;
bipush 50
aload 7
invokevirtual android.graphics.Bitmap.compress:(Landroid/graphics/Bitmap$CompressFormat;ILjava/io/OutputStream;)Z
pop
8: new java.io.ByteArrayInputStream
aload 7
invokevirtual java.io.ByteArrayOutputStream.toByteArray:()[B
invokespecial java.io.ByteArrayInputStream.<init>:([B)V
9: invokestatic android.os.ParcelFileDescriptor.createReliablePipe:()[Landroid/os/ParcelFileDescriptor;
astore 8
start local 8 10: new com.android.externalstorage.TestDocumentsProvider$2
dup
aload 0
invokespecial com.android.externalstorage.TestDocumentsProvider$2.<init>:(Lcom/android/externalstorage/TestDocumentsProvider;)V
11: getstatic android.os.AsyncTask.THREAD_POOL_EXECUTOR:Ljava/util/concurrent/Executor;
iconst_0
anewarray java.lang.Object
invokevirtual com.android.externalstorage.TestDocumentsProvider$2.executeOnExecutor:(Ljava/util/concurrent/Executor;[Ljava/lang/Object;)Landroid/os/AsyncTask;
pop
12: new android.content.res.AssetFileDescriptor
dup
aload 8
iconst_0
aaload
lconst_0
ldc -1
invokespecial android.content.res.AssetFileDescriptor.<init>:(Landroid/os/ParcelFileDescriptor;JJ)V
13: areturn
end local 8 14: StackMap locals: com.android.externalstorage.TestDocumentsProvider java.lang.String android.graphics.Point android.os.CancellationSignal android.graphics.Bitmap android.graphics.Canvas android.graphics.Paint java.io.ByteArrayOutputStream
StackMap stack: java.io.IOException
astore 8
start local 8 15: new java.io.FileNotFoundException
dup
aload 8
invokevirtual java.io.IOException.getMessage:()Ljava/lang/String;
invokespecial java.io.FileNotFoundException.<init>:(Ljava/lang/String;)V
athrow
end local 8 end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 16 0 this Lcom/android/externalstorage/TestDocumentsProvider;
0 16 1 docId Ljava/lang/String;
0 16 2 sizeHint Landroid/graphics/Point;
0 16 3 signal Landroid/os/CancellationSignal;
1 16 4 bitmap Landroid/graphics/Bitmap;
2 16 5 canvas Landroid/graphics/Canvas;
3 16 6 paint Landroid/graphics/Paint;
7 16 7 bos Ljava/io/ByteArrayOutputStream;
10 14 8 fds [Landroid/os/ParcelFileDescriptor;
15 16 8 e Ljava/io/IOException;
Exception table:
from to target type
9 13 14 Class java.io.IOException
Exceptions:
throws java.io.FileNotFoundException
MethodParameters:
Name Flags
docId
sizeHint
signal
public boolean onCreate();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: iconst_1
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/android/externalstorage/TestDocumentsProvider;
private static void lagUntilCanceled(android.os.CancellationSignal);
descriptor: (Landroid/os/CancellationSignal;)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
ldc 1500
invokestatic com.android.externalstorage.TestDocumentsProvider.waitForCancelOrTimeout:(Landroid/os/CancellationSignal;J)V
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 signal Landroid/os/CancellationSignal;
MethodParameters:
Name Flags
signal
private static void wedgeUntilCanceled(android.os.CancellationSignal);
descriptor: (Landroid/os/CancellationSignal;)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
ldc 2147483647
invokestatic com.android.externalstorage.TestDocumentsProvider.waitForCancelOrTimeout:(Landroid/os/CancellationSignal;J)V
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 signal Landroid/os/CancellationSignal;
MethodParameters:
Name Flags
signal
private static void waitForCancelOrTimeout(android.os.CancellationSignal, long);
descriptor: (Landroid/os/CancellationSignal;J)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=4, args_size=2
start local 0 start local 1 0: aload 0
ifnull 4
1: invokestatic java.lang.Thread.currentThread:()Ljava/lang/Thread;
astore 3
start local 3 2: aload 0
new com.android.externalstorage.TestDocumentsProvider$3
dup
aload 3
invokespecial com.android.externalstorage.TestDocumentsProvider$3.<init>:(Ljava/lang/Thread;)V
invokevirtual android.os.CancellationSignal.setOnCancelListener:(Landroid/os/CancellationSignal$OnCancelListener;)V
3: aload 0
invokevirtual android.os.CancellationSignal.throwIfCanceled:()V
end local 3 4: StackMap locals:
StackMap stack:
lload 1
invokestatic java.lang.Thread.sleep:(J)V
5: goto 7
StackMap locals:
StackMap stack: java.lang.InterruptedException
6: pop
7: StackMap locals:
StackMap stack:
aload 0
ifnull 9
8: aload 0
invokevirtual android.os.CancellationSignal.throwIfCanceled:()V
9: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 signal Landroid/os/CancellationSignal;
0 10 1 timeoutMillis J
2 4 3 blocked Ljava/lang/Thread;
Exception table:
from to target type
4 5 6 Class java.lang.InterruptedException
MethodParameters:
Name Flags
signal final
timeoutMillis
private static void includeFile(android.database.MatrixCursor, java.lang.String, int);
descriptor: (Landroid/database/MatrixCursor;Ljava/lang/String;I)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokevirtual android.database.MatrixCursor.newRow:()Landroid/database/MatrixCursor$RowBuilder;
astore 3
start local 3 1: aload 3
ldc "document_id"
aload 1
invokevirtual android.database.MatrixCursor$RowBuilder.add:(Ljava/lang/String;Ljava/lang/Object;)Landroid/database/MatrixCursor$RowBuilder;
pop
2: aload 3
ldc "_display_name"
aload 1
invokevirtual android.database.MatrixCursor$RowBuilder.add:(Ljava/lang/String;Ljava/lang/Object;)Landroid/database/MatrixCursor$RowBuilder;
pop
3: aload 3
ldc "last_modified"
invokestatic java.lang.System.currentTimeMillis:()J
invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
invokevirtual android.database.MatrixCursor$RowBuilder.add:(Ljava/lang/String;Ljava/lang/Object;)Landroid/database/MatrixCursor$RowBuilder;
pop
4: aload 3
ldc "flags"
iload 2
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
invokevirtual android.database.MatrixCursor$RowBuilder.add:(Ljava/lang/String;Ljava/lang/Object;)Landroid/database/MatrixCursor$RowBuilder;
pop
5: ldc "myDoc"
aload 1
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 9
6: aload 3
ldc "mime_type"
ldc "vnd.android.document/directory"
invokevirtual android.database.MatrixCursor$RowBuilder.add:(Ljava/lang/String;Ljava/lang/Object;)Landroid/database/MatrixCursor$RowBuilder;
pop
7: aload 3
ldc "flags"
bipush 8
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
invokevirtual android.database.MatrixCursor$RowBuilder.add:(Ljava/lang/String;Ljava/lang/Object;)Landroid/database/MatrixCursor$RowBuilder;
pop
8: goto 11
StackMap locals: android.database.MatrixCursor$RowBuilder
StackMap stack:
9: ldc "myNull"
aload 1
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 11
10: aload 3
ldc "mime_type"
ldc "application/octet-stream"
invokevirtual android.database.MatrixCursor$RowBuilder.add:(Ljava/lang/String;Ljava/lang/Object;)Landroid/database/MatrixCursor$RowBuilder;
pop
11: StackMap locals:
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 result Landroid/database/MatrixCursor;
0 12 1 docId Ljava/lang/String;
0 12 2 flags I
1 12 3 row Landroid/database/MatrixCursor$RowBuilder;
MethodParameters:
Name Flags
result
docId
flags
}
SourceFile: "TestDocumentsProvider.java"
NestMembers:
com.android.externalstorage.TestDocumentsProvider$1 com.android.externalstorage.TestDocumentsProvider$2 com.android.externalstorage.TestDocumentsProvider$3 com.android.externalstorage.TestDocumentsProvider$4 com.android.externalstorage.TestDocumentsProvider$CloudCursor com.android.externalstorage.TestDocumentsProvider$CloudTask
InnerClasses:
public RowBuilder = android.database.MatrixCursor$RowBuilder of android.database.MatrixCursor
public final CompressFormat = android.graphics.Bitmap$CompressFormat of android.graphics.Bitmap
public final Config = android.graphics.Bitmap$Config of android.graphics.Bitmap
public abstract OnCancelListener = android.os.CancellationSignal$OnCancelListener of android.os.CancellationSignal
com.android.externalstorage.TestDocumentsProvider$1
com.android.externalstorage.TestDocumentsProvider$2
com.android.externalstorage.TestDocumentsProvider$3
private CloudCursor = com.android.externalstorage.TestDocumentsProvider$CloudCursor of com.android.externalstorage.TestDocumentsProvider
private CloudTask = com.android.externalstorage.TestDocumentsProvider$CloudTask of com.android.externalstorage.TestDocumentsProvider