mirror of
https://gitlab.futo.org/videostreaming/grayjay.git
synced 2025-04-20 11:35:46 +00:00
Add dialog when failing to play DRM content
Changelog: added
This commit is contained in:
parent
6ec033274f
commit
ce8ede5d40
2 changed files with 20 additions and 0 deletions
|
@ -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);
|
||||
|
|
|
@ -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>
|
||||
|
|
Loading…
Add table
Reference in a new issue