public class android.media.RingtoneManager
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: android.media.RingtoneManager
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: "RingtoneManager"
public static final int TYPE_RINGTONE;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 1
public static final int TYPE_NOTIFICATION;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 2
public static final int TYPE_ALARM;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 4
public static final int TYPE_ALL;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 7
public static final java.lang.String ACTION_RINGTONE_PICKER;
descriptor: Ljava/lang/String;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: "android.intent.action.RINGTONE_PICKER"
public static final java.lang.String EXTRA_RINGTONE_SHOW_DEFAULT;
descriptor: Ljava/lang/String;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: "android.intent.extra.ringtone.SHOW_DEFAULT"
public static final java.lang.String EXTRA_RINGTONE_SHOW_SILENT;
descriptor: Ljava/lang/String;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: "android.intent.extra.ringtone.SHOW_SILENT"
public static final java.lang.String EXTRA_RINGTONE_INCLUDE_DRM;
descriptor: Ljava/lang/String;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: "android.intent.extra.ringtone.INCLUDE_DRM"
RuntimeVisibleAnnotations:
java.lang.Deprecated()
public static final java.lang.String EXTRA_RINGTONE_EXISTING_URI;
descriptor: Ljava/lang/String;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: "android.intent.extra.ringtone.EXISTING_URI"
public static final java.lang.String EXTRA_RINGTONE_DEFAULT_URI;
descriptor: Ljava/lang/String;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: "android.intent.extra.ringtone.DEFAULT_URI"
public static final java.lang.String EXTRA_RINGTONE_TYPE;
descriptor: Ljava/lang/String;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: "android.intent.extra.ringtone.TYPE"
public static final java.lang.String EXTRA_RINGTONE_TITLE;
descriptor: Ljava/lang/String;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: "android.intent.extra.ringtone.TITLE"
public static final java.lang.String EXTRA_RINGTONE_AUDIO_ATTRIBUTES_FLAGS;
descriptor: Ljava/lang/String;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: "android.intent.extra.ringtone.AUDIO_ATTRIBUTES_FLAGS"
public static final java.lang.String EXTRA_RINGTONE_PICKED_URI;
descriptor: Ljava/lang/String;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: "android.intent.extra.ringtone.PICKED_URI"
private static final java.lang.String[] INTERNAL_COLUMNS;
descriptor: [Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final java.lang.String[] MEDIA_COLUMNS;
descriptor: [Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
public static final int ID_COLUMN_INDEX;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 0
public static final int TITLE_COLUMN_INDEX;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 1
public static final int URI_COLUMN_INDEX;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 2
private final android.app.Activity mActivity;
descriptor: Landroid/app/Activity;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final android.content.Context mContext;
descriptor: Landroid/content/Context;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private android.database.Cursor mCursor;
descriptor: Landroid/database/Cursor;
flags: (0x0002) ACC_PRIVATE
private int mType;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private final java.util.List<java.lang.String> mFilterColumns;
descriptor: Ljava/util/List;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/List<Ljava/lang/String;>;
private boolean mStopPreviousRingtone;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private android.media.Ringtone mPreviousRingtone;
descriptor: Landroid/media/Ringtone;
flags: (0x0002) ACC_PRIVATE
private boolean mIncludeParentRingtones;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=6, locals=0, args_size=0
0: iconst_4
anewarray java.lang.String
dup
iconst_0
1: ldc "_id"
aastore
dup
iconst_1
ldc "title"
aastore
dup
iconst_2
2: new java.lang.StringBuilder
dup
ldc "\""
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
getstatic android.provider.MediaStore$Audio$Media.INTERNAL_CONTENT_URI:Landroid/net/Uri;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc "\""
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
aastore
dup
iconst_3
3: ldc "title_key"
aastore
4: putstatic android.media.RingtoneManager.INTERNAL_COLUMNS:[Ljava/lang/String;
5: iconst_4
anewarray java.lang.String
dup
iconst_0
6: ldc "_id"
aastore
dup
iconst_1
ldc "title"
aastore
dup
iconst_2
7: new java.lang.StringBuilder
dup
ldc "\""
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
getstatic android.provider.MediaStore$Audio$Media.EXTERNAL_CONTENT_URI:Landroid/net/Uri;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc "\""
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
aastore
dup
iconst_3
8: ldc "title_key"
aastore
9: putstatic android.media.RingtoneManager.MEDIA_COLUMNS:[Ljava/lang/String;
10: return
LocalVariableTable:
Start End Slot Name Signature
public void <init>(android.app.Activity);
descriptor: (Landroid/app/Activity;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
iconst_0
invokespecial android.media.RingtoneManager.<init>:(Landroid/app/Activity;Z)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Landroid/media/RingtoneManager;
0 2 1 activity Landroid/app/Activity;
MethodParameters:
Name Flags
activity
public void <init>(android.app.Activity, boolean);
descriptor: (Landroid/app/Activity;Z)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
invokespecial java.lang.Object.<init>:()V
1: aload 0
iconst_1
putfield android.media.RingtoneManager.mType:I
2: aload 0
new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
putfield android.media.RingtoneManager.mFilterColumns:Ljava/util/List;
3: aload 0
iconst_1
putfield android.media.RingtoneManager.mStopPreviousRingtone:Z
4: aload 0
aload 1
putfield android.media.RingtoneManager.mActivity:Landroid/app/Activity;
5: aload 0
aload 1
putfield android.media.RingtoneManager.mContext:Landroid/content/Context;
6: aload 0
aload 0
getfield android.media.RingtoneManager.mType:I
invokevirtual android.media.RingtoneManager.setType:(I)V
7: aload 0
iload 2
putfield android.media.RingtoneManager.mIncludeParentRingtones:Z
8: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Landroid/media/RingtoneManager;
0 9 1 activity Landroid/app/Activity;
0 9 2 includeParentRingtones Z
MethodParameters:
Name Flags
activity
includeParentRingtones
public void <init>(android.content.Context);
descriptor: (Landroid/content/Context;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
iconst_0
invokespecial android.media.RingtoneManager.<init>:(Landroid/content/Context;Z)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Landroid/media/RingtoneManager;
0 2 1 context Landroid/content/Context;
MethodParameters:
Name Flags
context
public void <init>(android.content.Context, boolean);
descriptor: (Landroid/content/Context;Z)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
invokespecial java.lang.Object.<init>:()V
1: aload 0
iconst_1
putfield android.media.RingtoneManager.mType:I
2: aload 0
new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
putfield android.media.RingtoneManager.mFilterColumns:Ljava/util/List;
3: aload 0
iconst_1
putfield android.media.RingtoneManager.mStopPreviousRingtone:Z
4: aload 0
aconst_null
putfield android.media.RingtoneManager.mActivity:Landroid/app/Activity;
5: aload 0
aload 1
putfield android.media.RingtoneManager.mContext:Landroid/content/Context;
6: aload 0
aload 0
getfield android.media.RingtoneManager.mType:I
invokevirtual android.media.RingtoneManager.setType:(I)V
7: aload 0
iload 2
putfield android.media.RingtoneManager.mIncludeParentRingtones:Z
8: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Landroid/media/RingtoneManager;
0 9 1 context Landroid/content/Context;
0 9 2 includeParentRingtones Z
MethodParameters:
Name Flags
context
includeParentRingtones
public void setType(int);
descriptor: (I)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield android.media.RingtoneManager.mCursor:Landroid/database/Cursor;
ifnull 4
1: new java.lang.IllegalStateException
dup
2: ldc "Setting filter columns should be done before querying for ringtones."
3: invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
athrow
4: StackMap locals:
StackMap stack:
aload 0
iload 1
putfield android.media.RingtoneManager.mType:I
5: aload 0
iload 1
invokevirtual android.media.RingtoneManager.setFilterColumnsList:(I)V
6: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Landroid/media/RingtoneManager;
0 7 1 type I
MethodParameters:
Name Flags
type
public int inferStreamType();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield android.media.RingtoneManager.mType:I
tableswitch { // 2 - 4
2: 2
3: 3
4: 1
default: 3
}
1: StackMap locals:
StackMap stack:
iconst_4
ireturn
2: StackMap locals:
StackMap stack:
iconst_5
ireturn
3: StackMap locals:
StackMap stack:
iconst_2
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Landroid/media/RingtoneManager;
public void setStopPreviousRingtone(boolean);
descriptor: (Z)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
iload 1
putfield android.media.RingtoneManager.mStopPreviousRingtone:Z
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Landroid/media/RingtoneManager;
0 2 1 stopPreviousRingtone Z
MethodParameters:
Name Flags
stopPreviousRingtone
public boolean getStopPreviousRingtone();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield android.media.RingtoneManager.mStopPreviousRingtone:Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Landroid/media/RingtoneManager;
public void stopPreviousRingtone();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield android.media.RingtoneManager.mPreviousRingtone:Landroid/media/Ringtone;
ifnull 2
1: aload 0
getfield android.media.RingtoneManager.mPreviousRingtone:Landroid/media/Ringtone;
invokevirtual android.media.Ringtone.stop:()V
2: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Landroid/media/RingtoneManager;
public boolean getIncludeDrm();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
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/media/RingtoneManager;
RuntimeVisibleAnnotations:
java.lang.Deprecated()
public void setIncludeDrm(boolean);
descriptor: (Z)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: iload 1
ifeq 2
1: ldc "RingtoneManager"
ldc "setIncludeDrm no longer supported"
invokestatic android.util.Log.w:(Ljava/lang/String;Ljava/lang/String;)I
pop
2: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Landroid/media/RingtoneManager;
0 3 1 includeDrm Z
RuntimeVisibleAnnotations:
java.lang.Deprecated()
MethodParameters:
Name Flags
includeDrm
public android.database.Cursor getCursor();
descriptor: ()Landroid/database/Cursor;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=3, args_size=1
start local 0 0: aload 0
getfield android.media.RingtoneManager.mCursor:Landroid/database/Cursor;
ifnull 2
aload 0
getfield android.media.RingtoneManager.mCursor:Landroid/database/Cursor;
invokeinterface android.database.Cursor.requery:()Z
ifeq 2
1: aload 0
getfield android.media.RingtoneManager.mCursor:Landroid/database/Cursor;
areturn
2: StackMap locals:
StackMap stack:
new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 1
start local 1 3: aload 1
aload 0
invokevirtual android.media.RingtoneManager.getInternalRingtones:()Landroid/database/Cursor;
invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
pop
4: aload 1
aload 0
invokevirtual android.media.RingtoneManager.getMediaRingtones:()Landroid/database/Cursor;
invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
pop
5: aload 0
getfield android.media.RingtoneManager.mIncludeParentRingtones:Z
ifeq 9
6: aload 0
invokevirtual android.media.RingtoneManager.getParentProfileRingtones:()Landroid/database/Cursor;
astore 2
start local 2 7: aload 2
ifnull 9
8: aload 1
aload 2
invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
pop
end local 2 9: StackMap locals: java.util.ArrayList
StackMap stack:
aload 0
new com.android.internal.database.SortCursor
dup
aload 1
aload 1
invokevirtual java.util.ArrayList.size:()I
anewarray android.database.Cursor
invokevirtual java.util.ArrayList.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
checkcast android.database.Cursor[]
10: ldc "title_key"
invokespecial com.android.internal.database.SortCursor.<init>:([Landroid/database/Cursor;Ljava/lang/String;)V
11: dup_x1
putfield android.media.RingtoneManager.mCursor:Landroid/database/Cursor;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Landroid/media/RingtoneManager;
3 12 1 ringtoneCursors Ljava/util/ArrayList<Landroid/database/Cursor;>;
7 9 2 parentRingtonesCursor Landroid/database/Cursor;
private android.database.Cursor getParentProfileRingtones();
descriptor: ()Landroid/database/Cursor;
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=4, args_size=1
start local 0 0: aload 0
getfield android.media.RingtoneManager.mContext:Landroid/content/Context;
invokestatic android.os.UserManager.get:(Landroid/content/Context;)Landroid/os/UserManager;
astore 1
start local 1 1: aload 1
aload 0
getfield android.media.RingtoneManager.mContext:Landroid/content/Context;
invokevirtual android.content.Context.getUserId:()I
invokevirtual android.os.UserManager.getProfileParent:(I)Landroid/content/pm/UserInfo;
astore 2
start local 2 2: aload 2
ifnull 8
aload 2
getfield android.content.pm.UserInfo.id:I
aload 0
getfield android.media.RingtoneManager.mContext:Landroid/content/Context;
invokevirtual android.content.Context.getUserId:()I
if_icmpeq 8
3: aload 0
getfield android.media.RingtoneManager.mContext:Landroid/content/Context;
aload 2
getfield android.content.pm.UserInfo.id:I
invokestatic android.media.RingtoneManager.createPackageContextAsUser:(Landroid/content/Context;I)Landroid/content/Context;
astore 3
start local 3 4: aload 3
ifnull 8
5: new android.media.ExternalRingtonesCursorWrapper
dup
aload 0
aload 3
invokevirtual android.media.RingtoneManager.getMediaRingtones:(Landroid/content/Context;)Landroid/database/Cursor;
6: aload 2
getfield android.content.pm.UserInfo.id:I
7: invokespecial android.media.ExternalRingtonesCursorWrapper.<init>:(Landroid/database/Cursor;I)V
areturn
end local 3 8: StackMap locals: android.os.UserManager android.content.pm.UserInfo
StackMap stack:
aconst_null
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Landroid/media/RingtoneManager;
1 9 1 um Landroid/os/UserManager;
2 9 2 parentInfo Landroid/content/pm/UserInfo;
4 8 3 parentContext Landroid/content/Context;
public android.media.Ringtone getRingtone(int);
descriptor: (I)Landroid/media/Ringtone;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield android.media.RingtoneManager.mStopPreviousRingtone:Z
ifeq 2
aload 0
getfield android.media.RingtoneManager.mPreviousRingtone:Landroid/media/Ringtone;
ifnull 2
1: aload 0
getfield android.media.RingtoneManager.mPreviousRingtone:Landroid/media/Ringtone;
invokevirtual android.media.Ringtone.stop:()V
2: StackMap locals:
StackMap stack:
aload 0
aload 0
getfield android.media.RingtoneManager.mContext:Landroid/content/Context;
aload 0
iload 1
invokevirtual android.media.RingtoneManager.getRingtoneUri:(I)Landroid/net/Uri;
aload 0
invokevirtual android.media.RingtoneManager.inferStreamType:()I
invokestatic android.media.RingtoneManager.getRingtone:(Landroid/content/Context;Landroid/net/Uri;I)Landroid/media/Ringtone;
putfield android.media.RingtoneManager.mPreviousRingtone:Landroid/media/Ringtone;
3: aload 0
getfield android.media.RingtoneManager.mPreviousRingtone:Landroid/media/Ringtone;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Landroid/media/RingtoneManager;
0 4 1 position I
MethodParameters:
Name Flags
position
public android.net.Uri getRingtoneUri(int);
descriptor: (I)Landroid/net/Uri;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield android.media.RingtoneManager.mCursor:Landroid/database/Cursor;
ifnull 1
aload 0
getfield android.media.RingtoneManager.mCursor:Landroid/database/Cursor;
iload 1
invokeinterface android.database.Cursor.moveToPosition:(I)Z
ifne 2
1: StackMap locals:
StackMap stack:
aconst_null
areturn
2: StackMap locals:
StackMap stack:
aload 0
getfield android.media.RingtoneManager.mCursor:Landroid/database/Cursor;
invokestatic android.media.RingtoneManager.getUriFromCursor:(Landroid/database/Cursor;)Landroid/net/Uri;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Landroid/media/RingtoneManager;
0 3 1 position I
MethodParameters:
Name Flags
position
private static android.net.Uri getExistingRingtoneUriFromPath(android.content.Context, java.lang.String);
descriptor: (Landroid/content/Context;Ljava/lang/String;)Landroid/net/Uri;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=6, locals=8, args_size=2
start local 0 start local 1 0: iconst_1
anewarray java.lang.String
dup
iconst_0
ldc "_id"
aastore
astore 2
start local 2 1: iconst_1
anewarray java.lang.String
dup
iconst_0
aload 1
aastore
astore 3
start local 3 2: aconst_null
astore 4
aconst_null
astore 5
3: aload 0
invokevirtual android.content.Context.getContentResolver:()Landroid/content/ContentResolver;
4: getstatic android.provider.MediaStore$Audio$Media.EXTERNAL_CONTENT_URI:Landroid/net/Uri;
aload 2
5: ldc "_data=? "
aload 3
aconst_null
6: invokevirtual android.content.ContentResolver.query:(Landroid/net/Uri;[Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;)Landroid/database/Cursor;
astore 6
start local 6 7: aload 6
ifnull 8
aload 6
invokeinterface android.database.Cursor.moveToFirst:()Z
ifne 10
8: StackMap locals: android.content.Context java.lang.String java.lang.String[] java.lang.String[] java.lang.Throwable java.lang.Throwable android.database.Cursor
StackMap stack:
aload 6
ifnull 9
aload 6
invokeinterface android.database.Cursor.close:()V
9: StackMap locals:
StackMap stack:
aconst_null
areturn
10: StackMap locals:
StackMap stack:
aload 6
aload 6
ldc "_id"
invokeinterface android.database.Cursor.getColumnIndex:(Ljava/lang/String;)I
invokeinterface android.database.Cursor.getInt:(I)I
istore 7
start local 7 11: iload 7
iconst_m1
if_icmpne 14
12: aload 6
ifnull 13
aload 6
invokeinterface android.database.Cursor.close:()V
13: StackMap locals: int
StackMap stack:
aconst_null
areturn
14: StackMap locals:
StackMap stack:
getstatic android.provider.MediaStore$Audio$Media.EXTERNAL_CONTENT_URI:Landroid/net/Uri;
new java.lang.StringBuilder
dup
invokespecial java.lang.StringBuilder.<init>:()V
iload 7
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokestatic android.net.Uri.withAppendedPath:(Landroid/net/Uri;Ljava/lang/String;)Landroid/net/Uri;
15: aload 6
ifnull 16
aload 6
invokeinterface android.database.Cursor.close:()V
16: StackMap locals:
StackMap stack: android.net.Uri
areturn
end local 7 StackMap locals: android.content.Context java.lang.String java.lang.String[] java.lang.String[] java.lang.Throwable java.lang.Throwable android.database.Cursor
StackMap stack: java.lang.Throwable
17: astore 4
18: aload 6
ifnull 19
aload 6
invokeinterface android.database.Cursor.close:()V
end local 6 StackMap locals:
StackMap stack:
19: aload 4
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
20: astore 5
aload 4
ifnonnull 21
aload 5
astore 4
goto 22
StackMap locals:
StackMap stack:
21: aload 4
aload 5
if_acmpeq 22
aload 4
aload 5
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
22: aload 4
athrow
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 path Ljava/lang/String;
1 23 2 proj [Ljava/lang/String;
2 23 3 selectionArgs [Ljava/lang/String;
7 19 6 cursor Landroid/database/Cursor;
11 17 7 id I
Exception table:
from to target type
7 8 17 any
10 12 17 any
14 15 17 any
3 9 20 any
10 13 20 any
14 16 20 any
17 20 20 any
MethodParameters:
Name Flags
context
path
private static android.net.Uri getUriFromCursor(android.database.Cursor);
descriptor: (Landroid/database/Cursor;)Landroid/net/Uri;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
iconst_2
invokeinterface android.database.Cursor.getString:(I)Ljava/lang/String;
invokestatic android.net.Uri.parse:(Ljava/lang/String;)Landroid/net/Uri;
aload 0
1: iconst_0
invokeinterface android.database.Cursor.getLong:(I)J
2: invokestatic android.content.ContentUris.withAppendedId:(Landroid/net/Uri;J)Landroid/net/Uri;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 cursor Landroid/database/Cursor;
MethodParameters:
Name Flags
cursor
public int getRingtonePosition(android.net.Uri);
descriptor: (Landroid/net/Uri;)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=8, args_size=2
start local 0 start local 1 0: aload 1
ifnonnull 1
iconst_m1
ireturn
1: StackMap locals:
StackMap stack:
aload 0
invokevirtual android.media.RingtoneManager.getCursor:()Landroid/database/Cursor;
astore 2
start local 2 2: aload 2
invokeinterface android.database.Cursor.getCount:()I
istore 3
start local 3 3: aload 2
invokeinterface android.database.Cursor.moveToFirst:()Z
ifne 5
4: iconst_m1
ireturn
5: StackMap locals: android.database.Cursor int
StackMap stack:
aconst_null
astore 4
start local 4 6: aconst_null
astore 5
start local 5 7: iconst_0
istore 6
start local 6 8: goto 20
9: StackMap locals: android.net.Uri java.lang.String int
StackMap stack:
aload 2
iconst_2
invokeinterface android.database.Cursor.getString:(I)Ljava/lang/String;
astore 7
start local 7 10: aload 4
ifnull 11
aload 7
aload 5
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 12
11: StackMap locals: java.lang.String
StackMap stack:
aload 7
invokestatic android.net.Uri.parse:(Ljava/lang/String;)Landroid/net/Uri;
astore 4
12: StackMap locals:
StackMap stack:
aload 1
aload 4
aload 2
13: iconst_0
invokeinterface android.database.Cursor.getLong:(I)J
14: invokestatic android.content.ContentUris.withAppendedId:(Landroid/net/Uri;J)Landroid/net/Uri;
invokevirtual android.net.Uri.equals:(Ljava/lang/Object;)Z
15: ifeq 17
16: iload 6
ireturn
17: StackMap locals:
StackMap stack:
aload 2
iconst_1
invokeinterface android.database.Cursor.move:(I)Z
pop
18: aload 7
astore 5
end local 7 19: iinc 6 1
StackMap locals:
StackMap stack:
20: iload 6
iload 3
if_icmplt 9
end local 6 21: iconst_m1
ireturn
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 22 0 this Landroid/media/RingtoneManager;
0 22 1 ringtoneUri Landroid/net/Uri;
2 22 2 cursor Landroid/database/Cursor;
3 22 3 cursorCount I
6 22 4 currentUri Landroid/net/Uri;
7 22 5 previousUriString Ljava/lang/String;
8 21 6 i I
10 19 7 uriString Ljava/lang/String;
MethodParameters:
Name Flags
ringtoneUri
public static android.net.Uri getValidRingtoneUri(android.content.Context);
descriptor: (Landroid/content/Context;)Landroid/net/Uri;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=3, args_size=1
start local 0 0: new android.media.RingtoneManager
dup
aload 0
invokespecial android.media.RingtoneManager.<init>:(Landroid/content/Context;)V
astore 1
start local 1 1: aload 0
aload 1
invokevirtual android.media.RingtoneManager.getInternalRingtones:()Landroid/database/Cursor;
invokestatic android.media.RingtoneManager.getValidRingtoneUriFromCursorAndClose:(Landroid/content/Context;Landroid/database/Cursor;)Landroid/net/Uri;
astore 2
start local 2 2: aload 2
ifnonnull 4
3: aload 0
aload 1
invokevirtual android.media.RingtoneManager.getMediaRingtones:()Landroid/database/Cursor;
invokestatic android.media.RingtoneManager.getValidRingtoneUriFromCursorAndClose:(Landroid/content/Context;Landroid/database/Cursor;)Landroid/net/Uri;
astore 2
4: StackMap locals: android.media.RingtoneManager android.net.Uri
StackMap stack:
aload 2
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 context Landroid/content/Context;
1 5 1 rm Landroid/media/RingtoneManager;
2 5 2 uri Landroid/net/Uri;
MethodParameters:
Name Flags
context
private static android.net.Uri getValidRingtoneUriFromCursorAndClose(android.content.Context, android.database.Cursor);
descriptor: (Landroid/content/Context;Landroid/database/Cursor;)Landroid/net/Uri;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=1, locals=3, args_size=2
start local 0 start local 1 0: aload 1
ifnull 6
1: aconst_null
astore 2
start local 2 2: aload 1
invokeinterface android.database.Cursor.moveToFirst:()Z
ifeq 4
3: aload 1
invokestatic android.media.RingtoneManager.getUriFromCursor:(Landroid/database/Cursor;)Landroid/net/Uri;
astore 2
4: StackMap locals: android.net.Uri
StackMap stack:
aload 1
invokeinterface android.database.Cursor.close:()V
5: aload 2
areturn
end local 2 6: StackMap locals:
StackMap stack:
aconst_null
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 context Landroid/content/Context;
0 7 1 cursor Landroid/database/Cursor;
2 6 2 uri Landroid/net/Uri;
MethodParameters:
Name Flags
context
cursor
private android.database.Cursor getInternalRingtones();
descriptor: ()Landroid/database/Cursor;
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=1, args_size=1
start local 0 0: aload 0
1: getstatic android.provider.MediaStore$Audio$Media.INTERNAL_CONTENT_URI:Landroid/net/Uri;
getstatic android.media.RingtoneManager.INTERNAL_COLUMNS:[Ljava/lang/String;
2: aload 0
getfield android.media.RingtoneManager.mFilterColumns:Ljava/util/List;
invokestatic android.media.RingtoneManager.constructBooleanTrueWhereClause:(Ljava/util/List;)Ljava/lang/String;
3: aconst_null
ldc "title_key"
4: invokevirtual android.media.RingtoneManager.query:(Landroid/net/Uri;[Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;)Landroid/database/Cursor;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Landroid/media/RingtoneManager;
private android.database.Cursor getMediaRingtones();
descriptor: ()Landroid/database/Cursor;
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
aload 0
getfield android.media.RingtoneManager.mContext:Landroid/content/Context;
invokevirtual android.media.RingtoneManager.getMediaRingtones:(Landroid/content/Context;)Landroid/database/Cursor;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Landroid/media/RingtoneManager;
private android.database.Cursor getMediaRingtones(android.content.Context);
descriptor: (Landroid/content/Context;)Landroid/database/Cursor;
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=2, args_size=2
start local 0 0: new java.lang.Error
dup
ldc "Unresolved compilation problem: \n\tandroid.Manifest.permission.READ_EXTERNAL_STORAGE 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/media/RingtoneManager;
MethodParameters:
Name Flags
context
private void setFilterColumnsList(int);
descriptor: (I)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 0
getfield android.media.RingtoneManager.mFilterColumns:Ljava/util/List;
astore 2
start local 2 1: aload 2
invokeinterface java.util.List.clear:()V
2: iload 1
iconst_1
iand
ifeq 4
3: aload 2
ldc "is_ringtone"
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
4: StackMap locals: java.util.List
StackMap stack:
iload 1
iconst_2
iand
ifeq 6
5: aload 2
ldc "is_notification"
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
6: StackMap locals:
StackMap stack:
iload 1
iconst_4
iand
ifeq 8
7: aload 2
ldc "is_alarm"
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
8: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Landroid/media/RingtoneManager;
0 9 1 type I
1 9 2 columns Ljava/util/List<Ljava/lang/String;>;
MethodParameters:
Name Flags
type
private static java.lang.String constructBooleanTrueWhereClause(java.util.List<java.lang.String>);
descriptor: (Ljava/util/List;)Ljava/lang/String;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=3, args_size=1
start local 0 0: aload 0
ifnonnull 1
aconst_null
areturn
1: StackMap locals:
StackMap stack:
new java.lang.StringBuilder
dup
invokespecial java.lang.StringBuilder.<init>:()V
astore 1
start local 1 2: aload 1
ldc "("
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
3: aload 0
invokeinterface java.util.List.size:()I
iconst_1
isub
istore 2
start local 2 4: goto 7
5: StackMap locals: java.lang.StringBuilder int
StackMap stack:
aload 1
aload 0
iload 2
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast java.lang.String
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "=1 or "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
6: iinc 2 -1
StackMap locals:
StackMap stack:
7: iload 2
ifge 5
end local 2 8: aload 0
invokeinterface java.util.List.size:()I
ifle 10
9: aload 1
aload 1
invokevirtual java.lang.StringBuilder.length:()I
iconst_4
isub
invokevirtual java.lang.StringBuilder.setLength:(I)V
10: StackMap locals:
StackMap stack:
aload 1
ldc ")"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
11: aload 1
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 columns Ljava/util/List<Ljava/lang/String;>;
2 12 1 sb Ljava/lang/StringBuilder;
4 8 2 i I
Signature: (Ljava/util/List<Ljava/lang/String;>;)Ljava/lang/String;
MethodParameters:
Name Flags
columns
private 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: (0x0002) ACC_PRIVATE
Code:
stack=7, locals=6, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: aload 0
aload 1
aload 2
aload 3
aload 4
aload 5
aload 0
getfield android.media.RingtoneManager.mContext:Landroid/content/Context;
invokevirtual android.media.RingtoneManager.query:(Landroid/net/Uri;[Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;Landroid/content/Context;)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 1 0 this Landroid/media/RingtoneManager;
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
private android.database.Cursor query(android.net.Uri, java.lang.String[], java.lang.String, java.lang.String[], java.lang.String, android.content.Context);
descriptor: (Landroid/net/Uri;[Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;Landroid/content/Context;)Landroid/database/Cursor;
flags: (0x0002) ACC_PRIVATE
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
getfield android.media.RingtoneManager.mActivity:Landroid/app/Activity;
ifnull 2
1: aload 0
getfield android.media.RingtoneManager.mActivity:Landroid/app/Activity;
aload 1
aload 2
aload 3
aload 4
aload 5
invokevirtual android.app.Activity.managedQuery:(Landroid/net/Uri;[Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;)Landroid/database/Cursor;
areturn
2: StackMap locals:
StackMap stack:
aload 6
invokevirtual android.content.Context.getContentResolver:()Landroid/content/ContentResolver;
aload 1
aload 2
aload 3
aload 4
3: aload 5
4: invokevirtual android.content.ContentResolver.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 5 0 this Landroid/media/RingtoneManager;
0 5 1 uri Landroid/net/Uri;
0 5 2 projection [Ljava/lang/String;
0 5 3 selection Ljava/lang/String;
0 5 4 selectionArgs [Ljava/lang/String;
0 5 5 sortOrder Ljava/lang/String;
0 5 6 context Landroid/content/Context;
MethodParameters:
Name Flags
uri
projection
selection
selectionArgs
sortOrder
context
public static android.media.Ringtone getRingtone(android.content.Context, android.net.Uri);
descriptor: (Landroid/content/Context;Landroid/net/Uri;)Landroid/media/Ringtone;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
iconst_m1
invokestatic android.media.RingtoneManager.getRingtone:(Landroid/content/Context;Landroid/net/Uri;I)Landroid/media/Ringtone;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 context Landroid/content/Context;
0 1 1 ringtoneUri Landroid/net/Uri;
MethodParameters:
Name Flags
context final
ringtoneUri
private static android.media.Ringtone getRingtone(android.content.Context, android.net.Uri, int);
descriptor: (Landroid/content/Context;Landroid/net/Uri;I)Landroid/media/Ringtone;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=4, args_size=3
start local 0 start local 1 start local 2 0: new android.media.Ringtone
dup
aload 0
iconst_1
invokespecial android.media.Ringtone.<init>:(Landroid/content/Context;Z)V
astore 3
start local 3 1: iload 2
iflt 3
2: aload 3
iload 2
invokevirtual android.media.Ringtone.setStreamType:(I)V
3: StackMap locals: android.media.Ringtone
StackMap stack:
aload 3
aload 1
invokevirtual android.media.Ringtone.setUri:(Landroid/net/Uri;)V
4: aload 3
5: areturn
end local 3 6: StackMap locals: android.content.Context android.net.Uri int
StackMap stack: java.lang.Exception
astore 3
start local 3 7: ldc "RingtoneManager"
new java.lang.StringBuilder
dup
ldc "Failed to open ringtone "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc ": "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 3
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokestatic android.util.Log.e:(Ljava/lang/String;Ljava/lang/String;)I
pop
end local 3 8: aconst_null
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 context Landroid/content/Context;
0 9 1 ringtoneUri Landroid/net/Uri;
0 9 2 streamType I
1 6 3 r Landroid/media/Ringtone;
7 8 3 ex Ljava/lang/Exception;
Exception table:
from to target type
0 5 6 Class java.lang.Exception
MethodParameters:
Name Flags
context final
ringtoneUri
streamType
private java.io.File getRingtonePathFromUri(android.net.Uri);
descriptor: (Landroid/net/Uri;)Ljava/io/File;
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=7, args_size=2
start local 0 start local 1 0: iconst_1
anewarray java.lang.String
dup
iconst_0
ldc "_data"
aastore
astore 2
start local 2 1: aload 0
bipush 7
invokevirtual android.media.RingtoneManager.setFilterColumnsList:(I)V
2: aconst_null
astore 3
start local 3 3: aconst_null
astore 4
aconst_null
astore 5
4: aload 0
aload 1
aload 2
aload 0
getfield android.media.RingtoneManager.mFilterColumns:Ljava/util/List;
invokestatic android.media.RingtoneManager.constructBooleanTrueWhereClause:(Ljava/util/List;)Ljava/lang/String;
5: aconst_null
aconst_null
6: invokevirtual android.media.RingtoneManager.query:(Landroid/net/Uri;[Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;)Landroid/database/Cursor;
astore 6
start local 6 7: aload 6
ifnull 9
aload 6
invokeinterface android.database.Cursor.moveToFirst:()Z
ifeq 9
8: aload 6
aload 6
ldc "_data"
invokeinterface android.database.Cursor.getColumnIndex:(Ljava/lang/String;)I
invokeinterface android.database.Cursor.getString:(I)Ljava/lang/String;
astore 3
9: StackMap locals: android.media.RingtoneManager android.net.Uri java.lang.String[] java.lang.String java.lang.Throwable java.lang.Throwable android.database.Cursor
StackMap stack:
aload 6
ifnull 15
aload 6
invokeinterface android.database.Cursor.close:()V
goto 15
StackMap locals:
StackMap stack: java.lang.Throwable
10: astore 4
aload 6
ifnull 11
aload 6
invokeinterface android.database.Cursor.close:()V
end local 6 StackMap locals:
StackMap stack:
11: aload 4
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
12: astore 5
aload 4
ifnonnull 13
aload 5
astore 4
goto 14
StackMap locals:
StackMap stack:
13: aload 4
aload 5
if_acmpeq 14
aload 4
aload 5
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
14: aload 4
athrow
15: StackMap locals:
StackMap stack:
aload 3
ifnull 16
new java.io.File
dup
aload 3
invokespecial java.io.File.<init>:(Ljava/lang/String;)V
goto 17
StackMap locals:
StackMap stack:
16: aconst_null
StackMap locals:
StackMap stack: java.io.File
17: areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 18 0 this Landroid/media/RingtoneManager;
0 18 1 uri Landroid/net/Uri;
1 18 2 projection [Ljava/lang/String;
3 18 3 path Ljava/lang/String;
7 11 6 cursor Landroid/database/Cursor;
Exception table:
from to target type
7 9 10 any
4 12 12 any
MethodParameters:
Name Flags
uri
public static void disableSyncFromParent(android.content.Context);
descriptor: (Landroid/content/Context;)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=3, args_size=1
start local 0 0: ldc "audio"
invokestatic android.os.ServiceManager.getService:(Ljava/lang/String;)Landroid/os/IBinder;
astore 1
start local 1 1: aload 1
invokestatic android.media.IAudioService$Stub.asInterface:(Landroid/os/IBinder;)Landroid/media/IAudioService;
astore 2
start local 2 2: aload 2
aload 0
invokevirtual android.content.Context.getUserId:()I
invokeinterface android.media.IAudioService.disableRingtoneSync:(I)V
3: goto 6
StackMap locals: android.content.Context android.os.IBinder android.media.IAudioService
StackMap stack: android.os.RemoteException
4: pop
5: ldc "RingtoneManager"
ldc "Unable to disable ringtone sync."
invokestatic android.util.Log.e:(Ljava/lang/String;Ljava/lang/String;)I
pop
6: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 userContext Landroid/content/Context;
1 7 1 b Landroid/os/IBinder;
2 7 2 audioService Landroid/media/IAudioService;
Exception table:
from to target type
2 3 4 Class android.os.RemoteException
MethodParameters:
Name Flags
userContext
public static void enableSyncFromParent(android.content.Context);
descriptor: (Landroid/content/Context;)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=1, args_size=1
0: new java.lang.Error
dup
ldc "Unresolved compilation problem: \n\tManifest cannot be resolved to a variable\n"
invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
athrow
LocalVariableTable:
Start End Slot Name Signature
MethodParameters:
Name Flags
userContext
public static android.net.Uri getActualDefaultRingtoneUri(android.content.Context, int);
descriptor: (Landroid/content/Context;I)Landroid/net/Uri;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=5, args_size=2
start local 0 start local 1 0: iload 1
invokestatic android.media.RingtoneManager.getSettingForType:(I)Ljava/lang/String;
astore 2
start local 2 1: aload 2
ifnonnull 2
aconst_null
areturn
2: StackMap locals: java.lang.String
StackMap stack:
aload 0
invokevirtual android.content.Context.getContentResolver:()Landroid/content/ContentResolver;
3: aload 2
aload 0
invokevirtual android.content.Context.getUserId:()I
4: invokestatic android.provider.Settings$System.getStringForUser:(Landroid/content/ContentResolver;Ljava/lang/String;I)Ljava/lang/String;
astore 3
start local 3 5: aload 3
ifnull 6
aload 3
invokestatic android.net.Uri.parse:(Ljava/lang/String;)Landroid/net/Uri;
goto 7
StackMap locals: java.lang.String
StackMap stack:
6: aconst_null
StackMap locals:
StackMap stack: android.net.Uri
7: astore 4
start local 4 8: aload 4
ifnull 11
9: aload 4
invokestatic android.content.ContentProvider.getUserIdFromUri:(Landroid/net/Uri;)I
aload 0
invokevirtual android.content.Context.getUserId:()I
if_icmpne 11
10: aload 4
invokestatic android.content.ContentProvider.getUriWithoutUserId:(Landroid/net/Uri;)Landroid/net/Uri;
astore 4
11: StackMap locals: android.net.Uri
StackMap stack:
aload 4
areturn
end local 4 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;
0 12 1 type I
1 12 2 setting Ljava/lang/String;
5 12 3 uriString Ljava/lang/String;
8 12 4 ringtoneUri Landroid/net/Uri;
MethodParameters:
Name Flags
context
type
public static void setActualDefaultRingtoneUri(android.content.Context, int, android.net.Uri);
descriptor: (Landroid/content/Context;ILandroid/net/Uri;)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=10, args_size=3
start local 0 start local 1 start local 2 0: iload 1
invokestatic android.media.RingtoneManager.getSettingForType:(I)Ljava/lang/String;
astore 3
start local 3 1: aload 3
ifnonnull 2
return
2: StackMap locals: java.lang.String
StackMap stack:
aload 0
invokevirtual android.content.Context.getContentResolver:()Landroid/content/ContentResolver;
astore 4
start local 4 3: aload 4
ldc "sync_parent_sounds"
iconst_0
4: aload 0
invokevirtual android.content.Context.getUserId:()I
5: invokestatic android.provider.Settings$Secure.getIntForUser:(Landroid/content/ContentResolver;Ljava/lang/String;II)I
6: iconst_1
7: if_icmpne 9
8: aload 0
invokestatic android.media.RingtoneManager.disableSyncFromParent:(Landroid/content/Context;)V
9: StackMap locals: android.content.ContentResolver
StackMap stack:
aload 2
invokestatic android.media.RingtoneManager.isInternalRingtoneUri:(Landroid/net/Uri;)Z
ifne 11
10: aload 2
aload 0
invokevirtual android.content.Context.getUserId:()I
invokestatic android.content.ContentProvider.maybeAddUserId:(Landroid/net/Uri;I)Landroid/net/Uri;
astore 2
11: StackMap locals:
StackMap stack:
aload 4
aload 3
12: aload 2
ifnull 13
aload 2
invokevirtual android.net.Uri.toString:()Ljava/lang/String;
goto 14
StackMap locals: android.content.Context int android.net.Uri java.lang.String android.content.ContentResolver
StackMap stack: android.content.ContentResolver java.lang.String
13: aconst_null
StackMap locals: android.content.Context int android.net.Uri java.lang.String android.content.ContentResolver
StackMap stack: android.content.ContentResolver java.lang.String java.lang.String
14: aload 0
invokevirtual android.content.Context.getUserId:()I
15: invokestatic android.provider.Settings$System.putStringForUser:(Landroid/content/ContentResolver;Ljava/lang/String;Ljava/lang/String;I)Z
pop
16: aload 2
ifnull 35
17: iload 1
aload 0
invokevirtual android.content.Context.getUserId:()I
invokestatic android.media.RingtoneManager.getCacheForType:(II)Landroid/net/Uri;
astore 5
start local 5 18: aconst_null
astore 6
aconst_null
astore 7
19: aload 0
aload 2
invokestatic android.media.RingtoneManager.openRingtone:(Landroid/content/Context;Landroid/net/Uri;)Ljava/io/InputStream;
astore 8
start local 8 20: aload 4
aload 5
invokevirtual android.content.ContentResolver.openOutputStream:(Landroid/net/Uri;)Ljava/io/OutputStream;
astore 9
start local 9 21: aload 8
aload 9
invokestatic android.os.FileUtils.copy:(Ljava/io/InputStream;Ljava/io/OutputStream;)J
pop2
22: aload 9
ifnull 25
aload 9
invokevirtual java.io.OutputStream.close:()V
goto 25
StackMap locals: android.content.Context int android.net.Uri java.lang.String android.content.ContentResolver android.net.Uri java.lang.Throwable java.lang.Throwable java.io.InputStream java.io.OutputStream
StackMap stack: java.lang.Throwable
23: astore 6
aload 9
ifnull 24
aload 9
invokevirtual java.io.OutputStream.close:()V
end local 9 StackMap locals:
StackMap stack:
24: aload 6
athrow
StackMap locals:
StackMap stack:
25: aload 8
ifnull 35
aload 8
invokevirtual java.io.InputStream.close:()V
goto 35
StackMap locals:
StackMap stack: java.lang.Throwable
26: astore 7
aload 6
ifnonnull 27
aload 7
astore 6
goto 28
StackMap locals:
StackMap stack:
27: aload 6
aload 7
if_acmpeq 28
aload 6
aload 7
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
28: aload 8
ifnull 29
aload 8
invokevirtual java.io.InputStream.close:()V
end local 8 StackMap locals:
StackMap stack:
29: aload 6
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
30: astore 7
aload 6
ifnonnull 31
aload 7
astore 6
goto 32
StackMap locals:
StackMap stack:
31: aload 6
aload 7
if_acmpeq 32
aload 6
aload 7
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
32: aload 6
athrow
StackMap locals: android.content.Context int android.net.Uri java.lang.String android.content.ContentResolver android.net.Uri
StackMap stack: java.io.IOException
33: astore 6
start local 6 34: ldc "RingtoneManager"
new java.lang.StringBuilder
dup
ldc "Failed to cache ringtone: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 6
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokestatic android.util.Log.w:(Ljava/lang/String;Ljava/lang/String;)I
pop
end local 6 end local 5 35: StackMap locals:
StackMap stack:
return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 36 0 context Landroid/content/Context;
0 36 1 type I
0 36 2 ringtoneUri Landroid/net/Uri;
1 36 3 setting Ljava/lang/String;
3 36 4 resolver Landroid/content/ContentResolver;
18 35 5 cacheUri Landroid/net/Uri;
20 29 8 in Ljava/io/InputStream;
21 24 9 out Ljava/io/OutputStream;
34 35 6 e Ljava/io/IOException;
Exception table:
from to target type
21 22 23 any
20 25 26 any
19 30 30 any
18 33 33 Class java.io.IOException
MethodParameters:
Name Flags
context
type
ringtoneUri
private static boolean isInternalRingtoneUri(android.net.Uri);
descriptor: (Landroid/net/Uri;)Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getstatic android.provider.MediaStore$Audio$Media.INTERNAL_CONTENT_URI:Landroid/net/Uri;
invokestatic android.media.RingtoneManager.isRingtoneUriInStorage:(Landroid/net/Uri;Landroid/net/Uri;)Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 uri Landroid/net/Uri;
MethodParameters:
Name Flags
uri
private static boolean isExternalRingtoneUri(android.net.Uri);
descriptor: (Landroid/net/Uri;)Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getstatic android.provider.MediaStore$Audio$Media.EXTERNAL_CONTENT_URI:Landroid/net/Uri;
invokestatic android.media.RingtoneManager.isRingtoneUriInStorage:(Landroid/net/Uri;Landroid/net/Uri;)Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 uri Landroid/net/Uri;
MethodParameters:
Name Flags
uri
private static boolean isRingtoneUriInStorage(android.net.Uri, android.net.Uri);
descriptor: (Landroid/net/Uri;Landroid/net/Uri;)Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 0
invokestatic android.content.ContentProvider.getUriWithoutUserId:(Landroid/net/Uri;)Landroid/net/Uri;
astore 2
start local 2 1: aload 2
ifnonnull 2
iconst_0
goto 3
2: StackMap locals: android.net.Uri
StackMap stack:
aload 2
invokevirtual android.net.Uri.toString:()Ljava/lang/String;
aload 1
invokevirtual android.net.Uri.toString:()Ljava/lang/String;
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
3: StackMap locals:
StackMap stack: int
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 ringtone Landroid/net/Uri;
0 4 1 storage Landroid/net/Uri;
1 4 2 uriWithoutUserId Landroid/net/Uri;
MethodParameters:
Name Flags
ringtone
storage
public boolean isCustomRingtone(android.net.Uri);
descriptor: (Landroid/net/Uri;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=9, args_size=2
start local 0 start local 1 0: aload 1
invokestatic android.media.RingtoneManager.isExternalRingtoneUri:(Landroid/net/Uri;)Z
ifne 2
1: iconst_0
ireturn
2: StackMap locals:
StackMap stack:
aload 1
ifnonnull 3
aconst_null
goto 4
StackMap locals:
StackMap stack:
3: aload 0
aload 1
invokevirtual android.media.RingtoneManager.getRingtonePathFromUri:(Landroid/net/Uri;)Ljava/io/File;
StackMap locals:
StackMap stack: java.io.File
4: astore 2
start local 2 5: aload 2
ifnonnull 6
aconst_null
goto 7
StackMap locals: java.io.File
StackMap stack:
6: aload 2
invokevirtual java.io.File.getParentFile:()Ljava/io/File;
StackMap locals:
StackMap stack: java.io.File
7: astore 3
start local 3 8: aload 3
ifnonnull 10
9: iconst_0
ireturn
10: StackMap locals: java.io.File
StackMap stack:
iconst_3
anewarray java.lang.String
dup
iconst_0
11: getstatic android.os.Environment.DIRECTORY_RINGTONES:Ljava/lang/String;
aastore
dup
iconst_1
12: getstatic android.os.Environment.DIRECTORY_NOTIFICATIONS:Ljava/lang/String;
aastore
dup
iconst_2
13: getstatic android.os.Environment.DIRECTORY_ALARMS:Ljava/lang/String;
aastore
14: astore 4
start local 4 15: aload 4
dup
astore 8
arraylength
istore 7
iconst_0
istore 6
goto 20
StackMap locals: android.media.RingtoneManager android.net.Uri java.io.File java.io.File java.lang.String[] top int int java.lang.String[]
StackMap stack:
16: aload 8
iload 6
aaload
astore 5
start local 5 17: aload 3
aload 5
invokestatic android.os.Environment.getExternalStoragePublicDirectory:(Ljava/lang/String;)Ljava/io/File;
invokevirtual java.io.File.equals:(Ljava/lang/Object;)Z
ifeq 19
18: iconst_1
ireturn
end local 5 19: StackMap locals:
StackMap stack:
iinc 6 1
StackMap locals:
StackMap stack:
20: iload 6
iload 7
if_icmplt 16
21: 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 22 0 this Landroid/media/RingtoneManager;
0 22 1 uri Landroid/net/Uri;
5 22 2 ringtoneFile Ljava/io/File;
8 22 3 parent Ljava/io/File;
15 22 4 directories [Ljava/lang/String;
17 19 5 directory Ljava/lang/String;
MethodParameters:
Name Flags
uri
public android.net.Uri addCustomExternalRingtone(android.net.Uri, int);
descriptor: (Landroid/net/Uri;I)Landroid/net/Uri;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=10, args_size=3
start local 0 start local 1 start local 2 0: invokestatic android.os.Environment.getExternalStorageState:()Ljava/lang/String;
ldc "mounted"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 2
1: new java.io.IOException
dup
ldc "External storage is not mounted. Unable to install ringtones."
invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
aload 0
getfield android.media.RingtoneManager.mContext:Landroid/content/Context;
invokevirtual android.content.Context.getContentResolver:()Landroid/content/ContentResolver;
aload 1
invokevirtual android.content.ContentResolver.getType:(Landroid/net/Uri;)Ljava/lang/String;
astore 3
start local 3 3: aload 3
ifnull 5
4: aload 3
ldc "audio/"
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifne 8
aload 3
ldc "application/ogg"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 8
5: StackMap locals: java.lang.String
StackMap stack:
new java.lang.IllegalArgumentException
dup
new java.lang.StringBuilder
dup
ldc "Ringtone file must have MIME type \"audio/*\". Given file has MIME type \""
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
6: aload 3
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "\""
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
7: invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
8: StackMap locals:
StackMap stack:
iload 2
invokestatic android.media.RingtoneManager.getExternalDirectoryForType:(I)Ljava/lang/String;
astore 4
start local 4 9: aload 0
getfield android.media.RingtoneManager.mContext:Landroid/content/Context;
aload 4
10: aload 0
getfield android.media.RingtoneManager.mContext:Landroid/content/Context;
aload 1
invokestatic android.media.Utils.getFileDisplayNameFromUri:(Landroid/content/Context;Landroid/net/Uri;)Ljava/lang/String;
aload 3
11: invokestatic android.media.Utils.getUniqueExternalFile:(Landroid/content/Context;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/io/File;
astore 5
start local 5 12: aconst_null
astore 6
aconst_null
astore 7
13: aload 0
getfield android.media.RingtoneManager.mContext:Landroid/content/Context;
invokevirtual android.content.Context.getContentResolver:()Landroid/content/ContentResolver;
aload 1
invokevirtual android.content.ContentResolver.openInputStream:(Landroid/net/Uri;)Ljava/io/InputStream;
astore 8
start local 8 14: new java.io.FileOutputStream
dup
aload 5
invokespecial java.io.FileOutputStream.<init>:(Ljava/io/File;)V
astore 9
start local 9 15: aload 8
aload 9
invokestatic android.os.FileUtils.copy:(Ljava/io/InputStream;Ljava/io/OutputStream;)J
pop2
16: aload 9
ifnull 19
aload 9
invokevirtual java.io.OutputStream.close:()V
goto 19
StackMap locals: android.media.RingtoneManager android.net.Uri int java.lang.String java.lang.String java.io.File java.lang.Throwable java.lang.Throwable java.io.InputStream java.io.OutputStream
StackMap stack: java.lang.Throwable
17: astore 6
aload 9
ifnull 18
aload 9
invokevirtual java.io.OutputStream.close:()V
end local 9 StackMap locals:
StackMap stack:
18: aload 6
athrow
StackMap locals:
StackMap stack:
19: aload 8
ifnull 27
aload 8
invokevirtual java.io.InputStream.close:()V
goto 27
StackMap locals:
StackMap stack: java.lang.Throwable
20: astore 7
aload 6
ifnonnull 21
aload 7
astore 6
goto 22
StackMap locals:
StackMap stack:
21: aload 6
aload 7
if_acmpeq 22
aload 6
aload 7
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
22: aload 8
ifnull 23
aload 8
invokevirtual java.io.InputStream.close:()V
end local 8 StackMap locals:
StackMap stack:
23: aload 6
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
24: astore 7
aload 6
ifnonnull 25
aload 7
astore 6
goto 26
StackMap locals:
StackMap stack:
25: aload 6
aload 7
if_acmpeq 26
aload 6
aload 7
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
26: aload 6
athrow
27: StackMap locals:
StackMap stack:
aconst_null
astore 6
aconst_null
astore 7
28: new android.media.RingtoneManager$NewRingtoneScanner
dup
aload 0
aload 5
invokespecial android.media.RingtoneManager$NewRingtoneScanner.<init>:(Landroid/media/RingtoneManager;Ljava/io/File;)V
astore 8
start local 8 29: aload 8
invokevirtual android.media.RingtoneManager$NewRingtoneScanner.take:()Landroid/net/Uri;
30: aload 8
ifnull 31
aload 8
invokevirtual android.media.RingtoneManager$NewRingtoneScanner.close:()V
31: StackMap locals: android.media.RingtoneManager android.net.Uri int java.lang.String java.lang.String java.io.File java.lang.Throwable java.lang.Throwable android.media.RingtoneManager$NewRingtoneScanner
StackMap stack: android.net.Uri
areturn
StackMap locals:
StackMap stack: java.lang.Throwable
32: astore 6
33: aload 8
ifnull 34
aload 8
invokevirtual android.media.RingtoneManager$NewRingtoneScanner.close:()V
end local 8 StackMap locals:
StackMap stack:
34: aload 6
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
35: astore 7
aload 6
ifnonnull 36
aload 7
astore 6
goto 37
StackMap locals:
StackMap stack:
36: aload 6
aload 7
if_acmpeq 37
aload 6
aload 7
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
37: aload 6
athrow
StackMap locals: android.media.RingtoneManager android.net.Uri int java.lang.String java.lang.String java.io.File
StackMap stack: java.lang.InterruptedException
38: astore 6
start local 6 39: new java.io.IOException
dup
ldc "Audio file failed to scan as a ringtone"
aload 6
invokespecial java.io.IOException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
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 40 0 this Landroid/media/RingtoneManager;
0 40 1 fileUri Landroid/net/Uri;
0 40 2 type I
3 40 3 mimeType Ljava/lang/String;
9 40 4 subdirectory Ljava/lang/String;
12 40 5 outFile Ljava/io/File;
14 23 8 input Ljava/io/InputStream;
15 18 9 output Ljava/io/OutputStream;
29 34 8 scanner Landroid/media/RingtoneManager$NewRingtoneScanner;
39 40 6 e Ljava/lang/InterruptedException;
Exception table:
from to target type
15 16 17 any
14 19 20 any
13 24 24 any
29 30 32 any
28 31 35 any
32 35 35 any
27 31 38 Class java.lang.InterruptedException
32 38 38 Class java.lang.InterruptedException
Exceptions:
throws java.io.FileNotFoundException, java.lang.IllegalArgumentException, java.io.IOException
MethodParameters:
Name Flags
fileUri final
type final
private static final java.lang.String getExternalDirectoryForType(int);
descriptor: (I)Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
Code:
stack=5, locals=1, args_size=1
start local 0 0: iload 0
tableswitch { // 1 - 4
1: 1
2: 2
3: 4
4: 3
default: 4
}
1: StackMap locals:
StackMap stack:
getstatic android.os.Environment.DIRECTORY_RINGTONES:Ljava/lang/String;
areturn
2: StackMap locals:
StackMap stack:
getstatic android.os.Environment.DIRECTORY_NOTIFICATIONS:Ljava/lang/String;
areturn
3: StackMap locals:
StackMap stack:
getstatic android.os.Environment.DIRECTORY_ALARMS:Ljava/lang/String;
areturn
4: StackMap locals:
StackMap stack:
new java.lang.IllegalArgumentException
dup
new java.lang.StringBuilder
dup
ldc "Unsupported ringtone type: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 0
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 type I
MethodParameters:
Name Flags
type final
public boolean deleteExternalRingtone(android.net.Uri);
descriptor: (Landroid/net/Uri;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=4, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokevirtual android.media.RingtoneManager.isCustomRingtone:(Landroid/net/Uri;)Z
ifne 2
1: iconst_0
ireturn
2: StackMap locals:
StackMap stack:
aload 0
aload 1
invokevirtual android.media.RingtoneManager.getRingtonePathFromUri:(Landroid/net/Uri;)Ljava/io/File;
astore 2
start local 2 3: aload 2
ifnull 8
aload 0
getfield android.media.RingtoneManager.mContext:Landroid/content/Context;
invokevirtual android.content.Context.getContentResolver:()Landroid/content/ContentResolver;
aload 1
aconst_null
aconst_null
invokevirtual android.content.ContentResolver.delete:(Landroid/net/Uri;Ljava/lang/String;[Ljava/lang/String;)I
ifle 8
4: aload 2
invokevirtual java.io.File.delete:()Z
5: ireturn
6: StackMap locals: android.media.RingtoneManager android.net.Uri java.io.File
StackMap stack: java.lang.SecurityException
astore 3
start local 3 7: ldc "RingtoneManager"
ldc "Unable to delete custom ringtone"
aload 3
invokestatic android.util.Log.d:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
pop
end local 3 8: StackMap locals:
StackMap stack:
iconst_0
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Landroid/media/RingtoneManager;
0 9 1 uri Landroid/net/Uri;
3 9 2 ringtoneFile Ljava/io/File;
7 8 3 e Ljava/lang/SecurityException;
Exception table:
from to target type
3 5 6 Class java.lang.SecurityException
MethodParameters:
Name Flags
uri
private static java.io.InputStream openRingtone(android.content.Context, android.net.Uri);
descriptor: (Landroid/content/Context;Landroid/net/Uri;)Ljava/io/InputStream;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=6, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual android.content.Context.getContentResolver:()Landroid/content/ContentResolver;
astore 2
start local 2 1: aload 2
aload 1
invokevirtual android.content.ContentResolver.openInputStream:(Landroid/net/Uri;)Ljava/io/InputStream;
2: areturn
3: StackMap locals: android.content.Context android.net.Uri android.content.ContentResolver
StackMap stack: java.lang.Exception
astore 3
start local 3 4: ldc "RingtoneManager"
new java.lang.StringBuilder
dup
ldc "Failed to open directly; attempting failover: "
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;
invokestatic android.util.Log.w:(Ljava/lang/String;Ljava/lang/String;)I
pop
5: aload 0
ldc Landroid/media/AudioManager;
invokevirtual android.content.Context.getSystemService:(Ljava/lang/Class;)Ljava/lang/Object;
checkcast android.media.AudioManager
6: invokevirtual android.media.AudioManager.getRingtonePlayer:()Landroid/media/IRingtonePlayer;
7: astore 4
start local 4 8: new android.os.ParcelFileDescriptor$AutoCloseInputStream
dup
aload 4
aload 1
invokeinterface android.media.IRingtonePlayer.openRingtone:(Landroid/net/Uri;)Landroid/os/ParcelFileDescriptor;
invokespecial android.os.ParcelFileDescriptor$AutoCloseInputStream.<init>:(Landroid/os/ParcelFileDescriptor;)V
9: areturn
10: StackMap locals: android.content.Context android.net.Uri android.content.ContentResolver java.lang.Exception android.media.IRingtonePlayer
StackMap stack: java.lang.Exception
astore 5
start local 5 11: new java.io.IOException
dup
aload 5
invokespecial java.io.IOException.<init>:(Ljava/lang/Throwable;)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 12 0 context Landroid/content/Context;
0 12 1 uri Landroid/net/Uri;
1 12 2 resolver Landroid/content/ContentResolver;
4 12 3 e Ljava/lang/Exception;
8 12 4 player Landroid/media/IRingtonePlayer;
11 12 5 e2 Ljava/lang/Exception;
Exception table:
from to target type
1 2 3 Class java.lang.SecurityException
1 2 3 Class java.io.IOException
8 9 10 Class java.lang.Exception
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
context
uri
private static java.lang.String getSettingForType(int);
descriptor: (I)Ljava/lang/String;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: iload 0
iconst_1
iand
ifeq 2
1: ldc "ringtone"
areturn
2: StackMap locals:
StackMap stack:
iload 0
iconst_2
iand
ifeq 4
3: ldc "notification_sound"
areturn
4: StackMap locals:
StackMap stack:
iload 0
iconst_4
iand
ifeq 6
5: ldc "alarm_alert"
areturn
6: StackMap locals:
StackMap stack:
aconst_null
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 type I
MethodParameters:
Name Flags
type
public static android.net.Uri getCacheForType(int);
descriptor: (I)Landroid/net/Uri;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: iload 0
invokestatic android.os.UserHandle.getCallingUserId:()I
invokestatic android.media.RingtoneManager.getCacheForType:(II)Landroid/net/Uri;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 type I
MethodParameters:
Name Flags
type
public static android.net.Uri getCacheForType(int, int);
descriptor: (II)Landroid/net/Uri;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: iload 0
iconst_1
iand
ifeq 2
1: getstatic android.provider.Settings$System.RINGTONE_CACHE_URI:Landroid/net/Uri;
iload 1
invokestatic android.content.ContentProvider.maybeAddUserId:(Landroid/net/Uri;I)Landroid/net/Uri;
areturn
2: StackMap locals:
StackMap stack:
iload 0
iconst_2
iand
ifeq 6
3: getstatic android.provider.Settings$System.NOTIFICATION_SOUND_CACHE_URI:Landroid/net/Uri;
4: iload 1
5: invokestatic android.content.ContentProvider.maybeAddUserId:(Landroid/net/Uri;I)Landroid/net/Uri;
areturn
6: StackMap locals:
StackMap stack:
iload 0
iconst_4
iand
ifeq 8
7: getstatic android.provider.Settings$System.ALARM_ALERT_CACHE_URI:Landroid/net/Uri;
iload 1
invokestatic android.content.ContentProvider.maybeAddUserId:(Landroid/net/Uri;I)Landroid/net/Uri;
areturn
8: StackMap locals:
StackMap stack:
aconst_null
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 type I
0 9 1 userId I
MethodParameters:
Name Flags
type
userId
public static boolean isDefault(android.net.Uri);
descriptor: (Landroid/net/Uri;)Z
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
invokestatic android.media.RingtoneManager.getDefaultType:(Landroid/net/Uri;)I
iconst_m1
if_icmpeq 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 ringtoneUri Landroid/net/Uri;
MethodParameters:
Name Flags
ringtoneUri
public static int getDefaultType(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
invokestatic android.content.ContentProvider.getUriWithoutUserId:(Landroid/net/Uri;)Landroid/net/Uri;
astore 0
1: aload 0
ifnonnull 3
2: iconst_m1
ireturn
3: StackMap locals:
StackMap stack:
aload 0
getstatic android.provider.Settings$System.DEFAULT_RINGTONE_URI:Landroid/net/Uri;
invokevirtual android.net.Uri.equals:(Ljava/lang/Object;)Z
ifeq 5
4: iconst_1
ireturn
5: StackMap locals:
StackMap stack:
aload 0
getstatic android.provider.Settings$System.DEFAULT_NOTIFICATION_URI:Landroid/net/Uri;
invokevirtual android.net.Uri.equals:(Ljava/lang/Object;)Z
ifeq 7
6: iconst_2
ireturn
7: StackMap locals:
StackMap stack:
aload 0
getstatic android.provider.Settings$System.DEFAULT_ALARM_ALERT_URI:Landroid/net/Uri;
invokevirtual android.net.Uri.equals:(Ljava/lang/Object;)Z
ifeq 9
8: iconst_4
ireturn
9: StackMap locals:
StackMap stack:
iconst_m1
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 defaultRingtoneUri Landroid/net/Uri;
MethodParameters:
Name Flags
defaultRingtoneUri
public static android.net.Uri getDefaultUri(int);
descriptor: (I)Landroid/net/Uri;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: iload 0
iconst_1
iand
ifeq 2
1: getstatic android.provider.Settings$System.DEFAULT_RINGTONE_URI:Landroid/net/Uri;
areturn
2: StackMap locals:
StackMap stack:
iload 0
iconst_2
iand
ifeq 4
3: getstatic android.provider.Settings$System.DEFAULT_NOTIFICATION_URI:Landroid/net/Uri;
areturn
4: StackMap locals:
StackMap stack:
iload 0
iconst_4
iand
ifeq 6
5: getstatic android.provider.Settings$System.DEFAULT_ALARM_ALERT_URI:Landroid/net/Uri;
areturn
6: StackMap locals:
StackMap stack:
aconst_null
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 type I
MethodParameters:
Name Flags
type
private static android.content.Context createPackageContextAsUser(android.content.Context, int);
descriptor: (Landroid/content/Context;I)Landroid/content/Context;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=3, args_size=2
start local 0 start local 1 0: aload 0
aload 0
invokevirtual android.content.Context.getPackageName:()Ljava/lang/String;
iconst_0
1: iload 1
invokestatic android.os.UserHandle.of:(I)Landroid/os/UserHandle;
2: invokevirtual android.content.Context.createPackageContextAsUser:(Ljava/lang/String;ILandroid/os/UserHandle;)Landroid/content/Context;
3: areturn
4: StackMap locals:
StackMap stack: android.content.pm.PackageManager$NameNotFoundException
astore 2
start local 2 5: ldc "RingtoneManager"
ldc "Unable to create package context"
aload 2
invokestatic android.util.Log.e:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
pop
6: aconst_null
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 context Landroid/content/Context;
0 7 1 userId I
5 7 2 e Landroid/content/pm/PackageManager$NameNotFoundException;
Exception table:
from to target type
0 3 4 Class android.content.pm.PackageManager$NameNotFoundException
MethodParameters:
Name Flags
context
userId
}
SourceFile: "RingtoneManager.java"
NestMembers:
android.media.RingtoneManager$NewRingtoneScanner
InnerClasses:
public NameNotFoundException = android.content.pm.PackageManager$NameNotFoundException of android.content.pm.PackageManager
public abstract Stub = android.media.IAudioService$Stub of android.media.IAudioService
private NewRingtoneScanner = android.media.RingtoneManager$NewRingtoneScanner of android.media.RingtoneManager
public AutoCloseInputStream = android.os.ParcelFileDescriptor$AutoCloseInputStream of android.os.ParcelFileDescriptor
public final Audio = android.provider.MediaStore$Audio of android.provider.MediaStore
public final Media = android.provider.MediaStore$Audio$Media of android.provider.MediaStore$Audio
public final Secure = android.provider.Settings$Secure of android.provider.Settings
public final System = android.provider.Settings$System of android.provider.Settings