summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Robert Chou <robertchou@google.com> 2020-09-17 05:35:22 +0000
committer Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com> 2020-09-17 05:35:22 +0000
commit7a38d00bc79fe91aba2b813056df97db920c8a30 (patch)
tree883f3257c01774bfdb79d4b858db0fe98ac6be8d
parenta8f4e865337635d754de02313b48b0896c55ed7e (diff)
parent53aa756a06f7b0760be4c235e0a0ce115b133db2 (diff)
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
-rw-r--r--media/java/android/media/RingtoneManager.java15
1 files changed, 13 insertions, 2 deletions
diff --git a/media/java/android/media/RingtoneManager.java b/media/java/android/media/RingtoneManager.java
index 8deb0c4451ea..20041a8cfc18 100644
--- a/media/java/android/media/RingtoneManager.java
+++ b/media/java/android/media/RingtoneManager.java
@@ -1129,12 +1129,14 @@ public class RingtoneManager {
}
// Try finding the scanned ringtone
+ final String whichAudio = getQueryStringForType(type);
final String filename = getDefaultRingtoneFilename(type);
+ final String where = MediaColumns.DISPLAY_NAME + "=?," + whichAudio + "=?";
final Uri baseUri = MediaStore.Audio.Media.INTERNAL_CONTENT_URI;
try (Cursor cursor = context.getContentResolver().query(baseUri,
new String[] { MediaColumns._ID },
- MediaColumns.DISPLAY_NAME + "=?",
- new String[] { filename }, null)) {
+ where,
+ new String[] { filename , "1"}, null)) {
if (cursor.moveToFirst()) {
final Uri ringtoneUri = context.getContentResolver().canonicalizeOrElse(
ContentUris.withAppendedId(baseUri, cursor.getLong(0)));
@@ -1162,4 +1164,13 @@ public class RingtoneManager {
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();
+ }
+ }
}