From 6378402da1bb98de4fb6e140b0f5b0d42d25bd99 Mon Sep 17 00:00:00 2001 From: Jeff Sharkey Date: Wed, 17 Apr 2019 10:39:42 -0600 Subject: [PATCH] Canonicalize default ringtones. Bug: 130445562 Test: atest --test-mapping packages/providers/MediaProvider Change-Id: Ia4dee2f5596147ac50b2393fccb8516cc43b0102 --- core/java/android/content/ContentResolver.java | 6 ++++++ media/java/android/media/RingtoneManager.java | 3 +-- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/core/java/android/content/ContentResolver.java b/core/java/android/content/ContentResolver.java index 00f1e43c8493d..5f34f1b2bc0db 100644 --- a/core/java/android/content/ContentResolver.java +++ b/core/java/android/content/ContentResolver.java @@ -981,6 +981,12 @@ public abstract class ContentResolver implements ContentInterface { } } + /** {@hide} */ + public final @NonNull Uri canonicalizeOrElse(@NonNull Uri uri) { + final Uri res = canonicalize(uri); + return (res != null) ? res : uri; + } + /** * Transform the given url to a canonical representation of * its referenced resource, which can be used across devices, persisted, diff --git a/media/java/android/media/RingtoneManager.java b/media/java/android/media/RingtoneManager.java index e207721f19183..77f756baa1f28 100644 --- a/media/java/android/media/RingtoneManager.java +++ b/media/java/android/media/RingtoneManager.java @@ -502,8 +502,7 @@ public class RingtoneManager { 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; + return context.getContentResolver().canonicalizeOrElse(uri); } /**