PictureInPictureDelegate


public class PictureInPictureDelegate

Known direct subclasses
BasicPictureInPicture

Basic Picture-in-Picture implementation.

Known indirect subclasses
VideoPlaybackPictureInPicture

Picture-in-Picture implementation optimized for Video Playback applications.


A delegate class to help set up PiP (Picture-in-Picture) functionalities on behalf of the given PictureInPictureProvider instance.

It's highly recommended to choose one of the implementations: BasicPictureInPicture, VideoPlaybackPictureInPicture instead of using this class directly.

Summary

Nested types

Represents the PiP event emitted from the system.

Unified listener interface for Activity.onPictureInPictureModeChanged and Activity.onPictureInPictureUiStateChanged callbacks.

Public constructors

PictureInPictureDelegate(
    @NonNull PictureInPictureProvider pictureInPictureProvider
)

Public methods

final void

Adds OnPictureInPictureEventListener for events sent from system.

final void

Removes OnPictureInPictureEventListener for events sent from system.

final void
setPictureInPictureParams(
    @NonNull PictureInPictureParamsCompat pictureInPictureParamsCompat
)

Sets the PictureInPictureParamsCompat instance for PiP.

Public constructors

PictureInPictureDelegate

Added in 1.0.0-alpha02
public PictureInPictureDelegate(
    @NonNull PictureInPictureProvider pictureInPictureProvider
)
Parameters
@NonNull PictureInPictureProvider pictureInPictureProvider

PictureInPictureProvider instance that this delegate will call into for actual Picture-in-Picture functionalities.

Public methods

addOnPictureInPictureEventListener

Added in 1.0.0-alpha02
public final void addOnPictureInPictureEventListener(
    @NonNull Executor executor,
    @NonNull PictureInPictureDelegate.OnPictureInPictureEventListener listener
)

Adds OnPictureInPictureEventListener for events sent from system.

removeOnPictureInPictureEventListener

Added in 1.0.0-alpha02
public final void removeOnPictureInPictureEventListener(
    @NonNull PictureInPictureDelegate.OnPictureInPictureEventListener listener
)

Removes OnPictureInPictureEventListener for events sent from system.

setPictureInPictureParams

Added in 1.0.0-alpha02
public final void setPictureInPictureParams(
    @NonNull PictureInPictureParamsCompat pictureInPictureParamsCompat
)

Sets the PictureInPictureParamsCompat instance for PiP.

Parameters
@NonNull PictureInPictureParamsCompat pictureInPictureParamsCompat

PictureInPictureParamsCompat instance to set, and it's subjected to be changed. For instance, the aspectRatio would be capped in between the minimal and maximum allowed aspectRatio; and the sourceRectHint would be center cropped to match the aspectRatio.