public abstract class android.content.ContentProvider implements android.content.ComponentCallbacks2
minor version: 0
major version: 59
flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
this_class: android.content.ContentProvider
super_class: java.lang.Object
{
private static final java.lang.String TAG;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "ContentProvider"
private android.content.Context mContext;
descriptor: Landroid/content/Context;
flags: (0x0002) ACC_PRIVATE
private int mMyUid;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private java.lang.String mAuthority;
descriptor: Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
private java.lang.String[] mAuthorities;
descriptor: [Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
private java.lang.String mReadPermission;
descriptor: Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
private java.lang.String mWritePermission;
descriptor: Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
private android.content.pm.PathPermission[] mPathPermissions;
descriptor: [Landroid/content/pm/PathPermission;
flags: (0x0002) ACC_PRIVATE
private boolean mExported;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private boolean mNoPerms;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private boolean mSingleUser;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private final java.lang.ThreadLocal<java.lang.String> mCallingPackage;
descriptor: Ljava/lang/ThreadLocal;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/lang/ThreadLocal<Ljava/lang/String;>;
private android.content.ContentProvider$Transport mTransport;
descriptor: Landroid/content/ContentProvider$Transport;
flags: (0x0002) ACC_PRIVATE
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=1, args_size=1
start local 0 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
aconst_null
putfield android.content.ContentProvider.mContext:Landroid/content/Context;
2: aload 0
new java.lang.ThreadLocal
dup
invokespecial java.lang.ThreadLocal.<init>:()V
putfield android.content.ContentProvider.mCallingPackage:Ljava/lang/ThreadLocal;
3: aload 0
new android.content.ContentProvider$Transport
dup
aload 0
invokespecial android.content.ContentProvider$Transport.<init>:(Landroid/content/ContentProvider;)V
putfield android.content.ContentProvider.mTransport:Landroid/content/ContentProvider$Transport;
4: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Landroid/content/ContentProvider;
public void <init>(android.content.Context, java.lang.String, java.lang.String, android.content.pm.PathPermission[]);
descriptor: (Landroid/content/Context;Ljava/lang/String;Ljava/lang/String;[Landroid/content/pm/PathPermission;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=5, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
aconst_null
putfield android.content.ContentProvider.mContext:Landroid/content/Context;
2: aload 0
new java.lang.ThreadLocal
dup
invokespecial java.lang.ThreadLocal.<init>:()V
putfield android.content.ContentProvider.mCallingPackage:Ljava/lang/ThreadLocal;
3: aload 0
new android.content.ContentProvider$Transport
dup
aload 0
invokespecial android.content.ContentProvider$Transport.<init>:(Landroid/content/ContentProvider;)V
putfield android.content.ContentProvider.mTransport:Landroid/content/ContentProvider$Transport;
4: aload 0
aload 1
putfield android.content.ContentProvider.mContext:Landroid/content/Context;
5: aload 0
aload 2
putfield android.content.ContentProvider.mReadPermission:Ljava/lang/String;
6: aload 0
aload 3
putfield android.content.ContentProvider.mWritePermission:Ljava/lang/String;
7: aload 0
aload 4
putfield android.content.ContentProvider.mPathPermissions:[Landroid/content/pm/PathPermission;
8: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Landroid/content/ContentProvider;
0 9 1 context Landroid/content/Context;
0 9 2 readPermission Ljava/lang/String;
0 9 3 writePermission Ljava/lang/String;
0 9 4 pathPermissions [Landroid/content/pm/PathPermission;
MethodParameters:
Name Flags
context
readPermission
writePermission
pathPermissions
public static android.content.ContentProvider coerceToLocalContentProvider(android.content.IContentProvider);
descriptor: (Landroid/content/IContentProvider;)Landroid/content/ContentProvider;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
instanceof android.content.ContentProvider$Transport
ifeq 2
1: aload 0
checkcast android.content.ContentProvider$Transport
invokevirtual android.content.ContentProvider$Transport.getContentProvider:()Landroid/content/ContentProvider;
areturn
2: StackMap locals:
StackMap stack:
aconst_null
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 abstractInterface Landroid/content/IContentProvider;
MethodParameters:
Name Flags
abstractInterface
boolean checkUser(int, int, android.content.Context);
descriptor: (IILandroid/content/Context;)Z
flags: (0x0000)
Code:
stack=3, locals=4, args_size=4
start local 0 0: new java.lang.Error
dup
ldc "Unresolved compilation problem: \n\tINTERACT_ACROSS_USERS cannot be resolved to a variable\n"
invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
athrow
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Landroid/content/ContentProvider;
MethodParameters:
Name Flags
pid
uid
context
private int checkPermissionAndAppOp(java.lang.String, java.lang.String, android.os.IBinder);
descriptor: (Ljava/lang/String;Ljava/lang/String;Landroid/os/IBinder;)I
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=5, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
invokevirtual android.content.ContentProvider.getContext:()Landroid/content/Context;
aload 1
invokestatic android.os.Binder.getCallingPid:()I
invokestatic android.os.Binder.getCallingUid:()I
1: aload 3
2: invokevirtual android.content.Context.checkPermission:(Ljava/lang/String;IILandroid/os/IBinder;)I
ifeq 4
3: iconst_2
ireturn
4: StackMap locals:
StackMap stack:
aload 1
invokestatic android.app.AppOpsManager.permissionToOpCode:(Ljava/lang/String;)I
istore 4
start local 4 5: iload 4
iconst_m1
if_icmpeq 7
6: aload 0
getfield android.content.ContentProvider.mTransport:Landroid/content/ContentProvider$Transport;
getfield android.content.ContentProvider$Transport.mAppOpsManager:Landroid/app/AppOpsManager;
iload 4
aload 2
invokevirtual android.app.AppOpsManager.noteProxyOp:(ILjava/lang/String;)I
ireturn
7: StackMap locals: int
StackMap stack:
iconst_0
ireturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Landroid/content/ContentProvider;
0 8 1 permission Ljava/lang/String;
0 8 2 callingPkg Ljava/lang/String;
0 8 3 callerToken Landroid/os/IBinder;
5 8 4 permOp I
MethodParameters:
Name Flags
permission
callingPkg
callerToken
protected int enforceReadPermissionInner(android.net.Uri, java.lang.String, android.os.IBinder);
descriptor: (Landroid/net/Uri;Ljava/lang/String;Landroid/os/IBinder;)I
flags: (0x0004) ACC_PROTECTED
Code:
stack=3, locals=4, args_size=4
start local 0 0: new java.lang.Error
dup
ldc "Unresolved compilation problem: \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 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Landroid/content/ContentProvider;
Exceptions:
throws java.lang.SecurityException
MethodParameters:
Name Flags
uri
callingPkg
callerToken
protected int enforceWritePermissionInner(android.net.Uri, java.lang.String, android.os.IBinder);
descriptor: (Landroid/net/Uri;Ljava/lang/String;Landroid/os/IBinder;)I
flags: (0x0004) ACC_PROTECTED
Code:
stack=6, locals=19, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
invokevirtual android.content.ContentProvider.getContext:()Landroid/content/Context;
astore 4
start local 4 1: invokestatic android.os.Binder.getCallingPid:()I
istore 5
start local 5 2: invokestatic android.os.Binder.getCallingUid:()I
istore 6
start local 6 3: aconst_null
astore 7
start local 7 4: iconst_0
istore 8
start local 8 5: iload 6
aload 0
getfield android.content.ContentProvider.mMyUid:I
invokestatic android.os.UserHandle.isSameApp:(II)Z
ifeq 7
6: iconst_0
ireturn
7: StackMap locals: android.content.ContentProvider android.net.Uri java.lang.String android.os.IBinder android.content.Context int int java.lang.String int
StackMap stack:
aload 0
getfield android.content.ContentProvider.mExported:Z
ifeq 34
aload 0
iload 5
iload 6
aload 4
invokevirtual android.content.ContentProvider.checkUser:(IILandroid/content/Context;)Z
ifeq 34
8: aload 0
invokevirtual android.content.ContentProvider.getWritePermission:()Ljava/lang/String;
astore 9
start local 9 9: aload 9
ifnull 15
10: aload 0
aload 9
aload 2
aload 3
invokevirtual android.content.ContentProvider.checkPermissionAndAppOp:(Ljava/lang/String;Ljava/lang/String;Landroid/os/IBinder;)I
istore 10
start local 10 11: iload 10
ifne 13
12: iconst_0
ireturn
13: StackMap locals: java.lang.String int
StackMap stack:
aload 9
astore 7
14: iload 8
iload 10
invokestatic java.lang.Math.max:(II)I
istore 8
end local 10 15: StackMap locals:
StackMap stack:
aload 9
ifnonnull 16
iconst_1
goto 17
StackMap locals:
StackMap stack:
16: iconst_0
StackMap locals:
StackMap stack: int
17: istore 10
start local 10 18: aload 0
invokevirtual android.content.ContentProvider.getPathPermissions:()[Landroid/content/pm/PathPermission;
astore 11
start local 11 19: aload 11
ifnull 33
20: aload 1
invokevirtual android.net.Uri.getPath:()Ljava/lang/String;
astore 12
start local 12 21: aload 11
dup
astore 16
arraylength
istore 15
iconst_0
istore 14
goto 32
StackMap locals: android.content.ContentProvider android.net.Uri java.lang.String android.os.IBinder android.content.Context int int java.lang.String int java.lang.String int android.content.pm.PathPermission[] java.lang.String top int int android.content.pm.PathPermission[]
StackMap stack:
22: aload 16
iload 14
aaload
astore 13
start local 13 23: aload 13
invokevirtual android.content.pm.PathPermission.getWritePermission:()Ljava/lang/String;
astore 17
start local 17 24: aload 17
ifnull 31
aload 13
aload 12
invokevirtual android.content.pm.PathPermission.match:(Ljava/lang/String;)Z
ifeq 31
25: aload 0
aload 17
aload 2
aload 3
invokevirtual android.content.ContentProvider.checkPermissionAndAppOp:(Ljava/lang/String;Ljava/lang/String;Landroid/os/IBinder;)I
istore 18
start local 18 26: iload 18
ifne 28
27: iconst_0
ireturn
28: StackMap locals: android.content.ContentProvider android.net.Uri java.lang.String android.os.IBinder android.content.Context int int java.lang.String int java.lang.String int android.content.pm.PathPermission[] java.lang.String android.content.pm.PathPermission int int android.content.pm.PathPermission[] java.lang.String int
StackMap stack:
iconst_0
istore 10
29: aload 17
astore 7
30: iload 8
iload 18
invokestatic java.lang.Math.max:(II)I
istore 8
end local 18 end local 17 end local 13 31: StackMap locals: android.content.ContentProvider android.net.Uri java.lang.String android.os.IBinder android.content.Context int int java.lang.String int java.lang.String int android.content.pm.PathPermission[] java.lang.String top int int android.content.pm.PathPermission[]
StackMap stack:
iinc 14 1
StackMap locals:
StackMap stack:
32: iload 14
iload 15
if_icmplt 22
end local 12 33: StackMap locals: android.content.ContentProvider android.net.Uri java.lang.String android.os.IBinder android.content.Context int int java.lang.String int java.lang.String int android.content.pm.PathPermission[]
StackMap stack:
iload 10
ifeq 34
iconst_0
ireturn
end local 11 end local 10 end local 9 34: StackMap locals:
StackMap stack:
aload 4
aload 1
iload 5
iload 6
iconst_2
35: aload 3
36: invokevirtual android.content.Context.checkUriPermission:(Landroid/net/Uri;IIILandroid/os/IBinder;)I
ifne 38
37: iconst_0
ireturn
38: StackMap locals:
StackMap stack:
iload 8
iconst_1
if_icmpne 40
39: iconst_1
ireturn
40: StackMap locals:
StackMap stack:
aload 0
getfield android.content.ContentProvider.mExported:Z
ifeq 42
41: new java.lang.StringBuilder
dup
ldc " requires "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 7
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc ", or grantUriPermission()"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
goto 43
42: StackMap locals:
StackMap stack:
ldc " requires the provider be exported, or grantUriPermission()"
43: StackMap locals:
StackMap stack: java.lang.String
astore 9
start local 9 44: new java.lang.SecurityException
dup
new java.lang.StringBuilder
dup
ldc "Permission Denial: writing "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
45: aload 0
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc " uri "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc " from pid="
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
iload 5
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
46: ldc ", uid="
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
iload 6
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
aload 9
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
47: invokespecial java.lang.SecurityException.<init>:(Ljava/lang/String;)V
athrow
end local 9 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 48 0 this Landroid/content/ContentProvider;
0 48 1 uri Landroid/net/Uri;
0 48 2 callingPkg Ljava/lang/String;
0 48 3 callerToken Landroid/os/IBinder;
1 48 4 context Landroid/content/Context;
2 48 5 pid I
3 48 6 uid I
4 48 7 missingPerm Ljava/lang/String;
5 48 8 strongestMode I
9 34 9 componentPerm Ljava/lang/String;
11 15 10 mode I
18 34 10 allowDefaultWrite Z
19 34 11 pps [Landroid/content/pm/PathPermission;
21 33 12 path Ljava/lang/String;
23 31 13 pp Landroid/content/pm/PathPermission;
24 31 17 pathPerm Ljava/lang/String;
26 31 18 mode I
44 48 9 failReason Ljava/lang/String;
Exceptions:
throws java.lang.SecurityException
MethodParameters:
Name Flags
uri
callingPkg
callerToken
public final android.content.Context getContext();
descriptor: ()Landroid/content/Context;
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield android.content.ContentProvider.mContext:Landroid/content/Context;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Landroid/content/ContentProvider;
private java.lang.String setCallingPackage(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 0
getfield android.content.ContentProvider.mCallingPackage:Ljava/lang/ThreadLocal;
invokevirtual java.lang.ThreadLocal.get:()Ljava/lang/Object;
checkcast java.lang.String
astore 2
start local 2 1: aload 0
getfield android.content.ContentProvider.mCallingPackage:Ljava/lang/ThreadLocal;
aload 1
invokevirtual java.lang.ThreadLocal.set:(Ljava/lang/Object;)V
2: aload 2
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Landroid/content/ContentProvider;
0 3 1 callingPackage Ljava/lang/String;
1 3 2 original Ljava/lang/String;
MethodParameters:
Name Flags
callingPackage
public final java.lang.String getCallingPackage();
descriptor: ()Ljava/lang/String;
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=3, locals=2, args_size=1
start local 0 0: aload 0
getfield android.content.ContentProvider.mCallingPackage:Ljava/lang/ThreadLocal;
invokevirtual java.lang.ThreadLocal.get:()Ljava/lang/Object;
checkcast java.lang.String
astore 1
start local 1 1: aload 1
ifnull 3
2: aload 0
getfield android.content.ContentProvider.mTransport:Landroid/content/ContentProvider$Transport;
getfield android.content.ContentProvider$Transport.mAppOpsManager:Landroid/app/AppOpsManager;
invokestatic android.os.Binder.getCallingUid:()I
aload 1
invokevirtual android.app.AppOpsManager.checkPackage:(ILjava/lang/String;)V
3: StackMap locals: java.lang.String
StackMap stack:
aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Landroid/content/ContentProvider;
1 4 1 pkg Ljava/lang/String;
protected final void setAuthorities(java.lang.String);
descriptor: (Ljava/lang/String;)V
flags: (0x0014) ACC_PROTECTED, ACC_FINAL
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 1
ifnull 7
1: aload 1
bipush 59
invokevirtual java.lang.String.indexOf:(I)I
iconst_m1
if_icmpne 5
2: aload 0
aload 1
putfield android.content.ContentProvider.mAuthority:Ljava/lang/String;
3: aload 0
aconst_null
putfield android.content.ContentProvider.mAuthorities:[Ljava/lang/String;
4: goto 7
5: StackMap locals:
StackMap stack:
aload 0
aconst_null
putfield android.content.ContentProvider.mAuthority:Ljava/lang/String;
6: aload 0
aload 1
ldc ";"
invokevirtual java.lang.String.split:(Ljava/lang/String;)[Ljava/lang/String;
putfield android.content.ContentProvider.mAuthorities:[Ljava/lang/String;
7: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Landroid/content/ContentProvider;
0 8 1 authorities Ljava/lang/String;
MethodParameters:
Name Flags
authorities
protected final boolean matchesOurAuthorities(java.lang.String);
descriptor: (Ljava/lang/String;)Z
flags: (0x0014) ACC_PROTECTED, ACC_FINAL
Code:
stack=2, locals=4, args_size=2
start local 0 start local 1 0: aload 0
getfield android.content.ContentProvider.mAuthority:Ljava/lang/String;
ifnull 2
1: aload 0
getfield android.content.ContentProvider.mAuthority:Ljava/lang/String;
aload 1
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ireturn
2: StackMap locals:
StackMap stack:
aload 0
getfield android.content.ContentProvider.mAuthorities:[Ljava/lang/String;
ifnull 9
3: aload 0
getfield android.content.ContentProvider.mAuthorities:[Ljava/lang/String;
arraylength
istore 2
start local 2 4: iconst_0
istore 3
start local 3 5: goto 8
6: StackMap locals: int int
StackMap stack:
aload 0
getfield android.content.ContentProvider.mAuthorities:[Ljava/lang/String;
iload 3
aaload
aload 1
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 7
iconst_1
ireturn
7: StackMap locals:
StackMap stack:
iinc 3 1
StackMap locals:
StackMap stack:
8: iload 3
iload 2
if_icmplt 6
end local 3 end local 2 9: StackMap locals:
StackMap stack:
iconst_0
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Landroid/content/ContentProvider;
0 10 1 authority Ljava/lang/String;
4 9 2 length I
5 9 3 i I
MethodParameters:
Name Flags
authority
protected final void setReadPermission(java.lang.String);
descriptor: (Ljava/lang/String;)V
flags: (0x0014) ACC_PROTECTED, ACC_FINAL
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
putfield android.content.ContentProvider.mReadPermission:Ljava/lang/String;
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Landroid/content/ContentProvider;
0 2 1 permission Ljava/lang/String;
MethodParameters:
Name Flags
permission
public final java.lang.String getReadPermission();
descriptor: ()Ljava/lang/String;
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield android.content.ContentProvider.mReadPermission:Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Landroid/content/ContentProvider;
protected final void setWritePermission(java.lang.String);
descriptor: (Ljava/lang/String;)V
flags: (0x0014) ACC_PROTECTED, ACC_FINAL
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
putfield android.content.ContentProvider.mWritePermission:Ljava/lang/String;
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Landroid/content/ContentProvider;
0 2 1 permission Ljava/lang/String;
MethodParameters:
Name Flags
permission
public final java.lang.String getWritePermission();
descriptor: ()Ljava/lang/String;
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield android.content.ContentProvider.mWritePermission:Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Landroid/content/ContentProvider;
protected final void setPathPermissions(android.content.pm.PathPermission[]);
descriptor: ([Landroid/content/pm/PathPermission;)V
flags: (0x0014) ACC_PROTECTED, ACC_FINAL
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
putfield android.content.ContentProvider.mPathPermissions:[Landroid/content/pm/PathPermission;
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Landroid/content/ContentProvider;
0 2 1 permissions [Landroid/content/pm/PathPermission;
MethodParameters:
Name Flags
permissions
public final android.content.pm.PathPermission[] getPathPermissions();
descriptor: ()[Landroid/content/pm/PathPermission;
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield android.content.ContentProvider.mPathPermissions:[Landroid/content/pm/PathPermission;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Landroid/content/ContentProvider;
public final void setAppOps(int, int);
descriptor: (II)V
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=2, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield android.content.ContentProvider.mNoPerms:Z
ifne 3
1: aload 0
getfield android.content.ContentProvider.mTransport:Landroid/content/ContentProvider$Transport;
iload 1
putfield android.content.ContentProvider$Transport.mReadOp:I
2: aload 0
getfield android.content.ContentProvider.mTransport:Landroid/content/ContentProvider$Transport;
iload 2
putfield android.content.ContentProvider$Transport.mWriteOp:I
3: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Landroid/content/ContentProvider;
0 4 1 readOp I
0 4 2 writeOp I
MethodParameters:
Name Flags
readOp
writeOp
public android.app.AppOpsManager getAppOpsManager();
descriptor: ()Landroid/app/AppOpsManager;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield android.content.ContentProvider.mTransport:Landroid/content/ContentProvider$Transport;
getfield android.content.ContentProvider$Transport.mAppOpsManager:Landroid/app/AppOpsManager;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Landroid/content/ContentProvider;
public abstract boolean onCreate();
descriptor: ()Z
flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
public void onConfigurationChanged(android.content.res.Configuration);
descriptor: (Landroid/content/res/Configuration;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=0, locals=2, args_size=2
start local 0 start local 1 0: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Landroid/content/ContentProvider;
0 1 1 newConfig Landroid/content/res/Configuration;
MethodParameters:
Name Flags
newConfig
public void onLowMemory();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=0, locals=1, args_size=1
start local 0 0: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Landroid/content/ContentProvider;
public void onTrimMemory(int);
descriptor: (I)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=0, locals=2, args_size=2
start local 0 start local 1 0: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Landroid/content/ContentProvider;
0 1 1 level I
MethodParameters:
Name Flags
level
public abstract 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: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
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=6, locals=7, args_size=7
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 start local 6 0: aload 0
aload 1
aload 2
aload 3
aload 4
aload 5
invokevirtual android.content.ContentProvider.query:(Landroid/net/Uri;[Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;)Landroid/database/Cursor;
areturn
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 1 0 this Landroid/content/ContentProvider;
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 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: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=6, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 3
ifnull 1
aload 3
goto 2
StackMap locals:
StackMap stack:
1: getstatic android.os.Bundle.EMPTY:Landroid/os/Bundle;
StackMap locals:
StackMap stack: android.os.Bundle
2: astore 3
3: aload 3
ldc "android:query-arg-sql-sort-order"
invokevirtual android.os.Bundle.getString:(Ljava/lang/String;)Ljava/lang/String;
astore 5
start local 5 4: aload 5
ifnonnull 6
aload 3
ldc "android:query-arg-sort-columns"
invokevirtual android.os.Bundle.containsKey:(Ljava/lang/String;)Z
ifeq 6
5: aload 3
invokestatic android.content.ContentResolver.createSqlSortClause:(Landroid/os/Bundle;)Ljava/lang/String;
astore 5
6: StackMap locals: java.lang.String
StackMap stack:
aload 0
7: aload 1
8: aload 2
9: aload 3
ldc "android:query-arg-sql-selection"
invokevirtual android.os.Bundle.getString:(Ljava/lang/String;)Ljava/lang/String;
10: aload 3
ldc "android:query-arg-sql-selection-args"
invokevirtual android.os.Bundle.getStringArray:(Ljava/lang/String;)[Ljava/lang/String;
11: aload 5
12: aload 4
13: invokevirtual android.content.ContentProvider.query:(Landroid/net/Uri;[Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;Landroid/os/CancellationSignal;)Landroid/database/Cursor;
areturn
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 14 0 this Landroid/content/ContentProvider;
0 14 1 uri Landroid/net/Uri;
0 14 2 projection [Ljava/lang/String;
0 14 3 queryArgs Landroid/os/Bundle;
0 14 4 cancellationSignal Landroid/os/CancellationSignal;
4 14 5 sortClause Ljava/lang/String;
MethodParameters:
Name Flags
uri
projection
queryArgs
cancellationSignal
public abstract java.lang.String getType(android.net.Uri);
descriptor: (Landroid/net/Uri;)Ljava/lang/String;
flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
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=1, locals=2, args_size=2
start local 0 start local 1 0: aconst_null
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Landroid/content/ContentProvider;
0 1 1 url Landroid/net/Uri;
MethodParameters:
Name Flags
url
public android.net.Uri uncanonicalize(android.net.Uri);
descriptor: (Landroid/net/Uri;)Landroid/net/Uri;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=2, args_size=2
start local 0 start local 1 0: aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Landroid/content/ContentProvider;
0 1 1 url Landroid/net/Uri;
MethodParameters:
Name Flags
url
public boolean refresh(android.net.Uri, android.os.Bundle, android.os.CancellationSignal);
descriptor: (Landroid/net/Uri;Landroid/os/Bundle;Landroid/os/CancellationSignal;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: iconst_0
ireturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Landroid/content/ContentProvider;
0 1 1 uri Landroid/net/Uri;
0 1 2 args Landroid/os/Bundle;
0 1 3 cancellationSignal Landroid/os/CancellationSignal;
MethodParameters:
Name Flags
uri
args
cancellationSignal
public android.net.Uri rejectInsert(android.net.Uri, android.content.ContentValues);
descriptor: (Landroid/net/Uri;Landroid/content/ContentValues;)Landroid/net/Uri;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 1
invokevirtual android.net.Uri.buildUpon:()Landroid/net/Uri$Builder;
ldc "0"
invokevirtual android.net.Uri$Builder.appendPath:(Ljava/lang/String;)Landroid/net/Uri$Builder;
invokevirtual android.net.Uri$Builder.build:()Landroid/net/Uri;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Landroid/content/ContentProvider;
0 1 1 uri Landroid/net/Uri;
0 1 2 values Landroid/content/ContentValues;
MethodParameters:
Name Flags
uri
values
public abstract android.net.Uri insert(android.net.Uri, android.content.ContentValues);
descriptor: (Landroid/net/Uri;Landroid/content/ContentValues;)Landroid/net/Uri;
flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
MethodParameters:
Name Flags
uri
values
public int bulkInsert(android.net.Uri, android.content.ContentValues[]);
descriptor: (Landroid/net/Uri;[Landroid/content/ContentValues;)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=5, args_size=3
start local 0 start local 1 start local 2 0: aload 2
arraylength
istore 3
start local 3 1: iconst_0
istore 4
start local 4 2: goto 5
3: StackMap locals: int int
StackMap stack:
aload 0
aload 1
aload 2
iload 4
aaload
invokevirtual android.content.ContentProvider.insert:(Landroid/net/Uri;Landroid/content/ContentValues;)Landroid/net/Uri;
pop
4: iinc 4 1
StackMap locals:
StackMap stack:
5: iload 4
iload 3
if_icmplt 3
end local 4 6: iload 3
ireturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Landroid/content/ContentProvider;
0 7 1 uri Landroid/net/Uri;
0 7 2 values [Landroid/content/ContentValues;
1 7 3 numValues I
2 6 4 i I
MethodParameters:
Name Flags
uri
values
public abstract int delete(android.net.Uri, java.lang.String, java.lang.String[]);
descriptor: (Landroid/net/Uri;Ljava/lang/String;[Ljava/lang/String;)I
flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
MethodParameters:
Name Flags
uri
selection
selectionArgs
public abstract 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: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
MethodParameters:
Name Flags
uri
values
selection
selectionArgs
public android.os.ParcelFileDescriptor openFile(android.net.Uri, java.lang.String);
descriptor: (Landroid/net/Uri;Ljava/lang/String;)Landroid/os/ParcelFileDescriptor;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=3, args_size=3
start local 0 start local 1 start local 2 0: new java.io.FileNotFoundException
dup
new java.lang.StringBuilder
dup
ldc "No files supported by provider at "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
1: aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
2: invokespecial java.io.FileNotFoundException.<init>:(Ljava/lang/String;)V
athrow
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Landroid/content/ContentProvider;
0 3 1 uri Landroid/net/Uri;
0 3 2 mode Ljava/lang/String;
Exceptions:
throws java.io.FileNotFoundException
MethodParameters:
Name Flags
uri
mode
public 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: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
aload 1
aload 2
invokevirtual android.content.ContentProvider.openFile:(Landroid/net/Uri;Ljava/lang/String;)Landroid/os/ParcelFileDescriptor;
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Landroid/content/ContentProvider;
0 1 1 uri Landroid/net/Uri;
0 1 2 mode Ljava/lang/String;
0 1 3 signal Landroid/os/CancellationSignal;
Exceptions:
throws java.io.FileNotFoundException
MethodParameters:
Name Flags
uri
mode
signal
public android.content.res.AssetFileDescriptor openAssetFile(android.net.Uri, java.lang.String);
descriptor: (Landroid/net/Uri;Ljava/lang/String;)Landroid/content/res/AssetFileDescriptor;
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
aload 2
invokevirtual android.content.ContentProvider.openFile:(Landroid/net/Uri;Ljava/lang/String;)Landroid/os/ParcelFileDescriptor;
astore 3
start local 3 1: aload 3
ifnull 2
new android.content.res.AssetFileDescriptor
dup
aload 3
lconst_0
ldc -1
invokespecial android.content.res.AssetFileDescriptor.<init>:(Landroid/os/ParcelFileDescriptor;JJ)V
goto 3
StackMap locals: android.os.ParcelFileDescriptor
StackMap stack:
2: aconst_null
StackMap locals:
StackMap stack: android.content.res.AssetFileDescriptor
3: areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Landroid/content/ContentProvider;
0 4 1 uri Landroid/net/Uri;
0 4 2 mode Ljava/lang/String;
1 4 3 fd Landroid/os/ParcelFileDescriptor;
Exceptions:
throws java.io.FileNotFoundException
MethodParameters:
Name Flags
uri
mode
public 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: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
aload 1
aload 2
invokevirtual android.content.ContentProvider.openAssetFile:(Landroid/net/Uri;Ljava/lang/String;)Landroid/content/res/AssetFileDescriptor;
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Landroid/content/ContentProvider;
0 1 1 uri Landroid/net/Uri;
0 1 2 mode Ljava/lang/String;
0 1 3 signal Landroid/os/CancellationSignal;
Exceptions:
throws java.io.FileNotFoundException
MethodParameters:
Name Flags
uri
mode
signal
protected final android.os.ParcelFileDescriptor openFileHelper(android.net.Uri, java.lang.String);
descriptor: (Landroid/net/Uri;Ljava/lang/String;)Landroid/os/ParcelFileDescriptor;
flags: (0x0014) ACC_PROTECTED, ACC_FINAL
Code:
stack=6, locals=8, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
iconst_1
anewarray java.lang.String
dup
iconst_0
ldc "_data"
aastore
aconst_null
aconst_null
aconst_null
invokevirtual android.content.ContentProvider.query:(Landroid/net/Uri;[Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;)Landroid/database/Cursor;
astore 3
start local 3 1: aload 3
ifnull 2
aload 3
invokeinterface android.database.Cursor.getCount:()I
goto 3
StackMap locals: android.database.Cursor
StackMap stack:
2: iconst_0
StackMap locals:
StackMap stack: int
3: istore 4
start local 4 4: iload 4
iconst_1
if_icmpeq 10
5: aload 3
ifnull 7
6: aload 3
invokeinterface android.database.Cursor.close:()V
7: StackMap locals: int
StackMap stack:
iload 4
ifne 9
8: new java.io.FileNotFoundException
dup
new java.lang.StringBuilder
dup
ldc "No entry for "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.io.FileNotFoundException.<init>:(Ljava/lang/String;)V
athrow
9: StackMap locals:
StackMap stack:
new java.io.FileNotFoundException
dup
new java.lang.StringBuilder
dup
ldc "Multiple items at "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.io.FileNotFoundException.<init>:(Ljava/lang/String;)V
athrow
10: StackMap locals:
StackMap stack:
aload 3
invokeinterface android.database.Cursor.moveToFirst:()Z
pop
11: aload 3
ldc "_data"
invokeinterface android.database.Cursor.getColumnIndex:(Ljava/lang/String;)I
istore 5
start local 5 12: iload 5
iflt 13
aload 3
iload 5
invokeinterface android.database.Cursor.getString:(I)Ljava/lang/String;
goto 14
StackMap locals: int
StackMap stack:
13: aconst_null
StackMap locals:
StackMap stack: java.lang.String
14: astore 6
start local 6 15: aload 3
invokeinterface android.database.Cursor.close:()V
16: aload 6
ifnonnull 18
17: new java.io.FileNotFoundException
dup
ldc "Column _data not found."
invokespecial java.io.FileNotFoundException.<init>:(Ljava/lang/String;)V
athrow
18: StackMap locals: java.lang.String
StackMap stack:
aload 2
invokestatic android.os.ParcelFileDescriptor.parseMode:(Ljava/lang/String;)I
istore 7
start local 7 19: new java.io.File
dup
aload 6
invokespecial java.io.File.<init>:(Ljava/lang/String;)V
iload 7
invokestatic android.os.ParcelFileDescriptor.open:(Ljava/io/File;I)Landroid/os/ParcelFileDescriptor;
areturn
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 20 0 this Landroid/content/ContentProvider;
0 20 1 uri Landroid/net/Uri;
0 20 2 mode Ljava/lang/String;
1 20 3 c Landroid/database/Cursor;
4 20 4 count I
12 20 5 i I
15 20 6 path Ljava/lang/String;
19 20 7 modeBits I
Exceptions:
throws java.io.FileNotFoundException
MethodParameters:
Name Flags
uri
mode
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=1, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aconst_null
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Landroid/content/ContentProvider;
0 1 1 uri Landroid/net/Uri;
0 1 2 mimeTypeFilter Ljava/lang/String;
MethodParameters:
Name Flags
uri
mimeTypeFilter
public 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: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=5, args_size=4
start local 0 start local 1 start local 2 start local 3 0: ldc "*/*"
aload 2
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 2
1: aload 0
aload 1
ldc "r"
invokevirtual android.content.ContentProvider.openAssetFile:(Landroid/net/Uri;Ljava/lang/String;)Landroid/content/res/AssetFileDescriptor;
areturn
2: StackMap locals:
StackMap stack:
aload 0
aload 1
invokevirtual android.content.ContentProvider.getType:(Landroid/net/Uri;)Ljava/lang/String;
astore 4
start local 4 3: aload 4
ifnull 5
aload 4
aload 2
invokestatic android.content.ClipDescription.compareMimeTypes:(Ljava/lang/String;Ljava/lang/String;)Z
ifeq 5
4: aload 0
aload 1
ldc "r"
invokevirtual android.content.ContentProvider.openAssetFile:(Landroid/net/Uri;Ljava/lang/String;)Landroid/content/res/AssetFileDescriptor;
areturn
5: StackMap locals: java.lang.String
StackMap stack:
new java.io.FileNotFoundException
dup
new java.lang.StringBuilder
dup
ldc "Can't open "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc " as type "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 2
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.io.FileNotFoundException.<init>:(Ljava/lang/String;)V
athrow
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Landroid/content/ContentProvider;
0 6 1 uri Landroid/net/Uri;
0 6 2 mimeTypeFilter Ljava/lang/String;
0 6 3 opts Landroid/os/Bundle;
3 6 4 baseType Ljava/lang/String;
Exceptions:
throws java.io.FileNotFoundException
MethodParameters:
Name Flags
uri
mimeTypeFilter
opts
public 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: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=5, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
aload 1
aload 2
aload 3
invokevirtual android.content.ContentProvider.openTypedAssetFile:(Landroid/net/Uri;Ljava/lang/String;Landroid/os/Bundle;)Landroid/content/res/AssetFileDescriptor;
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Landroid/content/ContentProvider;
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 <T> android.os.ParcelFileDescriptor openPipeHelper(android.net.Uri, java.lang.String, android.os.Bundle, T, android.content.ContentProvider$PipeDataWriter<T>);
descriptor: (Landroid/net/Uri;Ljava/lang/String;Landroid/os/Bundle;Ljava/lang/Object;Landroid/content/ContentProvider$PipeDataWriter;)Landroid/os/ParcelFileDescriptor;
flags: (0x0001) ACC_PUBLIC
Code:
stack=9, locals=8, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: invokestatic android.os.ParcelFileDescriptor.createPipe:()[Landroid/os/ParcelFileDescriptor;
astore 6
start local 6 1: new android.content.ContentProvider$1
dup
aload 0
aload 5
aload 6
aload 1
aload 2
aload 3
aload 4
invokespecial android.content.ContentProvider$1.<init>:(Landroid/content/ContentProvider;Landroid/content/ContentProvider$PipeDataWriter;[Landroid/os/ParcelFileDescriptor;Landroid/net/Uri;Ljava/lang/String;Landroid/os/Bundle;Ljava/lang/Object;)V
astore 7
start local 7 2: aload 7
getstatic android.os.AsyncTask.THREAD_POOL_EXECUTOR:Ljava/util/concurrent/Executor;
aconst_null
invokevirtual android.os.AsyncTask.executeOnExecutor:(Ljava/util/concurrent/Executor;[Ljava/lang/Object;)Landroid/os/AsyncTask;
pop
3: aload 6
iconst_0
aaload
4: areturn
end local 7 end local 6 5: StackMap locals:
StackMap stack: java.io.IOException
pop
6: new java.io.FileNotFoundException
dup
ldc "failure making pipe"
invokespecial java.io.FileNotFoundException.<init>:(Ljava/lang/String;)V
athrow
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 7 0 this Landroid/content/ContentProvider;
0 7 1 uri Landroid/net/Uri;
0 7 2 mimeType Ljava/lang/String;
0 7 3 opts Landroid/os/Bundle;
0 7 4 args TT;
0 7 5 func Landroid/content/ContentProvider$PipeDataWriter<TT;>;
1 5 6 fds [Landroid/os/ParcelFileDescriptor;
2 5 7 task Landroid/os/AsyncTask<Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;>;
Exception table:
from to target type
0 4 5 Class java.io.IOException
Exceptions:
throws java.io.FileNotFoundException
Signature: <T:Ljava/lang/Object;>(Landroid/net/Uri;Ljava/lang/String;Landroid/os/Bundle;TT;Landroid/content/ContentProvider$PipeDataWriter<TT;>;)Landroid/os/ParcelFileDescriptor;
MethodParameters:
Name Flags
uri final
mimeType final
opts final
args final
func final
protected boolean isTemporary();
descriptor: ()Z
flags: (0x0004) ACC_PROTECTED
Code:
stack=1, locals=1, args_size=1
start local 0 0: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Landroid/content/ContentProvider;
public android.content.IContentProvider getIContentProvider();
descriptor: ()Landroid/content/IContentProvider;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield android.content.ContentProvider.mTransport:Landroid/content/ContentProvider$Transport;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Landroid/content/ContentProvider;
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=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
aload 2
iconst_1
invokevirtual android.content.ContentProvider.attachInfo:(Landroid/content/Context;Landroid/content/pm/ProviderInfo;Z)V
1: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Landroid/content/ContentProvider;
0 2 1 context Landroid/content/Context;
0 2 2 info Landroid/content/pm/ProviderInfo;
MethodParameters:
Name Flags
context
info
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=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
aload 2
iconst_0
invokevirtual android.content.ContentProvider.attachInfo:(Landroid/content/Context;Landroid/content/pm/ProviderInfo;Z)V
1: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Landroid/content/ContentProvider;
0 2 1 context Landroid/content/Context;
0 2 2 info Landroid/content/pm/ProviderInfo;
MethodParameters:
Name Flags
context
info
private void attachInfo(android.content.Context, android.content.pm.ProviderInfo, boolean);
descriptor: (Landroid/content/Context;Landroid/content/pm/ProviderInfo;Z)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
iload 3
putfield android.content.ContentProvider.mNoPerms:Z
1: aload 0
getfield android.content.ContentProvider.mContext:Landroid/content/Context;
ifnonnull 18
2: aload 0
aload 1
putfield android.content.ContentProvider.mContext:Landroid/content/Context;
3: aload 1
ifnull 7
aload 0
getfield android.content.ContentProvider.mTransport:Landroid/content/ContentProvider$Transport;
ifnull 7
4: aload 0
getfield android.content.ContentProvider.mTransport:Landroid/content/ContentProvider$Transport;
aload 1
5: ldc "appops"
6: invokevirtual android.content.Context.getSystemService:(Ljava/lang/String;)Ljava/lang/Object;
checkcast android.app.AppOpsManager
putfield android.content.ContentProvider$Transport.mAppOpsManager:Landroid/app/AppOpsManager;
7: StackMap locals:
StackMap stack:
aload 0
invokestatic android.os.Process.myUid:()I
putfield android.content.ContentProvider.mMyUid:I
8: aload 2
ifnull 17
9: aload 0
aload 2
getfield android.content.pm.ProviderInfo.readPermission:Ljava/lang/String;
invokevirtual android.content.ContentProvider.setReadPermission:(Ljava/lang/String;)V
10: aload 0
aload 2
getfield android.content.pm.ProviderInfo.writePermission:Ljava/lang/String;
invokevirtual android.content.ContentProvider.setWritePermission:(Ljava/lang/String;)V
11: aload 0
aload 2
getfield android.content.pm.ProviderInfo.pathPermissions:[Landroid/content/pm/PathPermission;
invokevirtual android.content.ContentProvider.setPathPermissions:([Landroid/content/pm/PathPermission;)V
12: aload 0
aload 2
getfield android.content.pm.ProviderInfo.exported:Z
putfield android.content.ContentProvider.mExported:Z
13: aload 0
aload 2
getfield android.content.pm.ProviderInfo.flags:I
ldc 1073741824
iand
ifeq 14
iconst_1
goto 15
StackMap locals:
StackMap stack: android.content.ContentProvider
14: iconst_0
StackMap locals: android.content.ContentProvider android.content.Context android.content.pm.ProviderInfo int
StackMap stack: android.content.ContentProvider int
15: putfield android.content.ContentProvider.mSingleUser:Z
16: aload 0
aload 2
getfield android.content.pm.ProviderInfo.authority:Ljava/lang/String;
invokevirtual android.content.ContentProvider.setAuthorities:(Ljava/lang/String;)V
17: StackMap locals:
StackMap stack:
aload 0
invokevirtual android.content.ContentProvider.onCreate:()Z
pop
18: StackMap locals:
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 19 0 this Landroid/content/ContentProvider;
0 19 1 context Landroid/content/Context;
0 19 2 info Landroid/content/pm/ProviderInfo;
0 19 3 testing Z
MethodParameters:
Name Flags
context
info
testing
public android.content.ContentProviderResult[] applyBatch(java.util.ArrayList<android.content.ContentProviderOperation>);
descriptor: (Ljava/util/ArrayList;)[Landroid/content/ContentProviderResult;
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=5, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual java.util.ArrayList.size:()I
istore 2
start local 2 1: iload 2
anewarray android.content.ContentProviderResult
astore 3
start local 3 2: iconst_0
istore 4
start local 4 3: goto 6
4: StackMap locals: int android.content.ContentProviderResult[] int
StackMap stack:
aload 3
iload 4
aload 1
iload 4
invokevirtual java.util.ArrayList.get:(I)Ljava/lang/Object;
checkcast android.content.ContentProviderOperation
aload 0
aload 3
iload 4
invokevirtual android.content.ContentProviderOperation.apply:(Landroid/content/ContentProvider;[Landroid/content/ContentProviderResult;I)Landroid/content/ContentProviderResult;
aastore
5: iinc 4 1
StackMap locals:
StackMap stack:
6: iload 4
iload 2
if_icmplt 4
end local 4 7: aload 3
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Landroid/content/ContentProvider;
0 8 1 operations Ljava/util/ArrayList<Landroid/content/ContentProviderOperation;>;
1 8 2 numOperations I
2 8 3 results [Landroid/content/ContentProviderResult;
3 7 4 i I
Exceptions:
throws android.content.OperationApplicationException
Signature: (Ljava/util/ArrayList<Landroid/content/ContentProviderOperation;>;)[Landroid/content/ContentProviderResult;
MethodParameters:
Name Flags
operations
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=1, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aconst_null
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Landroid/content/ContentProvider;
0 1 1 method Ljava/lang/String;
0 1 2 arg Ljava/lang/String;
0 1 3 extras Landroid/os/Bundle;
MethodParameters:
Name Flags
method
arg
extras
public void shutdown();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: ldc "ContentProvider"
ldc "implement ContentProvider shutdown() to make sure all database connections are gracefully shutdown"
invokestatic android.util.Log.w:(Ljava/lang/String;Ljava/lang/String;)I
pop
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Landroid/content/ContentProvider;
public void dump(java.io.FileDescriptor, java.io.PrintWriter, java.lang.String[]);
descriptor: (Ljava/io/FileDescriptor;Ljava/io/PrintWriter;[Ljava/lang/String;)V
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: aload 2
ldc "nothing to dump"
invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
1: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Landroid/content/ContentProvider;
0 2 1 fd Ljava/io/FileDescriptor;
0 2 2 writer Ljava/io/PrintWriter;
0 2 3 args [Ljava/lang/String;
MethodParameters:
Name Flags
fd
writer
args
public android.net.Uri validateIncomingUri(android.net.Uri);
descriptor: (Landroid/net/Uri;)Landroid/net/Uri;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=5, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual android.net.Uri.getAuthority:()Ljava/lang/String;
astore 2
start local 2 1: aload 0
getfield android.content.ContentProvider.mSingleUser:Z
ifne 7
2: aload 2
bipush -2
invokestatic android.content.ContentProvider.getUserIdFromAuthority:(Ljava/lang/String;I)I
istore 3
start local 3 3: iload 3
bipush -2
if_icmpeq 7
iload 3
aload 0
getfield android.content.ContentProvider.mContext:Landroid/content/Context;
invokevirtual android.content.Context.getUserId:()I
if_icmpeq 7
4: new java.lang.SecurityException
dup
new java.lang.StringBuilder
dup
ldc "trying to query a ContentProvider in user "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
5: aload 0
getfield android.content.ContentProvider.mContext:Landroid/content/Context;
invokevirtual android.content.Context.getUserId:()I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc " with a uri belonging to user "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
iload 3
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
6: invokespecial java.lang.SecurityException.<init>:(Ljava/lang/String;)V
athrow
end local 3 7: StackMap locals: java.lang.String
StackMap stack:
aload 0
aload 2
invokestatic android.content.ContentProvider.getAuthorityWithoutUserId:(Ljava/lang/String;)Ljava/lang/String;
invokevirtual android.content.ContentProvider.matchesOurAuthorities:(Ljava/lang/String;)Z
ifne 16
8: new java.lang.StringBuilder
dup
ldc "The authority of the uri "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc " does not match the one of the "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
9: ldc "contentProvider: "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
10: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 3
start local 3 11: aload 0
getfield android.content.ContentProvider.mAuthority:Ljava/lang/String;
ifnull 14
12: new java.lang.StringBuilder
dup
aload 3
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield android.content.ContentProvider.mAuthority:Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 3
13: goto 15
14: StackMap locals: java.lang.String
StackMap stack:
new java.lang.StringBuilder
dup
aload 3
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield android.content.ContentProvider.mAuthorities:[Ljava/lang/String;
invokestatic java.util.Arrays.toString:([Ljava/lang/Object;)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 3
15: StackMap locals:
StackMap stack:
new java.lang.SecurityException
dup
aload 3
invokespecial java.lang.SecurityException.<init>:(Ljava/lang/String;)V
athrow
end local 3 16: StackMap locals:
StackMap stack:
aload 1
invokevirtual android.net.Uri.getEncodedPath:()Ljava/lang/String;
astore 3
start local 3 17: aload 3
ifnull 25
aload 3
ldc "//"
invokevirtual java.lang.String.indexOf:(Ljava/lang/String;)I
iconst_m1
if_icmpeq 25
18: aload 1
invokevirtual android.net.Uri.buildUpon:()Landroid/net/Uri$Builder;
19: aload 3
ldc "//+"
ldc "/"
invokevirtual java.lang.String.replaceAll:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
invokevirtual android.net.Uri$Builder.encodedPath:(Ljava/lang/String;)Landroid/net/Uri$Builder;
invokevirtual android.net.Uri$Builder.build:()Landroid/net/Uri;
20: astore 4
start local 4 21: ldc "ContentProvider"
new java.lang.StringBuilder
dup
ldc "Normalized "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc " to "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 4
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
22: ldc " to avoid possible security issues"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
23: invokestatic android.util.Log.w:(Ljava/lang/String;Ljava/lang/String;)I
pop
24: aload 4
areturn
end local 4 25: StackMap locals: java.lang.String
StackMap stack:
aload 1
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 26 0 this Landroid/content/ContentProvider;
0 26 1 uri Landroid/net/Uri;
1 26 2 auth Ljava/lang/String;
3 7 3 userId I
11 16 3 message Ljava/lang/String;
17 26 3 encodedPath Ljava/lang/String;
21 25 4 normalized Landroid/net/Uri;
Exceptions:
throws java.lang.SecurityException
MethodParameters:
Name Flags
uri
private android.net.Uri maybeGetUriWithoutUserId(android.net.Uri);
descriptor: (Landroid/net/Uri;)Landroid/net/Uri;
flags: (0x0002) ACC_PRIVATE
Code:
stack=1, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield android.content.ContentProvider.mSingleUser:Z
ifeq 2
1: aload 1
areturn
2: StackMap locals:
StackMap stack:
aload 1
invokestatic android.content.ContentProvider.getUriWithoutUserId:(Landroid/net/Uri;)Landroid/net/Uri;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Landroid/content/ContentProvider;
0 3 1 uri Landroid/net/Uri;
MethodParameters:
Name Flags
uri
public static int getUserIdFromAuthority(java.lang.String, int);
descriptor: (Ljava/lang/String;I)I
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=5, args_size=2
start local 0 start local 1 0: aload 0
ifnonnull 1
iload 1
ireturn
1: StackMap locals:
StackMap stack:
aload 0
bipush 64
invokevirtual java.lang.String.lastIndexOf:(I)I
istore 2
start local 2 2: iload 2
iconst_m1
if_icmpne 3
iload 1
ireturn
3: StackMap locals: int
StackMap stack:
aload 0
iconst_0
iload 2
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
astore 3
start local 3 4: aload 3
invokestatic java.lang.Integer.parseInt:(Ljava/lang/String;)I
5: ireturn
6: StackMap locals: java.lang.String int int java.lang.String
StackMap stack: java.lang.NumberFormatException
astore 4
start local 4 7: ldc "ContentProvider"
ldc "Error parsing userId."
aload 4
invokestatic android.util.Log.w:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
pop
8: sipush -10000
ireturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 auth Ljava/lang/String;
0 9 1 defaultUserId I
2 9 2 end I
4 9 3 userIdString Ljava/lang/String;
7 9 4 e Ljava/lang/NumberFormatException;
Exception table:
from to target type
4 5 6 Class java.lang.NumberFormatException
MethodParameters:
Name Flags
auth
defaultUserId
public static int getUserIdFromAuthority(java.lang.String);
descriptor: (Ljava/lang/String;)I
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
bipush -2
invokestatic android.content.ContentProvider.getUserIdFromAuthority:(Ljava/lang/String;I)I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 auth Ljava/lang/String;
MethodParameters:
Name Flags
auth
public static int getUserIdFromUri(android.net.Uri, int);
descriptor: (Landroid/net/Uri;I)I
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
ifnonnull 1
iload 1
ireturn
1: StackMap locals:
StackMap stack:
aload 0
invokevirtual android.net.Uri.getAuthority:()Ljava/lang/String;
iload 1
invokestatic android.content.ContentProvider.getUserIdFromAuthority:(Ljava/lang/String;I)I
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 uri Landroid/net/Uri;
0 2 1 defaultUserId I
MethodParameters:
Name Flags
uri
defaultUserId
public static int getUserIdFromUri(android.net.Uri);
descriptor: (Landroid/net/Uri;)I
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
bipush -2
invokestatic android.content.ContentProvider.getUserIdFromUri:(Landroid/net/Uri;I)I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 uri Landroid/net/Uri;
MethodParameters:
Name Flags
uri
public static java.lang.String getAuthorityWithoutUserId(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/lang/String;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=2, args_size=1
start local 0 0: aload 0
ifnonnull 1
aconst_null
areturn
1: StackMap locals:
StackMap stack:
aload 0
bipush 64
invokevirtual java.lang.String.lastIndexOf:(I)I
istore 1
start local 1 2: aload 0
iload 1
iconst_1
iadd
invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 auth Ljava/lang/String;
2 3 1 end I
MethodParameters:
Name Flags
auth
public static android.net.Uri getUriWithoutUserId(android.net.Uri);
descriptor: (Landroid/net/Uri;)Landroid/net/Uri;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=2, args_size=1
start local 0 0: aload 0
ifnonnull 1
aconst_null
areturn
1: StackMap locals:
StackMap stack:
aload 0
invokevirtual android.net.Uri.buildUpon:()Landroid/net/Uri$Builder;
astore 1
start local 1 2: aload 1
aload 0
invokevirtual android.net.Uri.getAuthority:()Ljava/lang/String;
invokestatic android.content.ContentProvider.getAuthorityWithoutUserId:(Ljava/lang/String;)Ljava/lang/String;
invokevirtual android.net.Uri$Builder.authority:(Ljava/lang/String;)Landroid/net/Uri$Builder;
pop
3: aload 1
invokevirtual android.net.Uri$Builder.build:()Landroid/net/Uri;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 uri Landroid/net/Uri;
2 4 1 builder Landroid/net/Uri$Builder;
MethodParameters:
Name Flags
uri
public static boolean uriHasUserId(android.net.Uri);
descriptor: (Landroid/net/Uri;)Z
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
ifnonnull 1
iconst_0
ireturn
1: StackMap locals:
StackMap stack:
aload 0
invokevirtual android.net.Uri.getUserInfo:()Ljava/lang/String;
invokestatic android.text.TextUtils.isEmpty:(Ljava/lang/CharSequence;)Z
ifeq 2
iconst_0
goto 3
StackMap locals:
StackMap stack:
2: iconst_1
StackMap locals:
StackMap stack: int
3: ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 uri Landroid/net/Uri;
MethodParameters:
Name Flags
uri
public static android.net.Uri maybeAddUserId(android.net.Uri, int);
descriptor: (Landroid/net/Uri;I)Landroid/net/Uri;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: aload 0
ifnonnull 1
aconst_null
areturn
1: StackMap locals:
StackMap stack:
iload 1
bipush -2
if_icmpeq 7
2: ldc "content"
aload 0
invokevirtual android.net.Uri.getScheme:()Ljava/lang/String;
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 7
3: aload 0
invokestatic android.content.ContentProvider.uriHasUserId:(Landroid/net/Uri;)Z
ifne 7
4: aload 0
invokevirtual android.net.Uri.buildUpon:()Landroid/net/Uri$Builder;
astore 2
start local 2 5: aload 2
new java.lang.StringBuilder
dup
invokespecial java.lang.StringBuilder.<init>:()V
iload 1
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc "@"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
invokevirtual android.net.Uri.getEncodedAuthority:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual android.net.Uri$Builder.encodedAuthority:(Ljava/lang/String;)Landroid/net/Uri$Builder;
pop
6: aload 2
invokevirtual android.net.Uri$Builder.build:()Landroid/net/Uri;
areturn
end local 2 7: StackMap locals:
StackMap stack:
aload 0
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 uri Landroid/net/Uri;
0 8 1 userId I
5 7 2 builder Landroid/net/Uri$Builder;
MethodParameters:
Name Flags
uri
userId
}
SourceFile: "ContentProvider.java"
NestMembers:
android.content.ContentProvider$1 android.content.ContentProvider$PipeDataWriter android.content.ContentProvider$Transport
InnerClasses:
android.content.ContentProvider$1
public abstract PipeDataWriter = android.content.ContentProvider$PipeDataWriter of android.content.ContentProvider
Transport = android.content.ContentProvider$Transport of android.content.ContentProvider
public final Builder = android.net.Uri$Builder of android.net.Uri