mirror of
https://github.com/samsonjs/media.git
synced 2026-03-25 09:25:53 +00:00
With this change, the notification controller that is connected by `MediaNotificationManager`, is used as a proxy controller of the System UI controller. An app can use the proxy at connection time and during the lifetime of the session for configuration of the platform session and the media notification on all API levels. This includes using custom layout and available player and session commands of the proxy to maintain the platform session (actions, custom actions, session extras) and the `MediaNotification.Provider`. The legacy System UI controller is hidden from the public API, instead the app interacts with the Media3 proxy: - System UI is hidden from `MediaSession.getConnectedControllers()`. - Calls from System UI to methods of `MediaSession.Callback`/ `MediaLibrarySession.Callback` are mapped to the `ControllerInfo` of the proxy controller. - When `getControllerForCurrentRequest()` is called during an operation of System UI the proxy `ControllerInfo` is returned. PiperOrigin-RevId: 567606117 |
||
|---|---|---|
| .. | ||
| src | ||
| build.gradle | ||
| lint-baseline.xml | ||
| README.md | ||
Session module
This module provides media session functionality through which media information and controls can be exposed to the Android platform, as well as to other processes and applications.
Getting the module
The easiest way to get the module is to add it as a gradle dependency:
implementation 'androidx.media3:media3-session:1.X.X'
where 1.X.X is the version, which must match the version of the other media
modules being used.
Alternatively, you can clone this GitHub project and depend on the module locally. Instructions for doing this can be found in the top level README.