public class android.telephony.mbms.MbmsTempFileProvider extends android.content.ContentProvider
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: android.telephony.mbms.MbmsTempFileProvider
super_class: android.content.ContentProvider
{
public static final java.lang.String TEMP_FILE_ROOT_PREF_FILE_NAME;
descriptor: Ljava/lang/String;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: "MbmsTempFileRootPrefs"
public static final java.lang.String TEMP_FILE_ROOT_PREF_NAME;
descriptor: Ljava/lang/String;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: "mbms_temp_file_root"
private java.lang.String mAuthority;
descriptor: Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
private android.content.Context mContext;
descriptor: Landroid/content/Context;
flags: (0x0002) ACC_PRIVATE
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.content.ContentProvider.<init>:()V
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Landroid/telephony/mbms/MbmsTempFileProvider;
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 Landroid/telephony/mbms/MbmsTempFileProvider;
public 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: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=6, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: new java.lang.UnsupportedOperationException
dup
ldc "No querying supported"
invokespecial java.lang.UnsupportedOperationException.<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 1 0 this Landroid/telephony/mbms/MbmsTempFileProvider;
0 1 1 uri Landroid/net/Uri;
0 1 2 projection [Ljava/lang/String;
0 1 3 selection Ljava/lang/String;
0 1 4 selectionArgs [Ljava/lang/String;
0 1 5 sortOrder Ljava/lang/String;
MethodParameters:
Name Flags
uri
projection
selection
selectionArgs
sortOrder
public java.lang.String getType(android.net.Uri);
descriptor: (Landroid/net/Uri;)Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=2, args_size=2
start local 0 start local 1 0: ldc "application/octet-stream"
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Landroid/telephony/mbms/MbmsTempFileProvider;
0 1 1 uri Landroid/net/Uri;
MethodParameters:
Name Flags
uri
public android.net.Uri insert(android.net.Uri, android.content.ContentValues);
descriptor: (Landroid/net/Uri;Landroid/content/ContentValues;)Landroid/net/Uri;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: new java.lang.UnsupportedOperationException
dup
ldc "No inserting supported"
invokespecial java.lang.UnsupportedOperationException.<init>:(Ljava/lang/String;)V
athrow
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Landroid/telephony/mbms/MbmsTempFileProvider;
0 1 1 uri Landroid/net/Uri;
0 1 2 values Landroid/content/ContentValues;
MethodParameters:
Name Flags
uri
values
public int delete(android.net.Uri, java.lang.String, java.lang.String[]);
descriptor: (Landroid/net/Uri;Ljava/lang/String;[Ljava/lang/String;)I
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: new java.lang.UnsupportedOperationException
dup
ldc "No deleting supported"
invokespecial java.lang.UnsupportedOperationException.<init>:(Ljava/lang/String;)V
athrow
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Landroid/telephony/mbms/MbmsTempFileProvider;
0 1 1 uri Landroid/net/Uri;
0 1 2 selection Ljava/lang/String;
0 1 3 selectionArgs [Ljava/lang/String;
MethodParameters:
Name Flags
uri
selection
selectionArgs
public 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: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=5, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: new java.lang.UnsupportedOperationException
dup
ldc "No updating supported"
invokespecial java.lang.UnsupportedOperationException.<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 1 0 this Landroid/telephony/mbms/MbmsTempFileProvider;
0 1 1 uri Landroid/net/Uri;
0 1 2 values Landroid/content/ContentValues;
0 1 3 selection Ljava/lang/String;
0 1 4 selectionArgs [Ljava/lang/String;
MethodParameters:
Name Flags
uri
values
selection
selectionArgs
public android.os.ParcelFileDescriptor openFile(android.net.Uri, java.lang.String);
descriptor: (Landroid/net/Uri;Ljava/lang/String;)Landroid/os/ParcelFileDescriptor;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=5, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield android.telephony.mbms.MbmsTempFileProvider.mContext:Landroid/content/Context;
aload 0
getfield android.telephony.mbms.MbmsTempFileProvider.mAuthority:Ljava/lang/String;
aload 1
invokestatic android.telephony.mbms.MbmsTempFileProvider.getFileForUri:(Landroid/content/Context;Ljava/lang/String;Landroid/net/Uri;)Ljava/io/File;
astore 3
start local 3 1: aload 2
invokestatic android.os.ParcelFileDescriptor.parseMode:(Ljava/lang/String;)I
istore 4
start local 4 2: aload 3
iload 4
invokestatic android.os.ParcelFileDescriptor.open:(Ljava/io/File;I)Landroid/os/ParcelFileDescriptor;
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Landroid/telephony/mbms/MbmsTempFileProvider;
0 3 1 uri Landroid/net/Uri;
0 3 2 mode Ljava/lang/String;
1 3 3 file Ljava/io/File;
2 3 4 fileMode I
Exceptions:
throws java.io.FileNotFoundException
MethodParameters:
Name Flags
uri
mode
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 1
aload 2
invokespecial android.content.ContentProvider.attachInfo:(Landroid/content/Context;Landroid/content/pm/ProviderInfo;)V
1: aload 2
getfield android.content.pm.ProviderInfo.exported:Z
ifeq 3
2: new java.lang.SecurityException
dup
ldc "Provider must not be exported"
invokespecial java.lang.SecurityException.<init>:(Ljava/lang/String;)V
athrow
3: StackMap locals:
StackMap stack:
aload 2
getfield android.content.pm.ProviderInfo.grantUriPermissions:Z
ifne 5
4: new java.lang.SecurityException
dup
ldc "Provider must grant uri permissions"
invokespecial java.lang.SecurityException.<init>:(Ljava/lang/String;)V
athrow
5: StackMap locals:
StackMap stack:
aload 0
aload 2
getfield android.content.pm.ProviderInfo.authority:Ljava/lang/String;
putfield android.telephony.mbms.MbmsTempFileProvider.mAuthority:Ljava/lang/String;
6: aload 0
aload 1
putfield android.telephony.mbms.MbmsTempFileProvider.mContext:Landroid/content/Context;
7: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Landroid/telephony/mbms/MbmsTempFileProvider;
0 8 1 context Landroid/content/Context;
0 8 2 info Landroid/content/pm/ProviderInfo;
MethodParameters:
Name Flags
context
info
public static android.net.Uri getUriForFile(android.content.Context, java.lang.String, java.io.File);
descriptor: (Landroid/content/Context;Ljava/lang/String;Ljava/io/File;)Landroid/net/Uri;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=5, locals=8, args_size=3
start local 0 start local 1 start local 2 0: aload 2
invokevirtual java.io.File.getCanonicalPath:()Ljava/lang/String;
astore 3
start local 3 1: goto 4
end local 3 StackMap locals:
StackMap stack: java.io.IOException
2: pop
3: new java.lang.IllegalArgumentException
dup
new java.lang.StringBuilder
dup
ldc "Could not get canonical path for file "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 2
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
start local 3 4: StackMap locals: java.lang.String
StackMap stack:
aload 0
invokestatic android.telephony.mbms.MbmsTempFileProvider.getEmbmsTempFileDir:(Landroid/content/Context;)Ljava/io/File;
astore 4
start local 4 5: aload 4
aload 2
invokestatic android.telephony.mbms.MbmsUtils.isContainedIn:(Ljava/io/File;Ljava/io/File;)Z
ifne 9
6: new java.lang.IllegalArgumentException
dup
new java.lang.StringBuilder
dup
ldc "File "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 2
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc " is not contained in the temp "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
7: ldc "file directory, which is "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 4
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
8: invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
9: StackMap locals: java.io.File
StackMap stack:
aload 4
invokevirtual java.io.File.getCanonicalPath:()Ljava/lang/String;
astore 5
start local 5 10: goto 15
end local 5 StackMap locals:
StackMap stack: java.io.IOException
11: pop
12: new java.lang.RuntimeException
dup
13: new java.lang.StringBuilder
dup
ldc "Could not get canonical path for temp file root dir "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 4
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
14: invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;)V
athrow
start local 5 15: StackMap locals: java.lang.String
StackMap stack:
aload 5
ldc "/"
invokevirtual java.lang.String.endsWith:(Ljava/lang/String;)Z
ifeq 18
16: aload 3
aload 5
invokevirtual java.lang.String.length:()I
invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
astore 6
start local 6 17: goto 19
end local 6 18: StackMap locals:
StackMap stack:
aload 3
aload 5
invokevirtual java.lang.String.length:()I
iconst_1
iadd
invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
astore 6
start local 6 19: StackMap locals: java.lang.String
StackMap stack:
aload 6
invokestatic android.net.Uri.encode:(Ljava/lang/String;)Ljava/lang/String;
astore 7
start local 7 20: new android.net.Uri$Builder
dup
invokespecial android.net.Uri$Builder.<init>:()V
ldc "content"
invokevirtual android.net.Uri$Builder.scheme:(Ljava/lang/String;)Landroid/net/Uri$Builder;
21: aload 1
invokevirtual android.net.Uri$Builder.authority:(Ljava/lang/String;)Landroid/net/Uri$Builder;
aload 7
invokevirtual android.net.Uri$Builder.encodedPath:(Ljava/lang/String;)Landroid/net/Uri$Builder;
invokevirtual android.net.Uri$Builder.build:()Landroid/net/Uri;
22: 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 23 0 context Landroid/content/Context;
0 23 1 authority Ljava/lang/String;
0 23 2 file Ljava/io/File;
1 2 3 filePath Ljava/lang/String;
4 23 3 filePath Ljava/lang/String;
5 23 4 tempFileDir Ljava/io/File;
10 11 5 tempFileDirPath Ljava/lang/String;
15 23 5 tempFileDirPath Ljava/lang/String;
17 18 6 pathFragment Ljava/lang/String;
19 23 6 pathFragment Ljava/lang/String;
20 23 7 encodedPath Ljava/lang/String;
Exception table:
from to target type
0 1 2 Class java.io.IOException
9 10 11 Class java.io.IOException
MethodParameters:
Name Flags
context
authority
file
public static java.io.File getFileForUri(android.content.Context, java.lang.String, android.net.Uri);
descriptor: (Landroid/content/Context;Ljava/lang/String;Landroid/net/Uri;)Ljava/io/File;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=5, locals=6, args_size=3
start local 0 start local 1 start local 2 0: ldc "content"
aload 2
invokevirtual android.net.Uri.getScheme:()Ljava/lang/String;
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 2
1: new java.lang.IllegalArgumentException
dup
ldc "Uri must have scheme content"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
aload 1
aload 2
invokevirtual android.net.Uri.getAuthority:()Ljava/lang/String;
invokestatic java.util.Objects.equals:(Ljava/lang/Object;Ljava/lang/Object;)Z
ifne 6
3: new java.lang.IllegalArgumentException
dup
new java.lang.StringBuilder
dup
ldc "Uri does not have a matching authority: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
4: aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc ", "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 2
invokevirtual android.net.Uri.getAuthority:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
5: invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
6: StackMap locals:
StackMap stack:
aload 2
invokevirtual android.net.Uri.getEncodedPath:()Ljava/lang/String;
invokestatic android.net.Uri.decode:(Ljava/lang/String;)Ljava/lang/String;
astore 3
start local 3 7: aload 0
invokestatic android.telephony.mbms.MbmsTempFileProvider.getEmbmsTempFileDir:(Landroid/content/Context;)Ljava/io/File;
invokevirtual java.io.File.getCanonicalFile:()Ljava/io/File;
astore 5
start local 5 8: new java.io.File
dup
aload 5
aload 3
invokespecial java.io.File.<init>:(Ljava/io/File;Ljava/lang/String;)V
invokevirtual java.io.File.getCanonicalFile:()Ljava/io/File;
astore 4
start local 4 9: goto 12
end local 5 end local 4 StackMap locals: android.content.Context java.lang.String android.net.Uri java.lang.String
StackMap stack: java.io.IOException
10: pop
11: new java.io.FileNotFoundException
dup
ldc "Could not resolve paths"
invokespecial java.io.FileNotFoundException.<init>:(Ljava/lang/String;)V
athrow
start local 4 start local 5 12: StackMap locals: java.io.File java.io.File
StackMap stack:
aload 4
invokevirtual java.io.File.getPath:()Ljava/lang/String;
aload 5
invokevirtual java.io.File.getPath:()Ljava/lang/String;
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifne 14
13: new java.lang.SecurityException
dup
ldc "Resolved path jumped beyond configured root"
invokespecial java.lang.SecurityException.<init>:(Ljava/lang/String;)V
athrow
14: StackMap locals:
StackMap stack:
aload 4
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 15 0 context Landroid/content/Context;
0 15 1 authority Ljava/lang/String;
0 15 2 uri Landroid/net/Uri;
7 15 3 relPath Ljava/lang/String;
9 10 4 file Ljava/io/File;
12 15 4 file Ljava/io/File;
8 10 5 tempFileDir Ljava/io/File;
12 15 5 tempFileDir Ljava/io/File;
Exception table:
from to target type
7 9 10 Class java.io.IOException
Exceptions:
throws java.io.FileNotFoundException
MethodParameters:
Name Flags
context
authority
uri
public static java.io.File getEmbmsTempFileDir(android.content.Context);
descriptor: (Landroid/content/Context;)Ljava/io/File;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=5, locals=4, args_size=1
start local 0 0: aload 0
ldc "MbmsTempFileRootPrefs"
iconst_0
invokevirtual android.content.Context.getSharedPreferences:(Ljava/lang/String;I)Landroid/content/SharedPreferences;
astore 1
start local 1 1: aload 1
ldc "mbms_temp_file_root"
aconst_null
invokeinterface android.content.SharedPreferences.getString:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
astore 2
start local 2 2: aload 2
ifnull 5
3: new java.io.File
dup
aload 2
invokespecial java.io.File.<init>:(Ljava/lang/String;)V
invokevirtual java.io.File.getCanonicalFile:()Ljava/io/File;
4: areturn
5: StackMap locals: android.content.SharedPreferences java.lang.String
StackMap stack:
new java.io.File
dup
aload 0
invokevirtual android.content.Context.getFilesDir:()Ljava/io/File;
6: ldc "androidMbmsTempFileRoot"
7: invokespecial java.io.File.<init>:(Ljava/io/File;Ljava/lang/String;)V
8: invokevirtual java.io.File.getCanonicalFile:()Ljava/io/File;
9: areturn
10: StackMap locals:
StackMap stack: java.io.IOException
astore 3
start local 3 11: new java.lang.RuntimeException
dup
new java.lang.StringBuilder
dup
ldc "Unable to canonicalize temp file root path "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 3
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;)V
athrow
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 context Landroid/content/Context;
1 12 1 prefs Landroid/content/SharedPreferences;
2 12 2 storedTempFileRoot Ljava/lang/String;
11 12 3 e Ljava/io/IOException;
Exception table:
from to target type
2 4 10 Class java.io.IOException
5 9 10 Class java.io.IOException
MethodParameters:
Name Flags
context
}
SourceFile: "MbmsTempFileProvider.java"
InnerClasses:
public final Builder = android.net.Uri$Builder of android.net.Uri