page.title=Picture-in-picture
page.keywords=preview,sdk,PIP,Picture-in-picture
page.tags=androidn

@jd:body

<div id="qv-wrapper">
<div id="qv">

<h2>In this document</h2>
<ol>
  <li><a href="#declaring">Declaring Your Activity Supports
Picture-in-picture</a></li>
  <li><a href="#pip_button">Switching Your Activity to Picture-in-picture</a>
</li>
  <li><a href="#handling_ui">Handling UI During Picture-in-picture</a>
</li>
  <li><a href="#continuing_playback">Continuing Video Playback While in
Picture-in-picture</a></li>
  <li><a href="#single_playback">Using a Single Playback Activity for
Picture-in-picture</a></li>
  <li><a href="#best">Best Practices</a></li>
</ol>

<h2>See Also</h2>
<ol>
  <li><a href="{@docRoot}preview/features/multi-window.html">Multi-Window
Support</a></li>
</ol>

</div>
</div>

<p>In Android N, Android TV users can now watch a video
in a pinned window in a corner of the screen when navigating within
apps. Picture-in-picture (PIP) mode lets apps run a video
activity in the pinned window while another activity continues in the
background. The PIP window lets users multitask while using your app, which
helps users be more productive.</p>

<p>Your app can decide when to trigger PIP mode. Here are some examples of
when to enter PIP mode:</p>

<ul>
<li>Your app can move a video into PIP mode when the user navigates
back from the video to browse other content.</li>
<li>Your app can switch a video into PIP mode while a user watches the end
of an episode of content. The main screen displays promotional or summary
information about the next episode in the series.</li>
<li>Your app can provide a way for users to queue up additional content while
they watch a video. The video continues playing in PIP mode while the main
screen displays a content selection activity.</li>
</ul>

<p>The PIP window is 240x135 dp and is shown at the top-most layer in one of
the four corners of the screen, chosen by the system. The user can bring up a
PIP menu that lets them toggle the PIP window to full-screen, or close the PIP
window, by holding down the <b>Home</b> button on the remote. If another
video starts playing on the main screen, the PIP window is automatically
closed. Users can also close the PIP window through Recents.</p>

<img src="{@docRoot}preview/images/pip-active.png" />
<p class="img-caption"><strong>Figure 1.</strong> A Picture-in-picture
video visible in a corner of the screen while the user browses content
on the main screen.</p>

<p>PIP leverages the multi-window APIs available in Android N to
provide the pinned video overlay window. To add PIP to your app, you need to
register your activities that support PIP, switch your activity to PIP mode as
needed, and make sure UI elements are hidden and video playback continues when
the activity is in PIP mode.</p>

<h2 id="declaring">Declaring Your Activity Supports Picture-in-picture</h2>

<p>By default, the system does not automatically support PIP for apps.
If you want support PIP in your app, register your video
activity in your manifest by setting
<code>android:supportsPictureInPicture</code> and
<code>android:resizeableActivity</code> to <code>true</code>. Also, specify
that your activity handles layout configuration changes so that your activity
doesn't relaunch when layout changes occur during PIP mode transitions.</p>

<pre>
&lt;activity android:name="VideoActivity"
    android:resizeableActivity="true"
    android:supportsPictureInPicture="true"
    android:configChanges=
        "screenSize|smallestScreenSize|screenLayout|orientation"
    ...
</pre>

<p>When registering your activity, keep in mind that in PIP mode, your
activity is shown in a small overlay window on a TV screen. Video playback
activities with minimal UI provide the best user experience. Activities that
contain small UI elements might not provide a good user experience
when switched to PIP mode, because users can't see details of the UI elements
in the PIP window.</p>

<h2 id="pip_button">Switching Your Activity to Picture-in-picture</h2>

When you need to switch your activity into PIP mode, call
<code>Activity.enterPictureInPictureMode()</code>. The following example
switches to PIP mode when the user selects a dedicated PIP button on a media
control bar:</p>

<pre>
&#64;Override
public void onActionClicked(Action action) {
    if (action.getId() == R.id.lb_control_picture_in_picture) {
        getActivity().enterPictureInPictureMode();
        return;
    }
    ...
</pre>

<p>Adding a PIP button to your media control bar lets your user easily switch
to PIP mode while controlling video playback.</p>

<img src="{@docRoot}preview/images/pip-button.png" />
<p class="img-caption"><strong>Figure 1.</strong> A Picture-in-picture
button on a media control bar.</p>

<p>Android N includes a new
<code>PlaybackControlsRow.PictureInPictureAction</code> class which defines
control bar PIP actions and uses the PIP icon.</p>

<h2 id="handling_ui">Handling UI During Picture-in-picture</h2>

<p>When your activity enters PIP mode, your activity should only show video
playback. Remove UI elements before your activity enters PIP,
and restore these elements when your activity becomes full-screen again.
Override <code>Activity.onPictureInPictureModeChanged()</code> or
<code>Fragment.onPictureInPictureModeChanged()</code> and enable or
disable your UI elements as needed, for example:</p>

<pre>
&#64;Override
public void onPictureInPictureModeChanged(boolean isInPictureInPictureMode) {
    if (isInPictureInPictureMode) {
        // Hide the controls in picture-in-picture mode.
        ...
    } else {
        // Restore the playback UI based on the playback status.
        ...
    }
}
</pre>

<h2 id="continuing_playback">Continuing Video Playback While in
Picture-in-picture</h2>

<p>When your activity switches to PIP, the system considers the activity in a
paused state, and calls your activity's <code>onPause()</code> method. Video
playback should not be paused and should continue playing if the activity is
paused due to PIP mode. Check for PIP in your activity's
<code>onPause()</code> method and handle playback appropriately, for
example:</p>

<pre>
&#64;Override
public void onPause() {
    // If called while in PIP mode, do not pause playback
    if (isInPictureInPictureMode()) {
        // Continue playback
        ...
    }
    // If paused but not in PIP, pause playback if necessary
    ...
}
</pre>

<p>When your activity switches out of PIP mode back to full-screen mode, the
system resumes your activity and calls your <code>onResume()</code> method.</p>

<h2 id="single_playback">Using a Single Playback Activity for
Picture-in-picture</h2>

<p>In your app, a user might select a new video when browsing for content on
the main screen, while a video playback activity is in PIP mode. Play the new
video in the existing playback activity in full screen mode, instead of
launching a new activity that might confuse the user.</p>

<p>To ensure a single activity is used for video playback requests and
switched into or out of PIP mode as needed, set the activity's
<code>android:launchMode</code> to <code>singleTask</code> in your manifest:
</p>

<pre>
&lt;activity android:name="VideoActivity"
    ...
    android:supportsPictureInPicture="true"
    android:launchMode="singleTask"
    ...
</pre>

<p>In your activity, override {@link android.app.Activity#onNewIntent
Activity.onNewIntent()} and handle the new video, stopping any existing video
playback if needed.</p>

<h2 id="best">Best Practices</h2>

<p>PIP is intended for activities that play full-screen video. When switching
your activity into PIP mode, avoid showing anything except video content.
Track when your activity enters PIP mode and hide UI elements, as described
in <a href="#handling_ui">Handling UI During Picture-in-picture</a>.</p>

<p>Since the PIP window is shown as a floating window in the corner of the
screen, you should avoid showing critical information in the main screen
in any area that can be obscured by the PIP window.</p>

<p>When an activity is in PIP mode, by default it doesn't get input focus. To
receive input events while in PIP mode, use
<code>MediaSession.setMediaButtonReceiver()</code>.</p>
