Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 2410a0dd authored by Hyundo Moon's avatar Hyundo Moon Committed by Android (Google) Code Review
Browse files

Merge "Move MediaItem2 Builder to updatable"

parents 2803e978 9edf2ca3
Loading
Loading
Loading
Loading
+9 −39
Original line number Diff line number Diff line
@@ -56,22 +56,6 @@ public class MediaItem2 {

    private final MediaItem2Provider mProvider;

    /**
     * Create a new media item.
     *
     * @param mediaId id of this item. It must be unique whithin this app
     * @param metadata metadata with the media id.
     * @param flags The flags for this item.
     * @hide
     */
    // TODO(jaewan): Remove this
    public MediaItem2(@NonNull Context context, @NonNull String mediaId,
            @NonNull DataSourceDesc dsd, @Nullable MediaMetadata2 metadata,
            @Flags int flags) {
        mProvider = ApiLoader.getProvider(context).createMediaItem2(
                context, this, mediaId, dsd, metadata, flags);
    }

    /**
     * Create a new media item
     * @hide
@@ -159,13 +143,8 @@ public class MediaItem2 {
    /**
     * Build {@link MediaItem2}
     */
    // TODO(jaewan): Move it to updatable
    public static final class Builder {
        private Context mContext;
        private @Flags int mFlags;
        private String mMediaId;
        private MediaMetadata2 mMetadata;
        private DataSourceDesc mDataSourceDesc;
        private final MediaItem2Provider.BuilderProvider mProvider;

        /**
         * Constructor for {@link Builder}
@@ -174,8 +153,8 @@ public class MediaItem2 {
         * @param flags
         */
        public Builder(@NonNull Context context, @Flags int flags) {
            mContext = context;
            mFlags = flags;
            mProvider = ApiLoader.getProvider(context).createMediaItem2Builder(
                    context, this, flags);
        }

        /**
@@ -192,8 +171,7 @@ public class MediaItem2 {
         * @return this instance for chaining
         */
        public Builder setMediaId(@Nullable String mediaId) {
            mMediaId = mediaId;
            return this;
            return mProvider.setMediaId_impl(mediaId);
        }

        /**
@@ -208,19 +186,17 @@ public class MediaItem2 {
         * @return this instance for chaining
         */
        public Builder setMetadata(@Nullable MediaMetadata2 metadata) {
            mMetadata = metadata;
            return this;
            return mProvider.setMetadata_impl(metadata);
        }

        /**
         * Set the data source descriptor for this instance. {@code null} for unset.
         * Set the data source descriptor for this instance. Should not be {@code null}.
         *
         * @param dataSourceDesc data source descriptor
         * @return this instance for chaining
         */
        public Builder setDataSourceDesc(@Nullable DataSourceDesc dataSourceDesc) {
            mDataSourceDesc = dataSourceDesc;
            return this;
        public Builder setDataSourceDesc(@NonNull DataSourceDesc dataSourceDesc) {
            return mProvider.setDataSourceDesc_impl(dataSourceDesc);
        }

        /**
@@ -229,13 +205,7 @@ public class MediaItem2 {
         * @return a new {@link MediaItem2}.
         */
        public MediaItem2 build() {
            String id = (mMetadata != null)
                    ? mMetadata.getString(MediaMetadata2.METADATA_KEY_MEDIA_ID) : null;
            if (id == null) {
                //  TODO(jaewan): Double check if its sufficient (e.g. Use UUID instead?)
                id = (mMediaId != null) ? mMediaId : toString();
            }
            return new MediaItem2(mContext, id, mDataSourceDesc, mMetadata, mFlags);
            return mProvider.build_impl();
        }
    }
}
+9 −0
Original line number Diff line number Diff line
@@ -17,6 +17,8 @@
package android.media.update;

import android.media.DataSourceDesc;
import android.media.MediaItem2;
import android.media.MediaItem2.Builder;
import android.media.MediaMetadata2;
import android.os.Bundle;

@@ -33,4 +35,11 @@ public interface MediaItem2Provider {
    MediaMetadata2 getMetadata_impl();
    String getMediaId_impl();
    DataSourceDesc getDataSourceDesc_impl();

    interface BuilderProvider {
        Builder setMediaId_impl(String mediaId);
        Builder setMetadata_impl(MediaMetadata2 metadata);
        Builder setDataSourceDesc_impl(DataSourceDesc dataSourceDesc);
        MediaItem2 build_impl();
    }
}
+5 −5
Original line number Diff line number Diff line
@@ -85,7 +85,7 @@ public interface StaticProvider {
            MediaMetadata2 playlistMetadata);
    PlaylistParams fromBundle_PlaylistParams(Context context, Bundle bundle);
    CommandButtonProvider.BuilderProvider createMediaSession2CommandButtonBuilder(Context context,
            MediaSession2.CommandButton.Builder builder);
            MediaSession2.CommandButton.Builder instance);
    BuilderBaseProvider<MediaSession2, SessionCallback> createMediaSession2Builder(
            Context context, MediaSession2.Builder instance);

@@ -111,8 +111,8 @@ public interface StaticProvider {
            String packageName, String serviceName, int uid);
    SessionToken2 fromBundle_SessionToken2(Context context, Bundle bundle);

    MediaItem2Provider createMediaItem2(Context context, MediaItem2 mediaItem2,
            String mediaId, DataSourceDesc dsd, MediaMetadata2 metadata, int flags);
    MediaItem2Provider.BuilderProvider createMediaItem2Builder(
            Context context, MediaItem2.Builder instance, int flags);
    MediaItem2 fromBundle_MediaItem2(Context context, Bundle bundle);

    VolumeProvider2Provider createVolumeProvider2(Context context, VolumeProvider2 instance,
@@ -120,9 +120,9 @@ public interface StaticProvider {

    MediaMetadata2 fromBundle_MediaMetadata2(Context context, Bundle bundle);
    MediaMetadata2Provider.BuilderProvider createMediaMetadata2Builder(
            Context context, MediaMetadata2.Builder builder);
            Context context, MediaMetadata2.Builder instance);
    MediaMetadata2Provider.BuilderProvider createMediaMetadata2Builder(
            Context context, MediaMetadata2.Builder builder, MediaMetadata2 source);
            Context context, MediaMetadata2.Builder instance, MediaMetadata2 source);

    Rating2 newUnratedRating_Rating2(Context context, int ratingStyle);
    Rating2 fromBundle_Rating2(Context context, Bundle bundle);