summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Jeff Sharkey <jsharkey@android.com> 2019-04-16 13:47:35 -0600
committer Jeff Sharkey <jsharkey@android.com> 2019-04-16 13:47:37 -0600
commitaaa19ced731d96451cb6331c658c3e38371565ac (patch)
tree279b3b9a28a6871188a9ca2a99da053310a3be50
parent815397ad475f2ad17a1419c01db00fd6caf8ee7b (diff)
Canonicalize ringtones before returning.
Bug: 130475623 Test: none Change-Id: I6408800290077dfc7d0252a9b23443c3a70d4563
-rw-r--r--media/java/android/media/RingtoneManager.java16
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();