Merge pull request #4611 from Bnyro/master

fix: limit chapter bottom sheet to one instance
This commit is contained in:
Bnyro 2023-08-24 18:01:09 +02:00 committed by GitHub
commit b72993cfee
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 15 additions and 6 deletions

View File

@ -200,6 +200,7 @@ class PlayerFragment : Fragment(), OnlinePlayerOptions {
.getInsetsController(mainActivity.window, mainActivity.window.decorView)
private var scrubbingTimeBar = false
private var chaptersBottomSheet: ChaptersBottomSheet? = null
/**
* Receiver for all actions in the PiP mode
@ -772,8 +773,14 @@ class PlayerFragment : Fragment(), OnlinePlayerOptions {
// enable the chapters dialog in the player
playerBinding.chapterLL.setOnClickListener {
updateMaxSheetHeight()
ChaptersBottomSheet(chapters, exoPlayer)
.show(childFragmentManager)
val sheet = chaptersBottomSheet ?: ChaptersBottomSheet(chapters, exoPlayer).also {
chaptersBottomSheet = it
}
if (sheet.isVisible) {
sheet.dismiss()
} else {
sheet.show(childFragmentManager)
}
}
setCurrentChapterName()
@ -822,6 +829,9 @@ class PlayerFragment : Fragment(), OnlinePlayerOptions {
playVideo()
// close comment bottom sheet for next video
commentsViewModel.commentsSheetDismiss?.invoke()
// kill the chapters bottom sheet
chaptersBottomSheet?.dismiss()
chaptersBottomSheet = null
}
private fun prepareExoPlayerView() {

View File

@ -4,7 +4,6 @@ import android.content.Context
import android.content.res.Configuration
import android.util.AttributeSet
import android.view.View
import androidx.appcompat.app.AppCompatActivity
import androidx.core.view.WindowInsetsCompat
import androidx.lifecycle.LifecycleOwner
import androidx.media3.exoplayer.trackselection.TrackSelector