diff options
Diffstat (limited to 'android/media/update/MediaSession2Provider.java')
-rw-r--r-- | android/media/update/MediaSession2Provider.java | 103 |
1 files changed, 85 insertions, 18 deletions
diff --git a/android/media/update/MediaSession2Provider.java b/android/media/update/MediaSession2Provider.java index 2a68ad1d..47513486 100644 --- a/android/media/update/MediaSession2Provider.java +++ b/android/media/update/MediaSession2Provider.java @@ -16,50 +16,117 @@ package android.media.update; -import android.media.AudioAttributes; +import android.app.PendingIntent; +import android.media.AudioFocusRequest; import android.media.MediaItem2; +import android.media.MediaMetadata2; import android.media.MediaPlayerBase; +import android.media.MediaPlaylistAgent; import android.media.MediaSession2; -import android.media.MediaSession2.Command; +import android.media.SessionCommand2; import android.media.MediaSession2.CommandButton; -import android.media.MediaSession2.CommandGroup; +import android.media.MediaSession2.CommandButton.Builder; +import android.media.SessionCommandGroup2; import android.media.MediaSession2.ControllerInfo; +import android.media.MediaSession2.OnDataSourceMissingHelper; +import android.media.MediaSession2.SessionCallback; import android.media.SessionToken2; -import android.media.VolumeProvider; +import android.media.VolumeProvider2; import android.os.Bundle; import android.os.ResultReceiver; import java.util.List; +import java.util.Set; +import java.util.concurrent.Executor; /** * @hide */ public interface MediaSession2Provider extends TransportControlProvider { void close_impl(); - void setPlayer_impl(MediaPlayerBase player); - void setPlayer_impl(MediaPlayerBase player, VolumeProvider volumeProvider); + void updatePlayer_impl(MediaPlayerBase player, MediaPlaylistAgent playlistAgent, + VolumeProvider2 volumeProvider); MediaPlayerBase getPlayer_impl(); + MediaMetadata2 getPlaylistMetadata_impl(); + void updatePlaylistMetadata_impl(MediaMetadata2 metadata); + MediaPlaylistAgent getPlaylistAgent_impl(); + VolumeProvider2 getVolumeProvider_impl(); SessionToken2 getToken_impl(); List<ControllerInfo> getConnectedControllers_impl(); void setCustomLayout_impl(ControllerInfo controller, List<CommandButton> layout); - void setAudioAttributes_impl(AudioAttributes attributes); - void setAudioFocusRequest_impl(int focusGain); - - void setAllowedCommands_impl(ControllerInfo controller, CommandGroup commands); - void notifyMetadataChanged_impl(); - void sendCustomCommand_impl(ControllerInfo controller, Command command, Bundle args, + void setAudioFocusRequest_impl(AudioFocusRequest afr); + void setAllowedCommands_impl(ControllerInfo controller, SessionCommandGroup2 commands); + void sendCustomCommand_impl(ControllerInfo controller, SessionCommand2 command, Bundle args, ResultReceiver receiver); - void sendCustomCommand_impl(Command command, Bundle args); - void setPlaylist_impl(List<MediaItem2> playlist, MediaSession2.PlaylistParam param); + void sendCustomCommand_impl(SessionCommand2 command, Bundle args); + void addPlaylistItem_impl(int index, MediaItem2 item); + void removePlaylistItem_impl(MediaItem2 item); + void replacePlaylistItem_impl(int index, MediaItem2 item); + List<MediaItem2> getPlaylist_impl(); + void setPlaylist_impl(List<MediaItem2> list, MediaMetadata2 metadata); + MediaItem2 getCurrentPlaylistItem_impl(); + void notifyError_impl(int errorCode, Bundle extras); + int getPlayerState_impl(); + long getCurrentPosition_impl(); + long getBufferedPosition_impl(); + void setOnDataSourceMissingHelper_impl(OnDataSourceMissingHelper helper); + void clearOnDataSourceMissingHelper_impl(); + + // TODO(jaewan): Rename and move provider + interface CommandProvider { + int getCommandCode_impl(); + String getCustomCommand_impl(); + Bundle getExtras_impl(); + Bundle toBundle_impl(); + + boolean equals_impl(Object ob); + int hashCode_impl(); + } + + // TODO(jaewan): Rename and move provider + interface CommandGroupProvider { + void addCommand_impl(SessionCommand2 command); + void addAllPredefinedCommands_impl(); + void removeCommand_impl(SessionCommand2 command); + boolean hasCommand_impl(SessionCommand2 command); + boolean hasCommand_impl(int code); + Set<SessionCommand2> getCommands_impl(); + Bundle toBundle_impl(); + } + + interface CommandButtonProvider { + SessionCommand2 getCommand_impl(); + int getIconResId_impl(); + String getDisplayName_impl(); + Bundle getExtras_impl(); + boolean isEnabled_impl(); + + interface BuilderProvider { + Builder setCommand_impl(SessionCommand2 command); + Builder setIconResId_impl(int resId); + Builder setDisplayName_impl(String displayName); + Builder setEnabled_impl(boolean enabled); + Builder setExtras_impl(Bundle extras); + CommandButton build_impl(); + } + } - /** - * @hide - */ interface ControllerInfoProvider { String getPackageName_impl(); int getUid_impl(); boolean isTrusted_impl(); int hashCode_impl(); - boolean equals_impl(ControllerInfoProvider obj); + boolean equals_impl(Object obj); + String toString_impl(); + } + + interface BuilderBaseProvider<T extends MediaSession2, C extends SessionCallback> { + void setPlayer_impl(MediaPlayerBase player); + void setPlaylistAgent_impl(MediaPlaylistAgent playlistAgent); + void setVolumeProvider_impl(VolumeProvider2 volumeProvider); + void setSessionActivity_impl(PendingIntent pi); + void setId_impl(String id); + void setSessionCallback_impl(Executor executor, C callback); + T build_impl(); } } |