PictureInPictureDelegate


open 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(
    pictureInPictureProvider: PictureInPictureProvider
)

Public constructors

PictureInPictureDelegate

Added in 1.0.0-alpha02
PictureInPictureDelegate(
    pictureInPictureProvider: PictureInPictureProvider
)
Parameters
pictureInPictureProvider: PictureInPictureProvider

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

Public functions

addOnPictureInPictureEventListener

Added in 1.0.0-alpha02
fun addOnPictureInPictureEventListener(
    executor: Executor,
    listener: PictureInPictureDelegate.OnPictureInPictureEventListener
): Unit

Adds OnPictureInPictureEventListener for events sent from system.

removeOnPictureInPictureEventListener

Added in 1.0.0-alpha02
fun removeOnPictureInPictureEventListener(
    listener: PictureInPictureDelegate.OnPictureInPictureEventListener
): Unit

Removes OnPictureInPictureEventListener for events sent from system.

setPictureInPictureParams

Added in 1.0.0-alpha02
fun setPictureInPictureParams(
    pictureInPictureParamsCompat: PictureInPictureParamsCompat
): Unit

Sets the PictureInPictureParamsCompat instance for PiP.

Parameters
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.