Merge changes I7907f0a3,Iec46c80b am: 4d233a83b7 am: 60d7707016

Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1433915

Change-Id: Iea5ba64fd780aa1da32b129a0fd1b758631fe3a1
This commit is contained in:
Treehugger Robot
2020-09-29 16:34:36 +00:00
committed by Automerger Merge Worker
2 changed files with 14 additions and 3 deletions

View File

@@ -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;

View File

@@ -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();
}
}
}