Canonicalize ringtones before returning.

Bug: 130475623
Test: none
Change-Id: I6408800290077dfc7d0252a9b23443c3a70d4563
This commit is contained in:
Jeff Sharkey
2019-04-16 13:47:35 -06:00
parent 815397ad47
commit aaa19ced73

View File

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