PictureInPictureParams.Builder
  public
  static
  
  
  class
  PictureInPictureParams.Builder
  
    extends Object
  
  
  
  
  
  
| java.lang.Object | |
| ↳ | android.app.PictureInPictureParams.Builder | 
Builder class for PictureInPictureParams objects.
Summary
| Public constructors | |
|---|---|
| 
      Builder()
      Default constructor | |
| 
      Builder(PictureInPictureParams original)
      Copy constructor | |
| Public methods | |
|---|---|
| 
        
        
        
        
        
        PictureInPictureParams | 
      build()
       | 
| 
        
        
        
        
        
        PictureInPictureParams.Builder | 
      setActions(List<RemoteAction> actions)
      Sets the user actions. | 
| 
        
        
        
        
        
        PictureInPictureParams.Builder | 
      setAspectRatio(Rational aspectRatio)
      Sets the aspect ratio. | 
| 
        
        
        
        
        
        PictureInPictureParams.Builder | 
      setAutoEnterEnabled(boolean autoEnterEnabled)
      Sets whether the system will automatically put the activity in picture-in-picture mode
 without needing/waiting for the activity to call
  | 
| 
        
        
        
        
        
        PictureInPictureParams.Builder | 
      setCloseAction(RemoteAction action)
      Sets a close action that should be invoked before the default close PiP action. | 
| 
        
        
        
        
        
        PictureInPictureParams.Builder | 
      setExpandedAspectRatio(Rational expandedAspectRatio)
      Sets the aspect ratio for the expanded picture-in-picture mode. | 
| 
        
        
        
        
        
        PictureInPictureParams.Builder | 
      setSeamlessResizeEnabled(boolean seamlessResizeEnabled)
      Sets whether the system can seamlessly resize the window while the activity is in picture-in-picture mode. | 
| 
        
        
        
        
        
        PictureInPictureParams.Builder | 
      setSourceRectHint(Rect launchBounds)
      Sets the window-coordinate bounds of an activity transitioning to picture-in-picture. | 
| 
        
        
        
        
        
        PictureInPictureParams.Builder | 
      setSubtitle(CharSequence subtitle)
      Sets a subtitle for the picture-in-picture window, which may be displayed by the system to give the user more detailed information about what this PIP is displaying. | 
| 
        
        
        
        
        
        PictureInPictureParams.Builder | 
      setTitle(CharSequence title)
      Sets a title for the picture-in-picture window, which may be displayed by the system to give the user information about what this PIP is generally being used for. | 
| Inherited methods | |
|---|---|
Public constructors
Builder
public Builder (PictureInPictureParams original)
Copy constructor
| Parameters | |
|---|---|
| original | PictureInPictureParams:PictureInPictureParamsinstance this builder is built upon.
 This value cannot benull. | 
Public methods
build
public PictureInPictureParams build ()
| Returns | |
|---|---|
| PictureInPictureParams | an immutable PictureInPictureParamsto be used when entering or updating
 the activity in picture-in-picture. | 
setActions
public PictureInPictureParams.Builder setActions (List<RemoteAction> actions)
Sets the user actions.  If there are more than
 Activity.getMaxNumPictureInPictureActions() actions, then the input list
 will be truncated to that number.
| Parameters | |
|---|---|
| actions | List: the new actions to show in the picture-in-picture menu. | 
| Returns | |
|---|---|
| PictureInPictureParams.Builder | this builder instance. | 
See also:
setAspectRatio
public PictureInPictureParams.Builder setAspectRatio (Rational aspectRatio)
Sets the aspect ratio. This aspect ratio is defined as the desired width / height, and does not change upon device rotation.
| Parameters | |
|---|---|
| aspectRatio | Rational: the new aspect ratio for the activity in picture-in-picture, must be
                    between 2.39:1 and 1:2.39 (inclusive). | 
| Returns | |
|---|---|
| PictureInPictureParams.Builder | this builder instance. | 
setAutoEnterEnabled
public PictureInPictureParams.Builder setAutoEnterEnabled (boolean autoEnterEnabled)
Sets whether the system will automatically put the activity in picture-in-picture mode
 without needing/waiting for the activity to call
 Activity.enterPictureInPictureMode(PictureInPictureParams).
 If true, Activity.onPictureInPictureRequested() will never be called.
 This property is false by default.
| Parameters | |
|---|---|
| autoEnterEnabled | boolean:trueif the system will automatically put the activity
                                     in picture-in-picture mode. | 
| Returns | |
|---|---|
| PictureInPictureParams.Builder | this builder instance.
 This value cannot be null. | 
setCloseAction
public PictureInPictureParams.Builder setCloseAction (RemoteAction action)
Sets a close action that should be invoked before the default close PiP action. The
 custom action must close the activity quickly using Activity.finish().
 Otherwise, the system will forcibly close the PiP as if no custom close action was
 provided.
 If the action matches one set via PictureInPictureParams.Builder.setActions(List)
 it may be shown in place of that custom action in the menu.
| Parameters | |
|---|---|
| action | RemoteAction: to replace the system close action
 This value may benull. | 
| Returns | |
|---|---|
| PictureInPictureParams.Builder | this builder instance.
 This value cannot be null. | 
See also:
setExpandedAspectRatio
public PictureInPictureParams.Builder setExpandedAspectRatio (Rational expandedAspectRatio)
Sets the aspect ratio for the expanded picture-in-picture mode. The aspect ratio is
 defined as the desired width / height. 
 The aspect ratio cannot be changed from horizontal to vertical or vertical to horizontal
 while the PIP is shown. Any such changes will be ignored. 
 Setting the expanded ratio shows the activity's support for expanded mode.
 
 Requires the PackageManager#FEATURE_EXPANDED_PICTURE_IN_PICTURE feature which can be detected using PackageManager.hasSystemFeature(String).
| Parameters | |
|---|---|
| expandedAspectRatio | Rational: must not be between 2.39:1 and 1:2.39 (inclusive). Ifnull, expanded picture-in-picture mode is not supported. | 
| Returns | |
|---|---|
| PictureInPictureParams.Builder | this builder instance.
 This value cannot be null. | 
setSeamlessResizeEnabled
public PictureInPictureParams.Builder setSeamlessResizeEnabled (boolean seamlessResizeEnabled)
Sets whether the system can seamlessly resize the window while the activity is in
 picture-in-picture mode. This should normally be the case for video content and
 when it's set to false, system will perform transitions to overcome the
 artifacts due to resize.
 This property is true by default for backwards compatibility.
| Parameters | |
|---|---|
| seamlessResizeEnabled | boolean:trueif the system can seamlessly resize the window
                                          while activity is in picture-in-picture mode. | 
| Returns | |
|---|---|
| PictureInPictureParams.Builder | this builder instance.
 This value cannot be null. | 
setSourceRectHint
public PictureInPictureParams.Builder setSourceRectHint (Rect launchBounds)
Sets the window-coordinate bounds of an activity transitioning to picture-in-picture. The bounds is the area of an activity that will be visible in the transition to picture-in-picture mode. For the best effect, these bounds should also match the aspect ratio in the arguments. In Android 12+ these bounds are also reused to improve the exit transition from picture-in-picture mode. See Support smoother animations when exiting out of PiP mode for more details.
| Parameters | |
|---|---|
| launchBounds | Rect: window-coordinate bounds indicating the area of the activity that
 will still be visible following the transition into picture-in-picture (e.g. the video
 view bounds in a video player) | 
| Returns | |
|---|---|
| PictureInPictureParams.Builder | this builder instance. | 
setSubtitle
public PictureInPictureParams.Builder setSubtitle (CharSequence subtitle)
Sets a subtitle for the picture-in-picture window, which may be displayed by the system
 to give the user more detailed information about what this PIP is displaying.
 Setting a title via PictureInPictureParams.Builder.setTitle(CharSequence) should
 be prioritized.
| Parameters | |
|---|---|
| subtitle | CharSequence: Details about the PIP content.
 This value may benull. | 
| Returns | |
|---|---|
| PictureInPictureParams.Builder | this builder instance
 This value cannot be null. | 
setTitle
public PictureInPictureParams.Builder setTitle (CharSequence title)
Sets a title for the picture-in-picture window, which may be displayed by the system to give the user information about what this PIP is generally being used for.
| Parameters | |
|---|---|
| title | CharSequence: General information about the PIP content
 This value may benull. | 
| Returns | |
|---|---|
| PictureInPictureParams.Builder | this builder instance.
 This value cannot be null. | 
