Mark MediaController methods final to prevent accidental overrides

It's currently not possible to even subclass MediaController because
the constructor is package-private. To avoid any accidental usage or
future indirect subclassing, all methods can be marked as final.

PiperOrigin-RevId: 523648114
This commit is contained in:
tonihei 2023-04-12 10:54:04 +01:00 committed by Rohit Singh
parent e54a934398
commit 2a6472f930
2 changed files with 257 additions and 251 deletions

230
api.txt
View File

@ -1484,122 +1484,122 @@ package androidx.media3.session {
field public static final String EXTRAS_KEY_SLOT_RESERVATION_SEEK_TO_PREV = "android.media.playback.ALWAYS_RESERVE_SPACE_FOR.ACTION_SKIP_TO_PREVIOUS"; field public static final String EXTRAS_KEY_SLOT_RESERVATION_SEEK_TO_PREV = "android.media.playback.ALWAYS_RESERVE_SPACE_FOR.ACTION_SKIP_TO_PREVIOUS";
} }
public class MediaController implements androidx.media3.common.Player { @com.google.errorprone.annotations.DoNotMock public class MediaController implements androidx.media3.common.Player {
method public void addListener(androidx.media3.common.Player.Listener); method public final void addListener(androidx.media3.common.Player.Listener);
method public void addMediaItem(androidx.media3.common.MediaItem); method public final void addMediaItem(androidx.media3.common.MediaItem);
method public void addMediaItem(int, androidx.media3.common.MediaItem); method public final void addMediaItem(int, androidx.media3.common.MediaItem);
method public void addMediaItems(java.util.List<androidx.media3.common.MediaItem>); method public final void addMediaItems(java.util.List<androidx.media3.common.MediaItem>);
method public void addMediaItems(int, java.util.List<androidx.media3.common.MediaItem>); method public final void addMediaItems(int, java.util.List<androidx.media3.common.MediaItem>);
method public boolean canAdvertiseSession(); method public final boolean canAdvertiseSession();
method public void clearMediaItems(); method public final void clearMediaItems();
method public void clearVideoSurface(); method public final void clearVideoSurface();
method public void clearVideoSurface(@Nullable android.view.Surface); method public final void clearVideoSurface(@Nullable android.view.Surface);
method public void clearVideoSurfaceHolder(@Nullable android.view.SurfaceHolder); method public final void clearVideoSurfaceHolder(@Nullable android.view.SurfaceHolder);
method public void clearVideoSurfaceView(@Nullable android.view.SurfaceView); method public final void clearVideoSurfaceView(@Nullable android.view.SurfaceView);
method public void clearVideoTextureView(@Nullable android.view.TextureView); method public final void clearVideoTextureView(@Nullable android.view.TextureView);
method public void decreaseDeviceVolume(); method public final void decreaseDeviceVolume();
method public android.os.Looper getApplicationLooper(); method public final android.os.Looper getApplicationLooper();
method public androidx.media3.common.AudioAttributes getAudioAttributes(); method public final androidx.media3.common.AudioAttributes getAudioAttributes();
method public androidx.media3.common.Player.Commands getAvailableCommands(); method public final androidx.media3.common.Player.Commands getAvailableCommands();
method public androidx.media3.session.SessionCommands getAvailableSessionCommands(); method public final androidx.media3.session.SessionCommands getAvailableSessionCommands();
method @IntRange(from=0, to=100) public int getBufferedPercentage(); method @IntRange(from=0, to=100) public final int getBufferedPercentage();
method public long getBufferedPosition(); method public final long getBufferedPosition();
method @Nullable public androidx.media3.session.SessionToken getConnectedToken(); method @Nullable public final androidx.media3.session.SessionToken getConnectedToken();
method public long getContentBufferedPosition(); method public final long getContentBufferedPosition();
method public long getContentDuration(); method public final long getContentDuration();
method public long getContentPosition(); method public final long getContentPosition();
method public int getCurrentAdGroupIndex(); method public final int getCurrentAdGroupIndex();
method public int getCurrentAdIndexInAdGroup(); method public final int getCurrentAdIndexInAdGroup();
method public androidx.media3.common.text.CueGroup getCurrentCues(); method public final androidx.media3.common.text.CueGroup getCurrentCues();
method public long getCurrentLiveOffset(); method public final long getCurrentLiveOffset();
method @Nullable public androidx.media3.common.MediaItem getCurrentMediaItem(); method @Nullable public final androidx.media3.common.MediaItem getCurrentMediaItem();
method public int getCurrentMediaItemIndex(); method public final int getCurrentMediaItemIndex();
method public int getCurrentPeriodIndex(); method public final int getCurrentPeriodIndex();
method public long getCurrentPosition(); method public final long getCurrentPosition();
method public androidx.media3.common.Timeline getCurrentTimeline(); method public final androidx.media3.common.Timeline getCurrentTimeline();
method public androidx.media3.common.Tracks getCurrentTracks(); method public final androidx.media3.common.Tracks getCurrentTracks();
method public androidx.media3.common.DeviceInfo getDeviceInfo(); method public final androidx.media3.common.DeviceInfo getDeviceInfo();
method @IntRange(from=0) public int getDeviceVolume(); method @IntRange(from=0) public final int getDeviceVolume();
method public long getDuration(); method public final long getDuration();
method public long getMaxSeekToPreviousPosition(); method public final long getMaxSeekToPreviousPosition();
method public androidx.media3.common.MediaItem getMediaItemAt(int); method public final androidx.media3.common.MediaItem getMediaItemAt(int);
method public int getMediaItemCount(); method public final int getMediaItemCount();
method public androidx.media3.common.MediaMetadata getMediaMetadata(); method public final androidx.media3.common.MediaMetadata getMediaMetadata();
method public int getNextMediaItemIndex(); method public final int getNextMediaItemIndex();
method public boolean getPlayWhenReady(); method public final boolean getPlayWhenReady();
method public androidx.media3.common.PlaybackParameters getPlaybackParameters(); method public final androidx.media3.common.PlaybackParameters getPlaybackParameters();
method @androidx.media3.common.Player.State public int getPlaybackState(); method @androidx.media3.common.Player.State public final int getPlaybackState();
method @androidx.media3.common.Player.PlaybackSuppressionReason public int getPlaybackSuppressionReason(); method @androidx.media3.common.Player.PlaybackSuppressionReason public final int getPlaybackSuppressionReason();
method @Nullable public androidx.media3.common.PlaybackException getPlayerError(); method @Nullable public final androidx.media3.common.PlaybackException getPlayerError();
method public androidx.media3.common.MediaMetadata getPlaylistMetadata(); method public final androidx.media3.common.MediaMetadata getPlaylistMetadata();
method public int getPreviousMediaItemIndex(); method public final int getPreviousMediaItemIndex();
method @androidx.media3.common.Player.RepeatMode public int getRepeatMode(); method @androidx.media3.common.Player.RepeatMode public final int getRepeatMode();
method public long getSeekBackIncrement(); method public final long getSeekBackIncrement();
method public long getSeekForwardIncrement(); method public final long getSeekForwardIncrement();
method @Nullable public android.app.PendingIntent getSessionActivity(); method @Nullable public final android.app.PendingIntent getSessionActivity();
method public boolean getShuffleModeEnabled(); method public final boolean getShuffleModeEnabled();
method public long getTotalBufferedDuration(); method public final long getTotalBufferedDuration();
method public androidx.media3.common.TrackSelectionParameters getTrackSelectionParameters(); method public final androidx.media3.common.TrackSelectionParameters getTrackSelectionParameters();
method public androidx.media3.common.VideoSize getVideoSize(); method public final androidx.media3.common.VideoSize getVideoSize();
method @FloatRange(from=0, to=1) public float getVolume(); method @FloatRange(from=0, to=1) public final float getVolume();
method public boolean hasNextMediaItem(); method public final boolean hasNextMediaItem();
method public boolean hasPreviousMediaItem(); method public final boolean hasPreviousMediaItem();
method public void increaseDeviceVolume(); method public final void increaseDeviceVolume();
method public boolean isCommandAvailable(@androidx.media3.common.Player.Command int); method public final boolean isCommandAvailable(@androidx.media3.common.Player.Command int);
method public boolean isConnected(); method public final boolean isConnected();
method public boolean isCurrentMediaItemDynamic(); method public final boolean isCurrentMediaItemDynamic();
method public boolean isCurrentMediaItemLive(); method public final boolean isCurrentMediaItemLive();
method public boolean isCurrentMediaItemSeekable(); method public final boolean isCurrentMediaItemSeekable();
method public boolean isDeviceMuted(); method public final boolean isDeviceMuted();
method public boolean isLoading(); method public final boolean isLoading();
method public boolean isPlaying(); method public final boolean isPlaying();
method public boolean isPlayingAd(); method public final boolean isPlayingAd();
method public boolean isSessionCommandAvailable(@androidx.media3.session.SessionCommand.CommandCode int); method public final boolean isSessionCommandAvailable(@androidx.media3.session.SessionCommand.CommandCode int);
method public boolean isSessionCommandAvailable(androidx.media3.session.SessionCommand); method public final boolean isSessionCommandAvailable(androidx.media3.session.SessionCommand);
method public void moveMediaItem(int, int); method public final void moveMediaItem(int, int);
method public void moveMediaItems(int, int, int); method public final void moveMediaItems(int, int, int);
method public void pause(); method public final void pause();
method public void play(); method public final void play();
method public void prepare(); method public final void prepare();
method public void release(); method public final void release();
method public static void releaseFuture(java.util.concurrent.Future<? extends androidx.media3.session.MediaController>); method public static void releaseFuture(java.util.concurrent.Future<? extends androidx.media3.session.MediaController>);
method public void removeListener(androidx.media3.common.Player.Listener); method public final void removeListener(androidx.media3.common.Player.Listener);
method public void removeMediaItem(int); method public final void removeMediaItem(int);
method public void removeMediaItems(int, int); method public final void removeMediaItems(int, int);
method public void seekBack(); method public final void seekBack();
method public void seekForward(); method public final void seekForward();
method public void seekTo(long); method public final void seekTo(long);
method public void seekTo(int, long); method public final void seekTo(int, long);
method public void seekToDefaultPosition(); method public final void seekToDefaultPosition();
method public void seekToDefaultPosition(int); method public final void seekToDefaultPosition(int);
method public void seekToNext(); method public final void seekToNext();
method public void seekToNextMediaItem(); method public final void seekToNextMediaItem();
method public void seekToPrevious(); method public final void seekToPrevious();
method public void seekToPreviousMediaItem(); method public final void seekToPreviousMediaItem();
method public com.google.common.util.concurrent.ListenableFuture<androidx.media3.session.SessionResult> sendCustomCommand(androidx.media3.session.SessionCommand, android.os.Bundle); method public final com.google.common.util.concurrent.ListenableFuture<androidx.media3.session.SessionResult> sendCustomCommand(androidx.media3.session.SessionCommand, android.os.Bundle);
method public void setDeviceMuted(boolean); method public final void setDeviceMuted(boolean);
method public void setDeviceVolume(@IntRange(from=0) int); method public final void setDeviceVolume(@IntRange(from=0) int);
method public void setMediaItem(androidx.media3.common.MediaItem); method public final void setMediaItem(androidx.media3.common.MediaItem);
method public void setMediaItem(androidx.media3.common.MediaItem, long); method public final void setMediaItem(androidx.media3.common.MediaItem, long);
method public void setMediaItem(androidx.media3.common.MediaItem, boolean); method public final void setMediaItem(androidx.media3.common.MediaItem, boolean);
method public void setMediaItems(java.util.List<androidx.media3.common.MediaItem>); method public final void setMediaItems(java.util.List<androidx.media3.common.MediaItem>);
method public void setMediaItems(java.util.List<androidx.media3.common.MediaItem>, boolean); method public final void setMediaItems(java.util.List<androidx.media3.common.MediaItem>, boolean);
method public void setMediaItems(java.util.List<androidx.media3.common.MediaItem>, int, long); method public final void setMediaItems(java.util.List<androidx.media3.common.MediaItem>, int, long);
method public void setPlayWhenReady(boolean); method public final void setPlayWhenReady(boolean);
method public void setPlaybackParameters(androidx.media3.common.PlaybackParameters); method public final void setPlaybackParameters(androidx.media3.common.PlaybackParameters);
method public void setPlaybackSpeed(float); method public final void setPlaybackSpeed(float);
method public void setPlaylistMetadata(androidx.media3.common.MediaMetadata); method public final void setPlaylistMetadata(androidx.media3.common.MediaMetadata);
method public com.google.common.util.concurrent.ListenableFuture<androidx.media3.session.SessionResult> setRating(String, androidx.media3.common.Rating); method public final com.google.common.util.concurrent.ListenableFuture<androidx.media3.session.SessionResult> setRating(String, androidx.media3.common.Rating);
method public com.google.common.util.concurrent.ListenableFuture<androidx.media3.session.SessionResult> setRating(androidx.media3.common.Rating); method public final com.google.common.util.concurrent.ListenableFuture<androidx.media3.session.SessionResult> setRating(androidx.media3.common.Rating);
method public void setRepeatMode(@androidx.media3.common.Player.RepeatMode int); method public final void setRepeatMode(@androidx.media3.common.Player.RepeatMode int);
method public void setShuffleModeEnabled(boolean); method public final void setShuffleModeEnabled(boolean);
method public void setTrackSelectionParameters(androidx.media3.common.TrackSelectionParameters); method public final void setTrackSelectionParameters(androidx.media3.common.TrackSelectionParameters);
method public void setVideoSurface(@Nullable android.view.Surface); method public final void setVideoSurface(@Nullable android.view.Surface);
method public void setVideoSurfaceHolder(@Nullable android.view.SurfaceHolder); method public final void setVideoSurfaceHolder(@Nullable android.view.SurfaceHolder);
method public void setVideoSurfaceView(@Nullable android.view.SurfaceView); method public final void setVideoSurfaceView(@Nullable android.view.SurfaceView);
method public void setVideoTextureView(@Nullable android.view.TextureView); method public final void setVideoTextureView(@Nullable android.view.TextureView);
method public void setVolume(@FloatRange(from=0, to=1) float); method public final void setVolume(@FloatRange(from=0, to=1) float);
method public void stop(); method public final void stop();
} }
public static final class MediaController.Builder { public static final class MediaController.Builder {