Merge "Ringtone uri should add type query" am: 96d98a9fad am: caf558ecdc am: 8e9f6c8db1 am: 53aa756a06
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1426651 Change-Id: I02b2f6d4c39c93d1c3b4be6583b58fa5c0f00060
This commit is contained in:
@@ -1129,12 +1129,14 @@ public class RingtoneManager {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Try finding the scanned ringtone
|
// Try finding the scanned ringtone
|
||||||
|
final String whichAudio = getQueryStringForType(type);
|
||||||
final String filename = getDefaultRingtoneFilename(type);
|
final String filename = getDefaultRingtoneFilename(type);
|
||||||
|
final String where = MediaColumns.DISPLAY_NAME + "=?," + whichAudio + "=?";
|
||||||
final Uri baseUri = MediaStore.Audio.Media.INTERNAL_CONTENT_URI;
|
final Uri baseUri = MediaStore.Audio.Media.INTERNAL_CONTENT_URI;
|
||||||
try (Cursor cursor = context.getContentResolver().query(baseUri,
|
try (Cursor cursor = context.getContentResolver().query(baseUri,
|
||||||
new String[] { MediaColumns._ID },
|
new String[] { MediaColumns._ID },
|
||||||
MediaColumns.DISPLAY_NAME + "=?",
|
where,
|
||||||
new String[] { filename }, null)) {
|
new String[] { filename , "1"}, null)) {
|
||||||
if (cursor.moveToFirst()) {
|
if (cursor.moveToFirst()) {
|
||||||
final Uri ringtoneUri = context.getContentResolver().canonicalizeOrElse(
|
final Uri ringtoneUri = context.getContentResolver().canonicalizeOrElse(
|
||||||
ContentUris.withAppendedId(baseUri, cursor.getLong(0)));
|
ContentUris.withAppendedId(baseUri, cursor.getLong(0)));
|
||||||
@@ -1162,4 +1164,13 @@ public class RingtoneManager {
|
|||||||
default: throw new IllegalArgumentException();
|
default: throw new IllegalArgumentException();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private static String getQueryStringForType(int type) {
|
||||||
|
switch (type) {
|
||||||
|
case TYPE_RINGTONE: return MediaStore.Audio.AudioColumns.IS_RINGTONE;
|
||||||
|
case TYPE_NOTIFICATION: return MediaStore.Audio.AudioColumns.IS_NOTIFICATION;
|
||||||
|
case TYPE_ALARM: return MediaStore.Audio.AudioColumns.IS_ALARM;
|
||||||
|
default: throw new IllegalArgumentException();
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user