Loading packages/MediaComponents/src/com/android/media/MediaController2Impl.java +9 −12 Original line number Diff line number Diff line Loading @@ -1062,7 +1062,6 @@ public class MediaController2Impl implements MediaController2Provider { private static final String KEY_AUDIO_ATTRIBUTES = "android.media.playbackinfo_impl.audio_attrs"; private final Context mContext; private final PlaybackInfo mInstance; private final int mPlaybackType; Loading @@ -1071,9 +1070,8 @@ public class MediaController2Impl implements MediaController2Provider { private final int mCurrentVolume; private final AudioAttributes mAudioAttrs; private PlaybackInfoImpl(Context context, int playbackType, AudioAttributes attrs, int controlType, int max, int current) { mContext = context; private PlaybackInfoImpl(int playbackType, AudioAttributes attrs, int controlType, int max, int current) { mPlaybackType = playbackType; mAudioAttrs = attrs; mControlType = controlType; Loading Loading @@ -1107,11 +1105,11 @@ public class MediaController2Impl implements MediaController2Provider { return mCurrentVolume; } public PlaybackInfo getInstance() { PlaybackInfo getInstance() { return mInstance; } public Bundle toBundle() { Bundle toBundle() { Bundle bundle = new Bundle(); bundle.putInt(KEY_PLAYBACK_TYPE, mPlaybackType); bundle.putInt(KEY_CONTROL_TYPE, mControlType); Loading @@ -1121,13 +1119,13 @@ public class MediaController2Impl implements MediaController2Provider { return bundle; } public static PlaybackInfo createPlaybackInfo(Context context, int playbackType, AudioAttributes attrs, int controlType, int max, int current) { return new PlaybackInfoImpl(context, playbackType, attrs, controlType, max, current) static PlaybackInfo createPlaybackInfo(int playbackType, AudioAttributes attrs, int controlType, int max, int current) { return new PlaybackInfoImpl(playbackType, attrs, controlType, max, current) .getInstance(); } public static PlaybackInfo fromBundle(Context context, Bundle bundle) { static PlaybackInfo fromBundle(Bundle bundle) { if (bundle == null) { return null; } Loading @@ -1137,8 +1135,7 @@ public class MediaController2Impl implements MediaController2Provider { final int currentVolume = bundle.getInt(KEY_CURRENT_VOLUME); final AudioAttributes attrs = bundle.getParcelable(KEY_AUDIO_ATTRIBUTES); return createPlaybackInfo( context, volumeType, attrs, volumeControl, maxVolume, currentVolume); return createPlaybackInfo(volumeType, attrs, volumeControl, maxVolume, currentVolume); } } } packages/MediaComponents/src/com/android/media/MediaController2Stub.java +14 −20 Original line number Diff line number Diff line Loading @@ -141,15 +141,14 @@ public class MediaController2Stub extends IMediaController2.Stub { } List<MediaItem2> playlist = new ArrayList<>(); for (Bundle bundle : playlistBundle) { MediaItem2 item = MediaItem2.fromBundle(controller.getContext(), bundle); MediaItem2 item = MediaItem2.fromBundle(bundle); if (item == null) { Log.w(TAG, "onPlaylistChanged(): Ignoring null item in playlist"); } else { playlist.add(item); } } MediaMetadata2 metadata = MediaMetadata2.fromBundle(controller.getContext(), metadataBundle); MediaMetadata2 metadata = MediaMetadata2.fromBundle(metadataBundle); controller.pushPlaylistChanges(playlist, metadata); } Loading @@ -162,8 +161,7 @@ public class MediaController2Stub extends IMediaController2.Stub { Log.w(TAG, "Don't fail silently here. Highly likely a bug"); return; } MediaMetadata2 metadata = MediaMetadata2.fromBundle(controller.getContext(), metadataBundle); MediaMetadata2 metadata = MediaMetadata2.fromBundle(metadataBundle); controller.pushPlaylistMetadataChanges(metadata); } Loading Loading @@ -191,14 +189,12 @@ public class MediaController2Stub extends IMediaController2.Stub { Log.w(TAG, "Don't fail silently here. Highly likely a bug"); return; } MediaController2.PlaybackInfo info = PlaybackInfoImpl.fromBundle(controller.getContext(), playbackInfo); MediaController2.PlaybackInfo info = PlaybackInfoImpl.fromBundle(playbackInfo); if (info == null) { Log.w(TAG, "onPlaybackInfoChanged(): Ignoring null playbackInfo"); return; } controller.pushPlaybackInfoChanges( PlaybackInfoImpl.fromBundle(controller.getContext(), playbackInfo)); controller.pushPlaybackInfoChanges(info); } @Override Loading Loading @@ -242,16 +238,16 @@ public class MediaController2Stub extends IMediaController2.Stub { if (itemBundleList != null) { itemList = new ArrayList<>(); for (int i = 0; i < itemBundleList.size(); i++) { MediaItem2 item = MediaItem2.fromBundle(context, itemBundleList.get(i)); MediaItem2 item = MediaItem2.fromBundle(itemBundleList.get(i)); if (item != null) { itemList.add(item); } } } controller.onConnectedNotLocked(sessionBinder, CommandGroup.fromBundle(context, commandGroup), CommandGroup.fromBundle(commandGroup), playerState, positionEventTimeMs, positionMs, playbackSpeed, bufferedPositionMs, PlaybackInfoImpl.fromBundle(context, playbackInfo), repeatMode, shuffleMode, PlaybackInfoImpl.fromBundle(playbackInfo), repeatMode, shuffleMode, itemList, sessionActivity); } Loading Loading @@ -286,8 +282,7 @@ public class MediaController2Stub extends IMediaController2.Stub { } List<CommandButton> layout = new ArrayList<>(); for (int i = 0; i < commandButtonlist.size(); i++) { CommandButton button = CommandButtonImpl.fromBundle( controller.getContext(), commandButtonlist.get(i)); CommandButton button = CommandButtonImpl.fromBundle(commandButtonlist.get(i)); if (button != null) { layout.add(button); } Loading @@ -308,7 +303,7 @@ public class MediaController2Stub extends IMediaController2.Stub { // TODO(jaewan): Revisit here. Could be a bug return; } CommandGroup commands = CommandGroup.fromBundle(controller.getContext(), commandsBundle); CommandGroup commands = CommandGroup.fromBundle(commandsBundle); if (commands == null) { Log.w(TAG, "onAllowedCommandsChanged(): Ignoring null commands"); return; Loading @@ -325,7 +320,7 @@ public class MediaController2Stub extends IMediaController2.Stub { Log.w(TAG, "Don't fail silently here. Highly likely a bug"); return; } Command command = Command.fromBundle(controller.getContext(), commandBundle); Command command = Command.fromBundle(commandBundle); if (command == null) { Log.w(TAG, "onCustomCommand(): Ignoring null command"); return; Loading Loading @@ -371,8 +366,7 @@ public class MediaController2Stub extends IMediaController2.Stub { // TODO(jaewan): Revisit here. Could be a bug return; } browser.onGetItemDone(mediaId, MediaItem2Impl.fromBundle(browser.getContext(), itemBundle)); browser.onGetItemDone(mediaId, MediaItem2.fromBundle(itemBundle)); } @Override Loading @@ -398,7 +392,7 @@ public class MediaController2Stub extends IMediaController2.Stub { if (itemBundleList != null) { result = new ArrayList<>(); for (Bundle bundle : itemBundleList) { result.add(MediaItem2.fromBundle(browser.getContext(), bundle)); result.add(MediaItem2.fromBundle(bundle)); } } browser.onGetChildrenDone(parentId, page, pageSize, result, extras); Loading Loading @@ -448,7 +442,7 @@ public class MediaController2Stub extends IMediaController2.Stub { if (itemBundleList != null) { result = new ArrayList<>(); for (Bundle bundle : itemBundleList) { result.add(MediaItem2.fromBundle(browser.getContext(), bundle)); result.add(MediaItem2.fromBundle(bundle)); } } browser.onGetSearchResultDone(query, page, pageSize, result, extras); Loading packages/MediaComponents/src/com/android/media/MediaItem2Impl.java +12 −23 Original line number Diff line number Diff line Loading @@ -21,7 +21,6 @@ import static android.media.MediaItem2.FLAG_PLAYABLE; import android.annotation.NonNull; import android.annotation.Nullable; import android.content.Context; import android.media.DataSourceDesc; import android.media.MediaItem2; import android.media.MediaItem2.Builder; Loading @@ -39,7 +38,6 @@ public class MediaItem2Impl implements MediaItem2Provider { private static final String KEY_METADATA = "android.media.mediaitem2.metadata"; private static final String KEY_UUID = "android.media.mediaitem2.uuid"; private final Context mContext; private final MediaItem2 mInstance; private final String mId; private final int mFlags; Loading @@ -48,14 +46,13 @@ public class MediaItem2Impl implements MediaItem2Provider { private DataSourceDesc mDataSourceDesc; // From the public API public MediaItem2Impl(@NonNull Context context, @NonNull String mediaId, @Nullable DataSourceDesc dsd, @Nullable MediaMetadata2 metadata, @Flags int flags) { this(context, mediaId, dsd, metadata, flags, null); public MediaItem2Impl(@NonNull String mediaId, @Nullable DataSourceDesc dsd, @Nullable MediaMetadata2 metadata, @Flags int flags) { this(mediaId, dsd, metadata, flags, null); } private MediaItem2Impl(@NonNull Context context, @NonNull String mediaId, @Nullable DataSourceDesc dsd, @Nullable MediaMetadata2 metadata, @Flags int flags, @Nullable UUID uuid) { private MediaItem2Impl(@NonNull String mediaId, @Nullable DataSourceDesc dsd, @Nullable MediaMetadata2 metadata, @Flags int flags, @Nullable UUID uuid) { if (mediaId == null) { throw new IllegalArgumentException("mediaId shouldn't be null"); } Loading @@ -63,7 +60,6 @@ public class MediaItem2Impl implements MediaItem2Provider { throw new IllegalArgumentException("metadata's id should be matched with the mediaid"); } mContext = context; mId = mediaId; mDataSourceDesc = dsd; mMetadata = metadata; Loading Loading @@ -101,16 +97,15 @@ public class MediaItem2Impl implements MediaItem2Provider { /** * Create a MediaItem2 from the {@link Bundle}. * * @param context A context. * @param bundle The bundle which was published by {@link MediaItem2#toBundle()}. * @return The newly created MediaItem2 */ public static MediaItem2 fromBundle(@NonNull Context context, @NonNull Bundle bundle) { public static MediaItem2 fromBundle_impl(@NonNull Bundle bundle) { if (bundle == null) { return null; } final String uuidString = bundle.getString(KEY_UUID); return fromBundle(context, bundle, UUID.fromString(uuidString)); return fromBundle(bundle, UUID.fromString(uuidString)); } /** Loading @@ -118,22 +113,19 @@ public class MediaItem2Impl implements MediaItem2Provider { * If {@link UUID} * can be null for creating new. * * @param context A context. * @param bundle The bundle which was published by {@link MediaItem2#toBundle()}. * @param uuid A {@link UUID} to override. Can be {@link null} for override. * @return The newly created MediaItem2 */ static MediaItem2 fromBundle(@NonNull Context context, @NonNull Bundle bundle, @Nullable UUID uuid) { static MediaItem2 fromBundle(@NonNull Bundle bundle, @Nullable UUID uuid) { if (bundle == null) { return null; } final String id = bundle.getString(KEY_ID); final Bundle metadataBundle = bundle.getBundle(KEY_METADATA); final MediaMetadata2 metadata = metadataBundle != null ? MediaMetadata2.fromBundle(context, metadataBundle) : null; final MediaMetadata2 metadata = MediaMetadata2.fromBundle(metadataBundle); final int flags = bundle.getInt(KEY_FLAGS); return new MediaItem2Impl(context, id, null, metadata, flags, uuid).getInstance(); return new MediaItem2Impl(id, null, metadata, flags, uuid).getInstance(); } private MediaItem2 getInstance() { Loading Loading @@ -188,15 +180,13 @@ public class MediaItem2Impl implements MediaItem2Provider { } public static class BuilderImpl implements MediaItem2Provider.BuilderProvider { private Context mContext; private Builder mInstance; private @Flags int mFlags; private String mMediaId; private MediaMetadata2 mMetadata; private DataSourceDesc mDataSourceDesc; public BuilderImpl(Context context, Builder instance, int flags) { mContext = context; public BuilderImpl(Builder instance, int flags) { mInstance = instance; mFlags = flags; } Loading Loading @@ -227,8 +217,7 @@ public class MediaItem2Impl implements MediaItem2Provider { // TODO(jaewan): Double check if its sufficient (e.g. Use UUID instead?) id = (mMediaId != null) ? mMediaId : toString(); } return new MediaItem2Impl(mContext, id, mDataSourceDesc, mMetadata, mFlags) .getInstance(); return new MediaItem2Impl(id, mDataSourceDesc, mMetadata, mFlags).getInstance(); } } } packages/MediaComponents/src/com/android/media/MediaLibraryService2Impl.java +1 −2 Original line number Diff line number Diff line Loading @@ -151,8 +151,7 @@ public class MediaLibraryService2Impl extends MediaSessionService2Impl implement private final String mRootId; private final Bundle mExtras; public LibraryRootImpl(Context context, LibraryRoot instance, String rootId, Bundle extras) { public LibraryRootImpl(LibraryRoot instance, String rootId, Bundle extras) { if (rootId == null) { throw new IllegalArgumentException("rootId shouldn't be null."); } Loading packages/MediaComponents/src/com/android/media/MediaMetadata2Impl.java +8 −16 Original line number Diff line number Diff line Loading @@ -19,7 +19,6 @@ package com.android.media; import static android.media.MediaMetadata2.*; import android.annotation.Nullable; import android.content.Context; import android.graphics.Bitmap; import android.media.MediaMetadata2; import android.media.MediaMetadata2.BitmapKey; Loading Loading @@ -105,12 +104,10 @@ public class MediaMetadata2Impl implements MediaMetadata2Provider { METADATA_KEY_ALBUM_ART_URI }; private final Context mContext; private final MediaMetadata2 mInstance; private final Bundle mBundle; public MediaMetadata2Impl(Context context, Bundle bundle) { mContext = context; public MediaMetadata2Impl(Bundle bundle) { mInstance = new MediaMetadata2(this); mBundle = bundle; } Loading Loading @@ -168,7 +165,7 @@ public class MediaMetadata2Impl implements MediaMetadata2Provider { // TODO(jaewan): Add backward compatibility Rating2 rating = null; try { rating = Rating2.fromBundle(mContext, mBundle.getBundle(key)); rating = Rating2.fromBundle(mBundle.getBundle(key)); } catch (Exception e) { // ignore, value was not a rating Log.w(TAG, "Failed to retrieve a key as Rating.", e); Loading Loading @@ -225,33 +222,28 @@ public class MediaMetadata2Impl implements MediaMetadata2Provider { return mBundle; } public static MediaMetadata2 fromBundle(Context context, Bundle bundle) { return (bundle == null) ? null : new MediaMetadata2Impl(context, bundle).getInstance(); public static MediaMetadata2 fromBundle_impl(Bundle bundle) { return (bundle == null) ? null : new MediaMetadata2Impl(bundle).getInstance(); } public static final class BuilderImpl implements MediaMetadata2Provider.BuilderProvider { private final Context mContext; private final MediaMetadata2.Builder mInstance; private final Bundle mBundle; public BuilderImpl(Context context, MediaMetadata2.Builder instance) { mContext = context; public BuilderImpl(MediaMetadata2.Builder instance) { mInstance = instance; mBundle = new Bundle(); } public BuilderImpl(Context context, MediaMetadata2.Builder instance, MediaMetadata2 source) { public BuilderImpl(MediaMetadata2.Builder instance, MediaMetadata2 source) { if (source == null) { throw new IllegalArgumentException("source shouldn't be null"); } mContext = context; mInstance = instance; mBundle = new Bundle(source.toBundle()); } public BuilderImpl(Context context, int maxBitmapSize) { mContext = context; public BuilderImpl(int maxBitmapSize) { mInstance = new MediaMetadata2.Builder(this); mBundle = new Bundle(); Loading Loading @@ -364,7 +356,7 @@ public class MediaMetadata2Impl implements MediaMetadata2Provider { @Override public MediaMetadata2 build_impl() { return new MediaMetadata2Impl(mContext, mBundle).getInstance(); return new MediaMetadata2Impl(mBundle).getInstance(); } private Bitmap scaleBitmap(Bitmap bmp, int maxSize) { Loading Loading
packages/MediaComponents/src/com/android/media/MediaController2Impl.java +9 −12 Original line number Diff line number Diff line Loading @@ -1062,7 +1062,6 @@ public class MediaController2Impl implements MediaController2Provider { private static final String KEY_AUDIO_ATTRIBUTES = "android.media.playbackinfo_impl.audio_attrs"; private final Context mContext; private final PlaybackInfo mInstance; private final int mPlaybackType; Loading @@ -1071,9 +1070,8 @@ public class MediaController2Impl implements MediaController2Provider { private final int mCurrentVolume; private final AudioAttributes mAudioAttrs; private PlaybackInfoImpl(Context context, int playbackType, AudioAttributes attrs, int controlType, int max, int current) { mContext = context; private PlaybackInfoImpl(int playbackType, AudioAttributes attrs, int controlType, int max, int current) { mPlaybackType = playbackType; mAudioAttrs = attrs; mControlType = controlType; Loading Loading @@ -1107,11 +1105,11 @@ public class MediaController2Impl implements MediaController2Provider { return mCurrentVolume; } public PlaybackInfo getInstance() { PlaybackInfo getInstance() { return mInstance; } public Bundle toBundle() { Bundle toBundle() { Bundle bundle = new Bundle(); bundle.putInt(KEY_PLAYBACK_TYPE, mPlaybackType); bundle.putInt(KEY_CONTROL_TYPE, mControlType); Loading @@ -1121,13 +1119,13 @@ public class MediaController2Impl implements MediaController2Provider { return bundle; } public static PlaybackInfo createPlaybackInfo(Context context, int playbackType, AudioAttributes attrs, int controlType, int max, int current) { return new PlaybackInfoImpl(context, playbackType, attrs, controlType, max, current) static PlaybackInfo createPlaybackInfo(int playbackType, AudioAttributes attrs, int controlType, int max, int current) { return new PlaybackInfoImpl(playbackType, attrs, controlType, max, current) .getInstance(); } public static PlaybackInfo fromBundle(Context context, Bundle bundle) { static PlaybackInfo fromBundle(Bundle bundle) { if (bundle == null) { return null; } Loading @@ -1137,8 +1135,7 @@ public class MediaController2Impl implements MediaController2Provider { final int currentVolume = bundle.getInt(KEY_CURRENT_VOLUME); final AudioAttributes attrs = bundle.getParcelable(KEY_AUDIO_ATTRIBUTES); return createPlaybackInfo( context, volumeType, attrs, volumeControl, maxVolume, currentVolume); return createPlaybackInfo(volumeType, attrs, volumeControl, maxVolume, currentVolume); } } }
packages/MediaComponents/src/com/android/media/MediaController2Stub.java +14 −20 Original line number Diff line number Diff line Loading @@ -141,15 +141,14 @@ public class MediaController2Stub extends IMediaController2.Stub { } List<MediaItem2> playlist = new ArrayList<>(); for (Bundle bundle : playlistBundle) { MediaItem2 item = MediaItem2.fromBundle(controller.getContext(), bundle); MediaItem2 item = MediaItem2.fromBundle(bundle); if (item == null) { Log.w(TAG, "onPlaylistChanged(): Ignoring null item in playlist"); } else { playlist.add(item); } } MediaMetadata2 metadata = MediaMetadata2.fromBundle(controller.getContext(), metadataBundle); MediaMetadata2 metadata = MediaMetadata2.fromBundle(metadataBundle); controller.pushPlaylistChanges(playlist, metadata); } Loading @@ -162,8 +161,7 @@ public class MediaController2Stub extends IMediaController2.Stub { Log.w(TAG, "Don't fail silently here. Highly likely a bug"); return; } MediaMetadata2 metadata = MediaMetadata2.fromBundle(controller.getContext(), metadataBundle); MediaMetadata2 metadata = MediaMetadata2.fromBundle(metadataBundle); controller.pushPlaylistMetadataChanges(metadata); } Loading Loading @@ -191,14 +189,12 @@ public class MediaController2Stub extends IMediaController2.Stub { Log.w(TAG, "Don't fail silently here. Highly likely a bug"); return; } MediaController2.PlaybackInfo info = PlaybackInfoImpl.fromBundle(controller.getContext(), playbackInfo); MediaController2.PlaybackInfo info = PlaybackInfoImpl.fromBundle(playbackInfo); if (info == null) { Log.w(TAG, "onPlaybackInfoChanged(): Ignoring null playbackInfo"); return; } controller.pushPlaybackInfoChanges( PlaybackInfoImpl.fromBundle(controller.getContext(), playbackInfo)); controller.pushPlaybackInfoChanges(info); } @Override Loading Loading @@ -242,16 +238,16 @@ public class MediaController2Stub extends IMediaController2.Stub { if (itemBundleList != null) { itemList = new ArrayList<>(); for (int i = 0; i < itemBundleList.size(); i++) { MediaItem2 item = MediaItem2.fromBundle(context, itemBundleList.get(i)); MediaItem2 item = MediaItem2.fromBundle(itemBundleList.get(i)); if (item != null) { itemList.add(item); } } } controller.onConnectedNotLocked(sessionBinder, CommandGroup.fromBundle(context, commandGroup), CommandGroup.fromBundle(commandGroup), playerState, positionEventTimeMs, positionMs, playbackSpeed, bufferedPositionMs, PlaybackInfoImpl.fromBundle(context, playbackInfo), repeatMode, shuffleMode, PlaybackInfoImpl.fromBundle(playbackInfo), repeatMode, shuffleMode, itemList, sessionActivity); } Loading Loading @@ -286,8 +282,7 @@ public class MediaController2Stub extends IMediaController2.Stub { } List<CommandButton> layout = new ArrayList<>(); for (int i = 0; i < commandButtonlist.size(); i++) { CommandButton button = CommandButtonImpl.fromBundle( controller.getContext(), commandButtonlist.get(i)); CommandButton button = CommandButtonImpl.fromBundle(commandButtonlist.get(i)); if (button != null) { layout.add(button); } Loading @@ -308,7 +303,7 @@ public class MediaController2Stub extends IMediaController2.Stub { // TODO(jaewan): Revisit here. Could be a bug return; } CommandGroup commands = CommandGroup.fromBundle(controller.getContext(), commandsBundle); CommandGroup commands = CommandGroup.fromBundle(commandsBundle); if (commands == null) { Log.w(TAG, "onAllowedCommandsChanged(): Ignoring null commands"); return; Loading @@ -325,7 +320,7 @@ public class MediaController2Stub extends IMediaController2.Stub { Log.w(TAG, "Don't fail silently here. Highly likely a bug"); return; } Command command = Command.fromBundle(controller.getContext(), commandBundle); Command command = Command.fromBundle(commandBundle); if (command == null) { Log.w(TAG, "onCustomCommand(): Ignoring null command"); return; Loading Loading @@ -371,8 +366,7 @@ public class MediaController2Stub extends IMediaController2.Stub { // TODO(jaewan): Revisit here. Could be a bug return; } browser.onGetItemDone(mediaId, MediaItem2Impl.fromBundle(browser.getContext(), itemBundle)); browser.onGetItemDone(mediaId, MediaItem2.fromBundle(itemBundle)); } @Override Loading @@ -398,7 +392,7 @@ public class MediaController2Stub extends IMediaController2.Stub { if (itemBundleList != null) { result = new ArrayList<>(); for (Bundle bundle : itemBundleList) { result.add(MediaItem2.fromBundle(browser.getContext(), bundle)); result.add(MediaItem2.fromBundle(bundle)); } } browser.onGetChildrenDone(parentId, page, pageSize, result, extras); Loading Loading @@ -448,7 +442,7 @@ public class MediaController2Stub extends IMediaController2.Stub { if (itemBundleList != null) { result = new ArrayList<>(); for (Bundle bundle : itemBundleList) { result.add(MediaItem2.fromBundle(browser.getContext(), bundle)); result.add(MediaItem2.fromBundle(bundle)); } } browser.onGetSearchResultDone(query, page, pageSize, result, extras); Loading
packages/MediaComponents/src/com/android/media/MediaItem2Impl.java +12 −23 Original line number Diff line number Diff line Loading @@ -21,7 +21,6 @@ import static android.media.MediaItem2.FLAG_PLAYABLE; import android.annotation.NonNull; import android.annotation.Nullable; import android.content.Context; import android.media.DataSourceDesc; import android.media.MediaItem2; import android.media.MediaItem2.Builder; Loading @@ -39,7 +38,6 @@ public class MediaItem2Impl implements MediaItem2Provider { private static final String KEY_METADATA = "android.media.mediaitem2.metadata"; private static final String KEY_UUID = "android.media.mediaitem2.uuid"; private final Context mContext; private final MediaItem2 mInstance; private final String mId; private final int mFlags; Loading @@ -48,14 +46,13 @@ public class MediaItem2Impl implements MediaItem2Provider { private DataSourceDesc mDataSourceDesc; // From the public API public MediaItem2Impl(@NonNull Context context, @NonNull String mediaId, @Nullable DataSourceDesc dsd, @Nullable MediaMetadata2 metadata, @Flags int flags) { this(context, mediaId, dsd, metadata, flags, null); public MediaItem2Impl(@NonNull String mediaId, @Nullable DataSourceDesc dsd, @Nullable MediaMetadata2 metadata, @Flags int flags) { this(mediaId, dsd, metadata, flags, null); } private MediaItem2Impl(@NonNull Context context, @NonNull String mediaId, @Nullable DataSourceDesc dsd, @Nullable MediaMetadata2 metadata, @Flags int flags, @Nullable UUID uuid) { private MediaItem2Impl(@NonNull String mediaId, @Nullable DataSourceDesc dsd, @Nullable MediaMetadata2 metadata, @Flags int flags, @Nullable UUID uuid) { if (mediaId == null) { throw new IllegalArgumentException("mediaId shouldn't be null"); } Loading @@ -63,7 +60,6 @@ public class MediaItem2Impl implements MediaItem2Provider { throw new IllegalArgumentException("metadata's id should be matched with the mediaid"); } mContext = context; mId = mediaId; mDataSourceDesc = dsd; mMetadata = metadata; Loading Loading @@ -101,16 +97,15 @@ public class MediaItem2Impl implements MediaItem2Provider { /** * Create a MediaItem2 from the {@link Bundle}. * * @param context A context. * @param bundle The bundle which was published by {@link MediaItem2#toBundle()}. * @return The newly created MediaItem2 */ public static MediaItem2 fromBundle(@NonNull Context context, @NonNull Bundle bundle) { public static MediaItem2 fromBundle_impl(@NonNull Bundle bundle) { if (bundle == null) { return null; } final String uuidString = bundle.getString(KEY_UUID); return fromBundle(context, bundle, UUID.fromString(uuidString)); return fromBundle(bundle, UUID.fromString(uuidString)); } /** Loading @@ -118,22 +113,19 @@ public class MediaItem2Impl implements MediaItem2Provider { * If {@link UUID} * can be null for creating new. * * @param context A context. * @param bundle The bundle which was published by {@link MediaItem2#toBundle()}. * @param uuid A {@link UUID} to override. Can be {@link null} for override. * @return The newly created MediaItem2 */ static MediaItem2 fromBundle(@NonNull Context context, @NonNull Bundle bundle, @Nullable UUID uuid) { static MediaItem2 fromBundle(@NonNull Bundle bundle, @Nullable UUID uuid) { if (bundle == null) { return null; } final String id = bundle.getString(KEY_ID); final Bundle metadataBundle = bundle.getBundle(KEY_METADATA); final MediaMetadata2 metadata = metadataBundle != null ? MediaMetadata2.fromBundle(context, metadataBundle) : null; final MediaMetadata2 metadata = MediaMetadata2.fromBundle(metadataBundle); final int flags = bundle.getInt(KEY_FLAGS); return new MediaItem2Impl(context, id, null, metadata, flags, uuid).getInstance(); return new MediaItem2Impl(id, null, metadata, flags, uuid).getInstance(); } private MediaItem2 getInstance() { Loading Loading @@ -188,15 +180,13 @@ public class MediaItem2Impl implements MediaItem2Provider { } public static class BuilderImpl implements MediaItem2Provider.BuilderProvider { private Context mContext; private Builder mInstance; private @Flags int mFlags; private String mMediaId; private MediaMetadata2 mMetadata; private DataSourceDesc mDataSourceDesc; public BuilderImpl(Context context, Builder instance, int flags) { mContext = context; public BuilderImpl(Builder instance, int flags) { mInstance = instance; mFlags = flags; } Loading Loading @@ -227,8 +217,7 @@ public class MediaItem2Impl implements MediaItem2Provider { // TODO(jaewan): Double check if its sufficient (e.g. Use UUID instead?) id = (mMediaId != null) ? mMediaId : toString(); } return new MediaItem2Impl(mContext, id, mDataSourceDesc, mMetadata, mFlags) .getInstance(); return new MediaItem2Impl(id, mDataSourceDesc, mMetadata, mFlags).getInstance(); } } }
packages/MediaComponents/src/com/android/media/MediaLibraryService2Impl.java +1 −2 Original line number Diff line number Diff line Loading @@ -151,8 +151,7 @@ public class MediaLibraryService2Impl extends MediaSessionService2Impl implement private final String mRootId; private final Bundle mExtras; public LibraryRootImpl(Context context, LibraryRoot instance, String rootId, Bundle extras) { public LibraryRootImpl(LibraryRoot instance, String rootId, Bundle extras) { if (rootId == null) { throw new IllegalArgumentException("rootId shouldn't be null."); } Loading
packages/MediaComponents/src/com/android/media/MediaMetadata2Impl.java +8 −16 Original line number Diff line number Diff line Loading @@ -19,7 +19,6 @@ package com.android.media; import static android.media.MediaMetadata2.*; import android.annotation.Nullable; import android.content.Context; import android.graphics.Bitmap; import android.media.MediaMetadata2; import android.media.MediaMetadata2.BitmapKey; Loading Loading @@ -105,12 +104,10 @@ public class MediaMetadata2Impl implements MediaMetadata2Provider { METADATA_KEY_ALBUM_ART_URI }; private final Context mContext; private final MediaMetadata2 mInstance; private final Bundle mBundle; public MediaMetadata2Impl(Context context, Bundle bundle) { mContext = context; public MediaMetadata2Impl(Bundle bundle) { mInstance = new MediaMetadata2(this); mBundle = bundle; } Loading Loading @@ -168,7 +165,7 @@ public class MediaMetadata2Impl implements MediaMetadata2Provider { // TODO(jaewan): Add backward compatibility Rating2 rating = null; try { rating = Rating2.fromBundle(mContext, mBundle.getBundle(key)); rating = Rating2.fromBundle(mBundle.getBundle(key)); } catch (Exception e) { // ignore, value was not a rating Log.w(TAG, "Failed to retrieve a key as Rating.", e); Loading Loading @@ -225,33 +222,28 @@ public class MediaMetadata2Impl implements MediaMetadata2Provider { return mBundle; } public static MediaMetadata2 fromBundle(Context context, Bundle bundle) { return (bundle == null) ? null : new MediaMetadata2Impl(context, bundle).getInstance(); public static MediaMetadata2 fromBundle_impl(Bundle bundle) { return (bundle == null) ? null : new MediaMetadata2Impl(bundle).getInstance(); } public static final class BuilderImpl implements MediaMetadata2Provider.BuilderProvider { private final Context mContext; private final MediaMetadata2.Builder mInstance; private final Bundle mBundle; public BuilderImpl(Context context, MediaMetadata2.Builder instance) { mContext = context; public BuilderImpl(MediaMetadata2.Builder instance) { mInstance = instance; mBundle = new Bundle(); } public BuilderImpl(Context context, MediaMetadata2.Builder instance, MediaMetadata2 source) { public BuilderImpl(MediaMetadata2.Builder instance, MediaMetadata2 source) { if (source == null) { throw new IllegalArgumentException("source shouldn't be null"); } mContext = context; mInstance = instance; mBundle = new Bundle(source.toBundle()); } public BuilderImpl(Context context, int maxBitmapSize) { mContext = context; public BuilderImpl(int maxBitmapSize) { mInstance = new MediaMetadata2.Builder(this); mBundle = new Bundle(); Loading Loading @@ -364,7 +356,7 @@ public class MediaMetadata2Impl implements MediaMetadata2Provider { @Override public MediaMetadata2 build_impl() { return new MediaMetadata2Impl(mContext, mBundle).getInstance(); return new MediaMetadata2Impl(mBundle).getInstance(); } private Bitmap scaleBitmap(Bitmap bmp, int maxSize) { Loading