55package ch.srgssr.pillarbox.demo.ui.showcases.integrations
66
77import android.app.PictureInPictureParams
8+ import android.content.pm.PackageManager
89import android.content.res.Configuration
910import android.os.Build
1011import android.os.Bundle
@@ -34,7 +35,7 @@ import kotlinx.coroutines.launch
3435/* *
3536 * Media controller activity
3637 *
37- * Using official guide for background playback at https://developer.android.com/guide/topics/media/media3/getting-started/playing-in-background
38+ * Using official guides for background playback at https://developer.android.com/guide/topics/media/media3/getting-started/playing-in-background
3839 *
3940 * @constructor Create empty Media controller activity
4041 */
@@ -66,10 +67,16 @@ class MediaControllerActivity : ComponentActivity() {
6667 }
6768 }
6869
70+ private fun isPictureInPicturePossible (): Boolean {
71+ if (Build .VERSION .SDK_INT >= Build .VERSION_CODES .N ) {
72+ return packageManager.hasSystemFeature(PackageManager .FEATURE_PICTURE_IN_PICTURE )
73+ }
74+ return false
75+ }
76+
6977 @Composable
7078 private fun MainView (player : Player ) {
71- val isPictureInPicturePossible = Build .VERSION .SDK_INT >= Build .VERSION_CODES .N
72- val pictureInPictureClick: (() -> Unit )? = if (isPictureInPicturePossible) this ::startPictureInPicture else null
79+ val pictureInPictureClick: (() -> Unit )? = if (isPictureInPicturePossible()) this ::startPictureInPicture else null
7380 val pictureInPicture by controllerViewModel.pictureInPictureEnabled.collectAsState()
7481 DemoPlayerView (
7582 player = player,
@@ -86,6 +93,7 @@ class MediaControllerActivity : ComponentActivity() {
8693 .build()
8794 enterPictureInPictureMode(params)
8895 } else if (Build .VERSION .SDK_INT >= Build .VERSION_CODES .N ) {
96+ @Suppress(" DEPRECATION" )
8997 enterPictureInPictureMode()
9098 }
9199 }
0 commit comments