fix #1765, properly handle videos at slideshows
This commit is contained in:
parent
ada0661d89
commit
a16bbfbcf9
4 changed files with 14 additions and 4 deletions
|
@ -359,4 +359,6 @@ open class PhotoVideoActivity : SimpleActivity(), ViewPagerFragment.FragmentList
|
|||
override fun goToNextItem() {}
|
||||
|
||||
override fun launchViewVideoIntent(path: String) {}
|
||||
|
||||
override fun isSlideShowActive() = false
|
||||
}
|
||||
|
|
|
@ -1185,6 +1185,8 @@ class ViewPagerActivity : SimpleActivity(), ViewPager.OnPageChangeListener, View
|
|||
return mIsSlideshowActive
|
||||
}
|
||||
|
||||
override fun isSlideShowActive() = mIsSlideshowActive
|
||||
|
||||
override fun goToPrevItem() {
|
||||
view_pager.setCurrentItem(view_pager.currentItem - 1, false)
|
||||
checkOrientation()
|
||||
|
|
|
@ -347,7 +347,7 @@ class VideoFragment : ViewPagerFragment(), TextureView.SurfaceTextureListener, S
|
|||
|
||||
mExoPlayer = ExoPlayerFactory.newSimpleInstance(context)
|
||||
mExoPlayer!!.seekParameters = SeekParameters.CLOSEST_SYNC
|
||||
if (mConfig.loopVideos) {
|
||||
if (mConfig.loopVideos && listener?.isSlideShowActive() == false) {
|
||||
mExoPlayer?.repeatMode = Player.REPEAT_MODE_ONE
|
||||
}
|
||||
|
||||
|
@ -722,10 +722,14 @@ class VideoFragment : ViewPagerFragment(), TextureView.SurfaceTextureListener, S
|
|||
}
|
||||
|
||||
mCurrTime = (mExoPlayer!!.duration / 1000).toInt()
|
||||
if (listener?.videoEnded() == false && mConfig.loopVideos) {
|
||||
playVideo()
|
||||
} else {
|
||||
mSeekBar.progress = mSeekBar.max
|
||||
mCurrTimeView.text = mDuration.getFormattedDuration()
|
||||
pauseVideo()
|
||||
}
|
||||
}
|
||||
|
||||
private fun cleanup() {
|
||||
pauseVideo()
|
||||
|
|
|
@ -31,6 +31,8 @@ abstract class ViewPagerFragment : Fragment() {
|
|||
fun goToNextItem()
|
||||
|
||||
fun launchViewVideoIntent(path: String)
|
||||
|
||||
fun isSlideShowActive(): Boolean
|
||||
}
|
||||
|
||||
fun getMediumExtendedDetails(medium: Medium): String {
|
||||
|
|
Loading…
Reference in a new issue