Skip to content

Commit bdc0fc7

Browse files
committed
PreviewVideoFullscreenDialog: use listeners to control transfer, and pause the video while transfer is happening
Signed-off-by: Álvaro Brey <alvaro.brey@nextcloud.com>
1 parent efa7d9e commit bdc0fc7

1 file changed

Lines changed: 28 additions & 14 deletions

File tree

app/src/main/java/com/owncloud/android/ui/preview/PreviewVideoFullscreenDialog.kt

Lines changed: 28 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -61,18 +61,23 @@ class PreviewVideoFullscreenDialog(
6161
}
6262

6363
override fun show() {
64-
goFullScreen()
65-
super.show()
66-
binding.videoPlayer.showController()
67-
}
68-
69-
private fun goFullScreen() {
70-
setListeners(exoPlayer)
71-
StyledPlayerView.switchTargetView(exoPlayer, sourceView, binding.videoPlayer)
64+
val isPlaying = exoPlayer.isPlaying
65+
if (isPlaying) {
66+
exoPlayer.pause()
67+
}
7268
enableImmersiveMode()
69+
setOnShowListener {
70+
StyledPlayerView.switchTargetView(exoPlayer, sourceView, binding.videoPlayer)
71+
setListeners()
72+
if (isPlaying) {
73+
exoPlayer.play()
74+
}
75+
binding.videoPlayer.showController()
76+
}
77+
super.show()
7378
}
7479

75-
private fun setListeners(exoPlayer: ExoPlayer) {
80+
private fun setListeners() {
7681
binding.root.findViewById<View>(R.id.exo_exit_fs).setOnClickListener { onBackPressed() }
7782
val pauseButton: View = binding.root.findViewById(R.id.exo_pause)
7883
pauseButton.setOnClickListener { exoPlayer.pause() }
@@ -96,13 +101,22 @@ class PreviewVideoFullscreenDialog(
96101
}
97102

98103
override fun onBackPressed() {
99-
playingStateListener?.let {
100-
exoPlayer.removeListener(it)
104+
val isPlaying = exoPlayer.isPlaying
105+
if (isPlaying) {
106+
exoPlayer.pause()
101107
}
102-
StyledPlayerView.switchTargetView(exoPlayer, binding.videoPlayer, sourceView)
103108
disableImmersiveMode()
104-
super.onBackPressed()
105-
sourceView.showController()
109+
setOnDismissListener {
110+
playingStateListener?.let {
111+
exoPlayer.removeListener(it)
112+
}
113+
StyledPlayerView.switchTargetView(exoPlayer, binding.videoPlayer, sourceView)
114+
if (isPlaying) {
115+
exoPlayer.play()
116+
}
117+
sourceView.showController()
118+
}
119+
dismiss()
106120
}
107121

108122
private fun enableImmersiveMode() {

0 commit comments

Comments
 (0)