diff options
| author | 2020-09-29 17:10:24 +0000 | |
|---|---|---|
| committer | 2020-09-29 17:10:24 +0000 | |
| commit | 4b664e7ca085ad1bbc132ecb83671977f44687d3 (patch) | |
| tree | a1be606bb52e8afbf55ace0478a3b1450135d40b | |
| parent | 0acdd44047d53ca2997b2eb595b3918afe68642c (diff) | |
| parent | 0ca8b033dd0f2dcb1f601b60d93b1a153e0aad1d (diff) | |
Merge changes I7907f0a3,Iec46c80b am: 4d233a83b7 am: 60d7707016 am: 0ca8b033dd
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1433915
Change-Id: Iaba4bff0265654c729bbd32d15294b65b3915d24
| -rw-r--r-- | media/java/android/media/Ringtone.java | 2 | ||||
| -rw-r--r-- | media/java/android/media/RingtoneManager.java | 15 |
2 files changed, 14 insertions, 3 deletions
diff --git a/media/java/android/media/Ringtone.java b/media/java/android/media/Ringtone.java index d35bc4176cb3..d02b49697821 100644 --- a/media/java/android/media/Ringtone.java +++ b/media/java/android/media/Ringtone.java @@ -372,7 +372,7 @@ public class Ringtone { AudioAttributes.toLegacyStreamType(mAudioAttributes)) != 0) { startLocalPlayer(); } - } else if (mAllowRemote && (mRemotePlayer != null)) { + } else if (mAllowRemote && (mRemotePlayer != null) && (mUri != null)) { final Uri canonicalUri = mUri.getCanonicalUri(); final boolean looping; final float volume; diff --git a/media/java/android/media/RingtoneManager.java b/media/java/android/media/RingtoneManager.java index 8deb0c4451ea..c75296c73a90 100644 --- a/media/java/android/media/RingtoneManager.java +++ b/media/java/android/media/RingtoneManager.java @@ -1130,11 +1130,13 @@ public class RingtoneManager { // Try finding the scanned ringtone final String filename = getDefaultRingtoneFilename(type); + final String whichAudio = getQueryStringForType(type); + final String where = MediaColumns.DISPLAY_NAME + "=? AND " + 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(); + } + } } |