This includes following changes
- Remove PlaylistParams
- Implement PlaylistParams replacements. Here's the list.
- get/setShuffleMode()
- get/setRepeatMode()
- Note: Playlist metadata APIs are already submitted (b/74174649)
Bug: 74116823, Bug: 74118768
Test: Run CTS with MediaComponents/runcts.sh
Change-Id: I0267ffeaf92257eb7b81ffc8b6a3f40b5a2f6f9c
129 lines
6.6 KiB
Java
129 lines
6.6 KiB
Java
/*
|
|
* Copyright (C) 2017 The Android Open Source Project
|
|
*
|
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
* you may not use this file except in compliance with the License.
|
|
* You may obtain a copy of the License at
|
|
*
|
|
* http://www.apache.org/licenses/LICENSE-2.0
|
|
*
|
|
* Unless required by applicable law or agreed to in writing, software
|
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
* See the License for the specific language governing permissions and
|
|
* limitations under the License.
|
|
*/
|
|
|
|
package android.media.update;
|
|
|
|
import android.annotation.Nullable;
|
|
import android.app.Notification;
|
|
import android.content.Context;
|
|
import android.media.MediaBrowser2;
|
|
import android.media.MediaBrowser2.BrowserCallback;
|
|
import android.media.MediaController2;
|
|
import android.media.MediaController2.ControllerCallback;
|
|
import android.media.MediaItem2;
|
|
import android.media.MediaLibraryService2;
|
|
import android.media.MediaLibraryService2.LibraryRoot;
|
|
import android.media.MediaLibraryService2.MediaLibrarySession;
|
|
import android.media.MediaLibraryService2.MediaLibrarySession.MediaLibrarySessionCallback;
|
|
import android.media.MediaMetadata2;
|
|
import android.media.MediaPlaylistAgent;
|
|
import android.media.MediaSession2;
|
|
import android.media.MediaSession2.SessionCallback;
|
|
import android.media.MediaSessionService2;
|
|
import android.media.MediaSessionService2.MediaNotification;
|
|
import android.media.Rating2;
|
|
import android.media.SessionToken2;
|
|
import android.media.VolumeProvider2;
|
|
import android.media.update.MediaLibraryService2Provider.LibraryRootProvider;
|
|
import android.media.update.MediaSession2Provider.BuilderBaseProvider;
|
|
import android.media.update.MediaSession2Provider.CommandButtonProvider;
|
|
import android.media.update.MediaSession2Provider.CommandGroupProvider;
|
|
import android.media.update.MediaSession2Provider.CommandProvider;
|
|
import android.media.update.MediaSession2Provider.ControllerInfoProvider;
|
|
import android.media.update.MediaSessionService2Provider.MediaNotificationProvider;
|
|
import android.os.Bundle;
|
|
import android.os.IInterface;
|
|
import android.util.AttributeSet;
|
|
import android.widget.MediaControlView2;
|
|
import android.widget.VideoView2;
|
|
|
|
import java.util.concurrent.Executor;
|
|
|
|
/**
|
|
* Interface for connecting the public API to an updatable implementation.
|
|
*
|
|
* This interface provides access to constructors and static methods that are otherwise not directly
|
|
* accessible via an implementation object.
|
|
* @hide
|
|
*/
|
|
public interface StaticProvider {
|
|
MediaControlView2Provider createMediaControlView2(MediaControlView2 instance,
|
|
ViewGroupProvider superProvider, ViewGroupProvider privateProvider,
|
|
@Nullable AttributeSet attrs, int defStyleAttr, int defStyleRes);
|
|
VideoView2Provider createVideoView2(VideoView2 instance,
|
|
ViewGroupProvider superProvider, ViewGroupProvider privateProvider,
|
|
@Nullable AttributeSet attrs, int defStyleAttr, int defStyleRes);
|
|
|
|
CommandProvider createMediaSession2Command(MediaSession2.Command instance,
|
|
int commandCode, String action, Bundle extra);
|
|
MediaSession2.Command fromBundle_MediaSession2Command(Context context, Bundle bundle);
|
|
CommandGroupProvider createMediaSession2CommandGroup(Context context,
|
|
MediaSession2.CommandGroup instance, MediaSession2.CommandGroup others);
|
|
MediaSession2.CommandGroup fromBundle_MediaSession2CommandGroup(Context context, Bundle bundle);
|
|
ControllerInfoProvider createMediaSession2ControllerInfo(Context context,
|
|
MediaSession2.ControllerInfo instance, int uid, int pid,
|
|
String packageName, IInterface callback);
|
|
CommandButtonProvider.BuilderProvider createMediaSession2CommandButtonBuilder(Context context,
|
|
MediaSession2.CommandButton.Builder instance);
|
|
BuilderBaseProvider<MediaSession2, SessionCallback> createMediaSession2Builder(
|
|
Context context, MediaSession2.Builder instance);
|
|
|
|
MediaController2Provider createMediaController2(Context context, MediaController2 instance,
|
|
SessionToken2 token, Executor executor, ControllerCallback callback);
|
|
|
|
MediaBrowser2Provider createMediaBrowser2(Context context, MediaBrowser2 instance,
|
|
SessionToken2 token, Executor executor, BrowserCallback callback);
|
|
|
|
MediaSessionService2Provider createMediaSessionService2(MediaSessionService2 instance);
|
|
MediaNotificationProvider createMediaSessionService2MediaNotification(Context context,
|
|
MediaNotification mediaNotification, int notificationId, Notification notification);
|
|
|
|
MediaSessionService2Provider createMediaLibraryService2(MediaLibraryService2 instance);
|
|
BuilderBaseProvider<MediaLibrarySession, MediaLibrarySessionCallback>
|
|
createMediaLibraryService2Builder(
|
|
MediaLibraryService2 service, MediaLibrarySession.Builder instance,
|
|
Executor callbackExecutor, MediaLibrarySessionCallback callback);
|
|
LibraryRootProvider createMediaLibraryService2LibraryRoot(Context context, LibraryRoot instance,
|
|
String rootId, Bundle extras);
|
|
|
|
SessionToken2Provider createSessionToken2(Context context, SessionToken2 instance,
|
|
String packageName, String serviceName, int uid);
|
|
SessionToken2 fromBundle_SessionToken2(Context context, Bundle bundle);
|
|
|
|
MediaItem2Provider.BuilderProvider createMediaItem2Builder(
|
|
Context context, MediaItem2.Builder instance, int flags);
|
|
MediaItem2 fromBundle_MediaItem2(Context context, Bundle bundle);
|
|
|
|
VolumeProvider2Provider createVolumeProvider2(Context context, VolumeProvider2 instance,
|
|
int controlType, int maxVolume, int currentVolume);
|
|
|
|
MediaMetadata2 fromBundle_MediaMetadata2(Context context, Bundle bundle);
|
|
MediaMetadata2Provider.BuilderProvider createMediaMetadata2Builder(
|
|
Context context, MediaMetadata2.Builder instance);
|
|
MediaMetadata2Provider.BuilderProvider createMediaMetadata2Builder(
|
|
Context context, MediaMetadata2.Builder instance, MediaMetadata2 source);
|
|
|
|
Rating2 newUnratedRating_Rating2(Context context, int ratingStyle);
|
|
Rating2 fromBundle_Rating2(Context context, Bundle bundle);
|
|
Rating2 newHeartRating_Rating2(Context context, boolean hasHeart);
|
|
Rating2 newThumbRating_Rating2(Context context, boolean thumbIsUp);
|
|
Rating2 newStarRating_Rating2(Context context, int starRatingStyle, float starRating);
|
|
Rating2 newPercentageRating_Rating2(Context context, float percent);
|
|
|
|
MediaPlaylistAgentProvider createMediaPlaylistAgent(Context context,
|
|
MediaPlaylistAgent instance);
|
|
}
|