diff --git a/ultrasonic/src/main/kotlin/org/moire/ultrasonic/fragment/NowPlayingFragment.kt b/ultrasonic/src/main/kotlin/org/moire/ultrasonic/fragment/NowPlayingFragment.kt index 7740d468..896a0acc 100644 --- a/ultrasonic/src/main/kotlin/org/moire/ultrasonic/fragment/NowPlayingFragment.kt +++ b/ultrasonic/src/main/kotlin/org/moire/ultrasonic/fragment/NowPlayingFragment.kt @@ -39,6 +39,7 @@ import timber.log.Timber * Contains the mini-now playing information box displayed at the bottom of the screen */ class NowPlayingFragment : Fragment() { + private var isInitialized = false private lateinit var nowPlayingCollectionAdapter: NowPlayingCollectionAdapter private lateinit var viewPager: ViewPager2 private var rxBusSubscription: Disposable? = null @@ -68,6 +69,7 @@ class NowPlayingFragment : Fragment() { rxBusSubscription = RxBus.playerStateObservable.subscribe { if (it.state == Player.STATE_READY) { viewPager.setCurrentItem(it.index, true) + isInitialized = true } } @@ -82,6 +84,7 @@ class NowPlayingFragment : Fragment() { private inner class PageChangeCallback : ViewPager2.OnPageChangeCallback() { override fun onPageSelected(position: Int) { + if (!isInitialized) return val newIndex = mediaPlayerManager.getUnshuffledIndexOf(position) if (mediaPlayerManager.currentMediaItemIndex != newIndex) { mediaPlayerManager.seekTo(newIndex, 0) @@ -153,7 +156,7 @@ class NowPlayingChildFragment(private val mediaItem: MediaItem?) : Fragment() { override fun onDestroy() { super.onDestroy() - rxBusSubscription!!.dispose() + rxBusSubscription?.dispose() } @SuppressLint("ClickableViewAccessibility")