diff options
| author | 2019-04-16 13:47:35 -0600 | |
|---|---|---|
| committer | 2019-04-16 13:47:37 -0600 | |
| commit | aaa19ced731d96451cb6331c658c3e38371565ac (patch) | |
| tree | 279b3b9a28a6871188a9ca2a99da053310a3be50 | |
| parent | 815397ad475f2ad17a1419c01db00fd6caf8ee7b (diff) | |
Canonicalize ringtones before returning.
Bug: 130475623
Test: none
Change-Id: I6408800290077dfc7d0252a9b23443c3a70d4563
| -rw-r--r-- | media/java/android/media/RingtoneManager.java | 16 |
1 files changed, 9 insertions, 7 deletions
diff --git a/media/java/android/media/RingtoneManager.java b/media/java/android/media/RingtoneManager.java index fefb0d7a55bf..e207721f1918 100644 --- a/media/java/android/media/RingtoneManager.java +++ b/media/java/android/media/RingtoneManager.java @@ -495,15 +495,17 @@ public class RingtoneManager { if (mCursor == null || !mCursor.moveToPosition(position)) { return null; } - - return getUriFromCursor(mCursor); + + return getUriFromCursor(mContext, mCursor); } - private static Uri getUriFromCursor(Cursor cursor) { - return ContentUris.withAppendedId(Uri.parse(cursor.getString(URI_COLUMN_INDEX)), cursor - .getLong(ID_COLUMN_INDEX)); + private static Uri getUriFromCursor(Context context, Cursor cursor) { + final Uri uri = ContentUris.withAppendedId(Uri.parse(cursor.getString(URI_COLUMN_INDEX)), + cursor.getLong(ID_COLUMN_INDEX)); + final Uri canonicalized = context.getContentResolver().canonicalize(uri); + return (canonicalized != null) ? canonicalized : uri; } - + /** * Gets the position of a {@link Uri} within this {@link RingtoneManager}. * @@ -569,7 +571,7 @@ public class RingtoneManager { Uri uri = null; if (cursor.moveToFirst()) { - uri = getUriFromCursor(cursor); + uri = getUriFromCursor(context, cursor); } cursor.close(); |