Skip to content

Support Picture-in-Picture (PiP) for camera/video Lovelace cards in the Android app #7362

Description

@coturwood

The Picture-in-Picture button on Lovelace video/camera cards (e.g. the custom:webrtc-camera card) doesn't work when the dashboard is opened inside the Android Companion app. The exact same dashboard, opened in Chrome on the same device, works correctly and enters PiP without issues.
Cause
Lovelace cards trigger PiP via the browser's standard HTMLVideoElement.requestPictureInPicture() API. This API only succeeds if the hosting Android app declares native PiP support (android:supportsPictureInPicture="true" in the Activity manifest) and handles the transition into Android's system-level picture-in-picture mode. The WebView used inside the Companion app doesn't currently provide this, so the web-level PiP request has nowhere to go and silently fails — regardless of whether the connection is local HTTP or remote HTTPS.
Proposed solution
Add native PiP support to the Companion app's main Activity, so PiP requests originating from Lovelace cards (camera feeds, media players, etc.) can actually enter Android's picture-in-picture mode, matching the behavior already available when using a standard mobile browser.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Fields

    Priority

    None yet

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions