PillarboxMediaLibraryService

PillarboxMediaLibraryService implementation of MediaLibraryService. It is the recommended way to make background playback for Android and sharing content with Android Auto.

It handles only one MediaSession with one PillarboxExoPlayer.

Usage: Add these permissions inside your manifest:

<uses-permission android:name="android.permission.FOREGROUND_SERVICE" />
<uses-permission android:name="android.permission.FOREGROUND_SERVICE_MEDIA_PLAYBACK" />

And add your PillarboxMediaLibraryService to the application manifest as follow:

<meta-data android:name="com.google.android.gms.car.application" android:resource="@xml/automotive_app_desc" />

<service
android:name=".service.DemoMediaLibraryService"
android:enabled="true"
android:exported="true"
android:foregroundServiceType="mediaPlayback">
<intent-filter>
<action android:name="androidx.media3.session.MediaLibraryService" />
<action android:name="android.media.browse.MediaBrowserService" />
</intent-filter>
</service>

Use PillarboxMediaBrowser.Builder to connect this Service to a PillarboxMediaBrowser:

coroutineScope.launch() {
val mediaBrowser = PillarboxMediaBrowser.Builder(application, DemoMediaLibraryService::class.java)
doSomethingWith(mediaBrowser)
}
...
mediaBrowser.release() // when the MediaBrowser is no longer needed.

Constructors

Link copied to clipboard
constructor()

Properties

Link copied to clipboard

Release on task removed

Functions

Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
open override fun bindService(p0: Intent, p1: ServiceConnection, p2: Int): Boolean
open override fun bindService(p0: Intent, p1: Int, p2: Executor, p3: ServiceConnection): Boolean
Link copied to clipboard
Link copied to clipboard
open override fun checkCallingOrSelfPermission(p0: String): Int
Link copied to clipboard
open override fun checkCallingOrSelfUriPermission(p0: Uri, p1: Int): Int
Link copied to clipboard
Link copied to clipboard
open override fun checkCallingPermission(p0: String): Int
Link copied to clipboard
open override fun checkCallingUriPermission(p0: Uri, p1: Int): Int
Link copied to clipboard
open override fun checkCallingUriPermissions(p0: MutableList<Uri>, p1: Int): IntArray
Link copied to clipboard
open override fun checkPermission(p0: String, p1: Int, p2: Int): Int
Link copied to clipboard
open override fun checkSelfPermission(p0: String): Int
Link copied to clipboard
open override fun checkUriPermission(p0: Uri, p1: Int, p2: Int, p3: Int): Int
open override fun checkUriPermission(p0: Uri?, p1: String?, p2: String?, p3: Int, p4: Int, p5: Int): Int
Link copied to clipboard
open override fun checkUriPermissions(p0: MutableList<Uri>, p1: Int, p2: Int, p3: Int): IntArray
Link copied to clipboard
Link copied to clipboard
open override fun clearWallpaper()
Link copied to clipboard
open override fun createAttributionContext(p0: String?): Context
Link copied to clipboard
Link copied to clipboard
open override fun createContext(p0: ContextParams): Context
Link copied to clipboard
open override fun createContextForSplit(p0: String): Context
Link copied to clipboard
open override fun createDeviceContext(p0: Int): Context
Link copied to clipboard
open override fun createDisplayContext(p0: Display): Context
Link copied to clipboard
open override fun createPackageContext(p0: String, p1: Int): Context
Link copied to clipboard
open override fun createWindowContext(p0: Int, p1: Bundle?): Context
open override fun createWindowContext(p0: Display, p1: Int, p2: Bundle?): Context
Link copied to clipboard
open override fun databaseList(): Array<String>
Link copied to clipboard
open override fun deleteDatabase(p0: String): Boolean
Link copied to clipboard
open override fun deleteFile(p0: String): Boolean
Link copied to clipboard
open override fun deleteSharedPreferences(p0: String): Boolean
Link copied to clipboard
open override fun enforceCallingOrSelfPermission(p0: String, p1: String?)
Link copied to clipboard
open override fun enforceCallingOrSelfUriPermission(p0: Uri, p1: Int, p2: String)
Link copied to clipboard
open override fun enforceCallingPermission(p0: String, p1: String?)
Link copied to clipboard
open override fun enforceCallingUriPermission(p0: Uri, p1: Int, p2: String)
Link copied to clipboard
open override fun enforcePermission(p0: String, p1: Int, p2: Int, p3: String?)
Link copied to clipboard
open override fun enforceUriPermission(p0: Uri, p1: Int, p2: Int, p3: Int, p4: String)
open override fun enforceUriPermission(p0: Uri?, p1: String?, p2: String?, p3: Int, p4: Int, p5: Int, p6: String?)
Link copied to clipboard
open override fun fileList(): Array<String>
Link copied to clipboard
Link copied to clipboard
open override fun getApplicationContext(): Context
Link copied to clipboard
open override fun getApplicationInfo(): ApplicationInfo
Link copied to clipboard
open override fun getAssets(): AssetManager
Link copied to clipboard
Link copied to clipboard
open override fun getAttributionTag(): String?
Link copied to clipboard
Link copied to clipboard
open override fun getCacheDir(): File
Link copied to clipboard
open override fun getClassLoader(): ClassLoader
Link copied to clipboard
open override fun getCodeCacheDir(): File
Link copied to clipboard
fun getColor(p0: Int): Int
Link copied to clipboard
Link copied to clipboard
open override fun getContentResolver(): ContentResolver
Link copied to clipboard
open override fun getDatabasePath(p0: String): File
Link copied to clipboard
open override fun getDataDir(): File
Link copied to clipboard
open override fun getDeviceId(): Int
Link copied to clipboard
open override fun getDir(p0: String, p1: Int): File
Link copied to clipboard
open override fun getDisplay(): Display?
Link copied to clipboard
Link copied to clipboard
open override fun getExternalCacheDir(): File?
Link copied to clipboard
open override fun getExternalCacheDirs(): Array<File>
Link copied to clipboard
open override fun getExternalFilesDir(p0: String?): File?
Link copied to clipboard
open override fun getExternalFilesDirs(p0: String): Array<File>
Link copied to clipboard
open override fun getExternalMediaDirs(): Array<File>
Link copied to clipboard
open override fun getFilesDir(): File
Link copied to clipboard
open override fun getFileStreamPath(p0: String): File
Link copied to clipboard
Link copied to clipboard
open override fun getMainExecutor(): Executor
Link copied to clipboard
open override fun getMainLooper(): Looper
Link copied to clipboard
open override fun getNoBackupFilesDir(): File
Link copied to clipboard
open override fun getObbDir(): File
Link copied to clipboard
open override fun getObbDirs(): Array<File>
Link copied to clipboard
open override fun getOpPackageName(): String
Link copied to clipboard
open override fun getPackageCodePath(): String
Link copied to clipboard
open override fun getPackageManager(): PackageManager
Link copied to clipboard
open override fun getPackageName(): String
Link copied to clipboard
open override fun getPackageResourcePath(): String
Link copied to clipboard
open override fun getParams(): ContextParams?
Link copied to clipboard
open override fun getResources(): Resources
Link copied to clipboard
Link copied to clipboard
open override fun getSharedPreferences(p0: String, p1: Int): SharedPreferences
Link copied to clipboard
fun getString(p0: Int): String
fun getString(p0: Int, vararg p1: Any): String
Link copied to clipboard
fun <T : Any> getSystemService(p0: Class<T>): T
open override fun getSystemService(p0: String): Any
Link copied to clipboard
open override fun getSystemServiceName(p0: Class<*>): String?
Link copied to clipboard
Link copied to clipboard
open override fun getTheme(): Resources.Theme
Link copied to clipboard
open override fun getWallpaper(): Drawable
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
open override fun grantUriPermission(p0: String, p1: Uri, p2: Int)
Link copied to clipboard
open override fun isDeviceProtectedStorage(): Boolean
Link copied to clipboard
Link copied to clipboard
open override fun isRestricted(): Boolean
Link copied to clipboard
Link copied to clipboard
open override fun isUiContext(): Boolean
Link copied to clipboard
open override fun moveDatabaseFrom(p0: Context, p1: String): Boolean
Link copied to clipboard
open override fun moveSharedPreferencesFrom(p0: Context, p1: String): Boolean
Link copied to clipboard
open override fun onBind(@Nullable p0: Intent?): IBinder?
Link copied to clipboard
open override fun onConfigurationChanged(p0: Configuration)
Link copied to clipboard
open override fun onCreate()
Link copied to clipboard
open override fun onDestroy()
Link copied to clipboard
Link copied to clipboard
open override fun onLowMemory()
Link copied to clipboard
open fun onRebind(p0: Intent)
Link copied to clipboard
open fun onStart(p0: Intent, p1: Int)
Link copied to clipboard
open override fun onStartCommand(@Nullable p0: Intent?, p1: Int, p2: Int): Int
Link copied to clipboard
open override fun onTaskRemoved(rootIntent: Intent?)

We choose to stop playback when user remove application from the tasks

Link copied to clipboard
open fun onTimeout(p0: Int)
Link copied to clipboard
open override fun onTrimMemory(p0: Int)
Link copied to clipboard
open fun onUnbind(p0: Intent): Boolean
Link copied to clipboard
Link copied to clipboard
open override fun openFileInput(p0: String): FileInputStream
Link copied to clipboard
open override fun openFileOutput(p0: String, p1: Int): FileOutputStream
Link copied to clipboard
open override fun peekWallpaper(): Drawable
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
open override fun registerReceiver(p0: BroadcastReceiver?, p1: IntentFilter): Intent?
open override fun registerReceiver(p0: BroadcastReceiver?, p1: IntentFilter, p2: Int): Intent?
open override fun registerReceiver(p0: BroadcastReceiver?, p1: IntentFilter, p2: String?, p3: Handler?): Intent?
open override fun registerReceiver(p0: BroadcastReceiver?, p1: IntentFilter, p2: String?, p3: Handler?, p4: Int): Intent?
Link copied to clipboard
open fun release()

Release the player and the MediaSession. The mediaSession is set to null after this call

Link copied to clipboard
Link copied to clipboard
open override fun removeStickyBroadcast(p0: Intent)
Link copied to clipboard
open override fun removeStickyBroadcastAsUser(p0: Intent, p1: UserHandle)
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
open override fun revokeUriPermission(p0: Uri, p1: Int)
open override fun revokeUriPermission(p0: String, p1: Uri, p2: Int)
Link copied to clipboard
open override fun sendBroadcast(p0: Intent)
open override fun sendBroadcast(p0: Intent, p1: String?)
open override fun sendBroadcast(p0: Intent, p1: String?, p2: Bundle?)
Link copied to clipboard
open override fun sendBroadcastAsUser(p0: Intent, p1: UserHandle)
open override fun sendBroadcastAsUser(p0: Intent, p1: UserHandle, p2: String?)
Link copied to clipboard
open override fun sendOrderedBroadcast(p0: Intent, p1: String?)
open override fun sendOrderedBroadcast(p0: Intent, p1: String?, p2: Bundle?)
open override fun sendOrderedBroadcast(p0: Intent, p1: String?, p2: BroadcastReceiver?, p3: Handler?, p4: Int, p5: String?, p6: Bundle?)
open override fun sendOrderedBroadcast(p0: Intent, p1: String?, p2: Bundle?, p3: BroadcastReceiver?, p4: Handler?, p5: Int, p6: String?, p7: Bundle?)
open override fun sendOrderedBroadcast(p0: Intent, p1: String?, p2: String?, p3: BroadcastReceiver?, p4: Handler?, p5: Int, p6: String?, p7: Bundle?)
open fun sendOrderedBroadcast(p0: Intent, p1: Int, p2: String?, p3: String?, p4: BroadcastReceiver?, p5: Handler?, p6: String?, p7: Bundle?, p8: Bundle?)
Link copied to clipboard
open override fun sendOrderedBroadcastAsUser(p0: Intent, p1: UserHandle, p2: String?, p3: BroadcastReceiver?, p4: Handler?, p5: Int, p6: String?, p7: Bundle?)
Link copied to clipboard
open override fun sendStickyBroadcast(p0: Intent)
open override fun sendStickyBroadcast(p0: Intent, p1: Bundle?)
Link copied to clipboard
open override fun sendStickyBroadcastAsUser(p0: Intent, p1: UserHandle)
Link copied to clipboard
open override fun sendStickyOrderedBroadcast(p0: Intent, p1: BroadcastReceiver?, p2: Handler?, p3: Int, p4: String?, p5: Bundle?)
Link copied to clipboard
open override fun sendStickyOrderedBroadcastAsUser(p0: Intent, p1: UserHandle, p2: BroadcastReceiver?, p3: Handler?, p4: Int, p5: String?, p6: Bundle?)
Link copied to clipboard

Session activity use with mediaSession called when setPlayer

Link copied to clipboard
fun setPlayer(player: PillarboxExoPlayer, callback: PillarboxMediaLibrarySession.Callback, sessionId: String? = null)

Set player to use with this Service.

Link copied to clipboard
open override fun setTheme(p0: Int)
Link copied to clipboard
open override fun setWallpaper(p0: Bitmap)
open override fun setWallpaper(p0: InputStream)
Link copied to clipboard
open override fun startActivities(p0: Array<Intent>)
open override fun startActivities(p0: Array<Intent>, p1: Bundle?)
Link copied to clipboard
open override fun startActivity(p0: Intent)
open override fun startActivity(p0: Intent, p1: Bundle?)
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
open override fun startInstrumentation(p0: ComponentName, p1: String?, p2: Bundle?): Boolean
Link copied to clipboard
open override fun startIntentSender(p0: IntentSender, p1: Intent?, p2: Int, p3: Int, p4: Int)
open override fun startIntentSender(p0: IntentSender, p1: Intent?, p2: Int, p3: Int, p4: Int, p5: Bundle?)
Link copied to clipboard
open override fun startService(p0: Intent): ComponentName?
Link copied to clipboard
Link copied to clipboard
fun stopSelf()
fun stopSelf(p0: Int)
Link copied to clipboard
Link copied to clipboard
open override fun stopService(p0: Intent): Boolean
Link copied to clipboard
open override fun unbindService(p0: ServiceConnection)
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
open override fun unregisterReceiver(p0: BroadcastReceiver)
Link copied to clipboard
open override fun updateServiceGroup(p0: ServiceConnection, p1: Int, p2: Int)