Merge "Use synthetic external view for playlist member uri" into mainline-prod
diff --git a/src/com/android/providers/media/MediaProvider.java b/src/com/android/providers/media/MediaProvider.java
index b0d4ebb..192e69a 100644
--- a/src/com/android/providers/media/MediaProvider.java
+++ b/src/com/android/providers/media/MediaProvider.java
@@ -3268,8 +3268,11 @@
 
                 final long audioId = initialValues
                         .getAsLong(MediaStore.Audio.Playlists.Members.AUDIO_ID);
+                final String audioVolumeName =
+                        MediaStore.VOLUME_INTERNAL.equals(resolvedVolumeName)
+                                ? MediaStore.VOLUME_INTERNAL : MediaStore.VOLUME_EXTERNAL;
                 final Uri audioUri = ContentUris.withAppendedId(
-                        MediaStore.Audio.Media.getContentUri(resolvedVolumeName), audioId);
+                        MediaStore.Audio.Media.getContentUri(audioVolumeName), audioId);
 
                 // Require that caller has write access to underlying media
                 enforceCallingPermission(playlistUri, Bundle.EMPTY, true);
@@ -5536,7 +5539,9 @@
     private long addPlaylistMembers(@NonNull Uri playlistUri, @NonNull ContentValues values)
             throws FallbackException {
         final long audioId = values.getAsLong(Audio.Playlists.Members.AUDIO_ID);
-        final Uri audioUri = Audio.Media.getContentUri(getVolumeName(playlistUri), audioId);
+        final String audioVolumeName = MediaStore.VOLUME_INTERNAL.equals(getVolumeName(playlistUri))
+                ? MediaStore.VOLUME_INTERNAL : MediaStore.VOLUME_EXTERNAL;
+        final Uri audioUri = Audio.Media.getContentUri(audioVolumeName, audioId);
 
         Integer playOrder = values.getAsInteger(Playlists.Members.PLAY_ORDER);
         playOrder = (playOrder != null) ? (playOrder - 1) : Integer.MAX_VALUE;