diff options
-rw-r--r-- | apex/framework/java/android/provider/MediaStore.java | 8 | ||||
-rw-r--r-- | src/com/android/providers/media/MediaProvider.java | 10 |
2 files changed, 10 insertions, 8 deletions
diff --git a/apex/framework/java/android/provider/MediaStore.java b/apex/framework/java/android/provider/MediaStore.java index b8ff19503..77f646a47 100644 --- a/apex/framework/java/android/provider/MediaStore.java +++ b/apex/framework/java/android/provider/MediaStore.java @@ -1710,12 +1710,6 @@ public final class MediaStore { Objects.requireNonNull(resolver); Objects.requireNonNull(uris); - final ContentValues values = new ContentValues(); - if (areFavorites) { - values.put(MediaColumns.IS_FAVORITE, 1); - } else { - values.put(MediaColumns.IS_FAVORITE, 0); - } final Iterator<Uri> it = uris.iterator(); final ClipData clipData = ClipData.newRawUri(null, it.next()); while (it.hasNext()) { @@ -1724,7 +1718,7 @@ public final class MediaStore { final Bundle extras = new Bundle(); extras.putParcelable(EXTRA_CLIP_DATA, clipData); - extras.putParcelable(EXTRA_CONTENT_VALUES, values); + extras.putBoolean(MediaColumns.IS_FAVORITE, areFavorites); resolver.call(AUTHORITY, MARK_MEDIA_AS_FAVORITE, null, extras); } diff --git a/src/com/android/providers/media/MediaProvider.java b/src/com/android/providers/media/MediaProvider.java index 85227f7d6..be405f160 100644 --- a/src/com/android/providers/media/MediaProvider.java +++ b/src/com/android/providers/media/MediaProvider.java @@ -7798,8 +7798,9 @@ public class MediaProvider extends ContentProvider { } private Bundle markMediaAsFavorite(Bundle extras) { - final ContentValues values = extras.getParcelable(MediaStore.EXTRA_CONTENT_VALUES); + final boolean areFavorites = extras.getBoolean(MediaColumns.IS_FAVORITE); final ClipData clipData = extras.getParcelable(MediaStore.EXTRA_CLIP_DATA); + final List<Uri> uris = collectUris(clipData); if (!isCallingPackageManager()) { @@ -7812,6 +7813,13 @@ public class MediaProvider extends ContentProvider { } } + final ContentValues values = new ContentValues(); + if (areFavorites) { + values.put(MediaColumns.IS_FAVORITE, 1); + } else { + values.put(MediaColumns.IS_FAVORITE, 0); + } + final LocalCallingIdentity token = clearLocalCallingIdentity(); try { for (Uri uri : uris) { |