fix(cast): use modern cast menus

This commit is contained in:
2026-07-28 19:47:50 +02:00
parent 099eeabe18
commit 3739e760cf
5 changed files with 26 additions and 1 deletions
+1 -1
View File
@@ -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()
}