From 751e2fda5f19f26e5d895a2149695befc2f47309 Mon Sep 17 00:00:00 2001 From: Bnyro Date: Tue, 16 Aug 2022 17:28:16 +0200 Subject: [PATCH] fix autoplay skipping videos that are already watched --- .../libretube/fragments/PlayerFragment.kt | 21 +++++++++---------- 1 file changed, 10 insertions(+), 11 deletions(-) diff --git a/app/src/main/java/com/github/libretube/fragments/PlayerFragment.kt b/app/src/main/java/com/github/libretube/fragments/PlayerFragment.kt index 6b648aeea..393ae018f 100644 --- a/app/src/main/java/com/github/libretube/fragments/PlayerFragment.kt +++ b/app/src/main/java/com/github/libretube/fragments/PlayerFragment.kt @@ -942,22 +942,21 @@ class PlayerFragment : BaseFragment() { .postDelayed(this@PlayerFragment::refreshLiveStatus, 100) } + // seek to saved watch position if available private fun seekToWatchPosition() { - // seek to saved watch position if available - var position: Long? = null - Thread { - try { - position = DatabaseHolder.db.watchPositionDao().findById(videoId!!).position - } catch (e: Exception) { - position = null - } - }.await() // support for time stamped links val timeStamp: Long? = arguments?.getLong("timeStamp") if (timeStamp != null && timeStamp != 0L) { - position = timeStamp * 1000 + exoPlayer.seekTo(timeStamp * 1000) + return } - if (position != null) exoPlayer.seekTo(position!!) + // browse the watch positions + Thread { + try { + val position = DatabaseHolder.db.watchPositionDao().findById(videoId!!).position + if (position < streams.duration!! * 0.9) exoPlayer.seekTo(position) + } catch (e: Exception) {} + }.start() } // used for autoplay and skipping to next video