Add dialog when failing to play DRM content

Changelog: added
This commit is contained in:
Kai 2025-01-07 13:59:19 -06:00
parent 6ec033274f
commit ce8ede5d40
No known key found for this signature in database
2 changed files with 20 additions and 0 deletions

View file

@ -31,11 +31,13 @@ import android.widget.ImageView
import android.widget.LinearLayout
import android.widget.TextView
import androidx.constraintlayout.widget.ConstraintLayout
import androidx.core.content.ContextCompat.startActivity
import androidx.lifecycle.lifecycleScope
import androidx.media3.common.C
import androidx.media3.common.Format
import androidx.media3.common.util.UnstableApi
import androidx.media3.datasource.HttpDataSource
import androidx.media3.exoplayer.analytics.AnalyticsListener
import androidx.media3.ui.PlayerControlView
import androidx.media3.ui.TimeBar
import com.bumptech.glide.Glide
@ -433,6 +435,21 @@ class VideoDetailView : ConstraintLayout {
_player.attachPlayer();
_player.exoPlayer?.player?.addAnalyticsListener(object : AnalyticsListener {
override fun onDrmSessionManagerError(
eventTime: AnalyticsListener.EventTime, error: Exception
) {
super.onDrmSessionManagerError(eventTime, error)
UIDialogs.showDialog(context, R.drawable.ic_lock, context.getString(R.string.drm_not_supported), context.getString(R.string.open_and_play_in_mobile_browser), null, 1, UIDialogs.Action(context.getString(R.string.open_in_browser), {
val intent = Intent(Intent.ACTION_VIEW, Uri.parse(video?.url))
val options =
android.app.ActivityOptions.makeCustomAnimation(context, android.R.anim.fade_in, android.R.anim.fade_out)
startActivity(context, intent, options.toBundle())
}, UIDialogs.ActionStyle.NONE), UIDialogs.Action(context.getString(R.string.close), {}, UIDialogs.ActionStyle.PRIMARY)
)
}
})
_container_content_liveChat.onRaidNow.subscribe {
StatePlayer.instance.clearQueue();
fragment.navigate<VideoDetailFragment>(it.targetUrl);

View file

@ -34,6 +34,7 @@
<string name="preferred_quality_description">Default quality for watching a video</string>
<string name="update">Update</string>
<string name="close">Close</string>
<string name="open_in_browser">Open In Browser</string>
<string name="never">Never</string>
<string name="import_options">Select any of the following available import options.</string>
<string name="there_is_an_update_available_do_you_wish_to_update">There is an update available, do you wish to update?</string>
@ -240,6 +241,8 @@
<string name="locked_content_description">This content is locked</string>
<string name="unknown">Unknown</string>
<string name="tap_to_open_in_browser">Tap to open in browser</string>
<string name="drm_not_supported">This device does not support the DRM required to play this content</string>
<string name="open_and_play_in_mobile_browser">Please try playing this content in a mobile browser on this device. If it plays open a bug report and share your device model and OS version.</string>
<string name="missing_plugin">Missing Plugin</string>
<string name="viewers_are_raiding">Viewers are raiding</string>
<string name="go_now">Go now</string>