mirror of
https://github.com/zoriya/react-native-omni.git
synced 2026-08-05 05:36:17 +00:00
fix(cast): use modern cast menus
This commit is contained in:
@@ -151,7 +151,7 @@ dependencies {
|
||||
implementation("androidx.media3:media3-exoplayer-hls:1.10.0")
|
||||
|
||||
implementation("androidx.media3:media3-cast:1.10.0")
|
||||
implementation("com.google.android.gms:play-services-cast-framework:21.5.0")
|
||||
implementation("com.google.android.gms:play-services-cast-framework:22.3.1")
|
||||
implementation("androidx.mediarouter:mediarouter:1.7.0")
|
||||
}
|
||||
|
||||
|
||||
@@ -13,6 +13,7 @@ class OmniCastOptionsProvider : OptionsProvider {
|
||||
|
||||
return CastOptions.Builder()
|
||||
.setReceiverApplicationId(appId)
|
||||
.setShowSystemOutputSwitcherOnCastIconClick(true)
|
||||
.build()
|
||||
}
|
||||
|
||||
|
||||
@@ -37,6 +37,7 @@ import androidx.media3.session.DefaultMediaNotificationProvider
|
||||
import androidx.media3.session.MediaSession
|
||||
import androidx.media3.session.MediaSessionService
|
||||
import androidx.mediarouter.app.MediaRouteChooserDialog
|
||||
import androidx.mediarouter.app.SystemOutputSwitcherDialogController
|
||||
import com.google.android.gms.cast.framework.CastContext
|
||||
import com.google.android.gms.cast.framework.CastState
|
||||
import com.google.android.gms.cast.framework.CastStateListener
|
||||
@@ -147,6 +148,9 @@ class OmniPlayer(
|
||||
return@runOnMainThread
|
||||
}
|
||||
val activity = ctx.currentActivity ?: return@runOnMainThread
|
||||
if (SystemOutputSwitcherDialogController.showDialog(activity)) {
|
||||
return@runOnMainThread
|
||||
}
|
||||
val selector = cc.mergedSelector ?: return@runOnMainThread
|
||||
MediaRouteChooserDialog(activity).apply { routeSelector = selector }.show()
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user