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 Original line Diff line number Diff line
@@ -56,22 +56,6 @@ public class MediaItem2 {


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


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


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


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


        /**
        /**
         * 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
         * @param dataSourceDesc data source descriptor
         * @return this instance for chaining
         * @return this instance for chaining
         */
         */
        public Builder setDataSourceDesc(@Nullable DataSourceDesc dataSourceDesc) {
        public Builder setDataSourceDesc(@NonNull DataSourceDesc dataSourceDesc) {
            mDataSourceDesc = dataSourceDesc;
            return mProvider.setDataSourceDesc_impl(dataSourceDesc);
            return this;
        }
        }


        /**
        /**
@@ -229,13 +205,7 @@ public class MediaItem2 {
         * @return a new {@link MediaItem2}.
         * @return a new {@link MediaItem2}.
         */
         */
        public MediaItem2 build() {
        public MediaItem2 build() {
            String id = (mMetadata != null)
            return mProvider.build_impl();
                    ? 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);
        }
        }
    }
    }
}
}
+9 −0
Original line number Original line Diff line number Diff line
@@ -17,6 +17,8 @@
package android.media.update;
package android.media.update;


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


@@ -33,4 +35,11 @@ public interface MediaItem2Provider {
    MediaMetadata2 getMetadata_impl();
    MediaMetadata2 getMetadata_impl();
    String getMediaId_impl();
    String getMediaId_impl();
    DataSourceDesc getDataSourceDesc_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 Original line Diff line number Diff line
@@ -85,7 +85,7 @@ public interface StaticProvider {
            MediaMetadata2 playlistMetadata);
            MediaMetadata2 playlistMetadata);
    PlaylistParams fromBundle_PlaylistParams(Context context, Bundle bundle);
    PlaylistParams fromBundle_PlaylistParams(Context context, Bundle bundle);
    CommandButtonProvider.BuilderProvider createMediaSession2CommandButtonBuilder(Context context,
    CommandButtonProvider.BuilderProvider createMediaSession2CommandButtonBuilder(Context context,
            MediaSession2.CommandButton.Builder builder);
            MediaSession2.CommandButton.Builder instance);
    BuilderBaseProvider<MediaSession2, SessionCallback> createMediaSession2Builder(
    BuilderBaseProvider<MediaSession2, SessionCallback> createMediaSession2Builder(
            Context context, MediaSession2.Builder instance);
            Context context, MediaSession2.Builder instance);


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


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


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


    MediaMetadata2 fromBundle_MediaMetadata2(Context context, Bundle bundle);
    MediaMetadata2 fromBundle_MediaMetadata2(Context context, Bundle bundle);
    MediaMetadata2Provider.BuilderProvider createMediaMetadata2Builder(
    MediaMetadata2Provider.BuilderProvider createMediaMetadata2Builder(
            Context context, MediaMetadata2.Builder builder);
            Context context, MediaMetadata2.Builder instance);
    MediaMetadata2Provider.BuilderProvider createMediaMetadata2Builder(
    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 newUnratedRating_Rating2(Context context, int ratingStyle);
    Rating2 fromBundle_Rating2(Context context, Bundle bundle);
    Rating2 fromBundle_Rating2(Context context, Bundle bundle);