diff --git a/android/src/main/java/dev/zoriya/omni/OmniPlayer.kt b/android/src/main/java/dev/zoriya/omni/OmniPlayer.kt index cc7d36d..22abcb9 100644 --- a/android/src/main/java/dev/zoriya/omni/OmniPlayer.kt +++ b/android/src/main/java/dev/zoriya/omni/OmniPlayer.kt @@ -124,6 +124,9 @@ class OmniPlayer( override val castStatus: CastStatus get() = runOnMainThreadSync { computeCastStatus() } + val isCasting: Boolean + get() = castContext?.sessionManager?.currentCastSession?.isConnected == true + private fun computeCastStatus(): CastStatus { val cc = castContext ?: return CastStatus.UNSUPPORTED return when (cc.castState) { diff --git a/android/src/main/java/dev/zoriya/omni/OmniView.kt b/android/src/main/java/dev/zoriya/omni/OmniView.kt index 397d627..6b59711 100755 --- a/android/src/main/java/dev/zoriya/omni/OmniView.kt +++ b/android/src/main/java/dev/zoriya/omni/OmniView.kt @@ -185,7 +185,10 @@ class OmniView(val context: ThemedReactContext) : return } - if (boundPlayer == null || boundPlayer?.localPlayer?.isPlaying != true) { + if (boundPlayer == null || + boundPlayer?.localPlayer?.isPlaying != true || + boundPlayer?.isCasting == true + ) { return } @@ -219,7 +222,8 @@ class OmniView(val context: ThemedReactContext) : val autoEnterEnabled = Build.VERSION.SDK_INT >= Build.VERSION_CODES.S && autoPip == true && - boundPlayer?.localPlayer?.isPlaying == true + boundPlayer?.localPlayer?.isPlaying == true && + boundPlayer?.isCasting != true activity.setPictureInPictureParams(buildPipParams(autoEnterEnabled)) }