mirror of
https://gitlab.futo.org/videostreaming/grayjay.git
synced 2025-05-02 15:44:26 +02:00
fix crash on early loading
Changelog: changed
This commit is contained in:
parent
c7c3ddfc96
commit
81162c5df2
@ -42,7 +42,7 @@ class ShortsFragment : MainFragment() {
|
|||||||
private lateinit var overlayLoading: FrameLayout
|
private lateinit var overlayLoading: FrameLayout
|
||||||
private lateinit var overlayLoadingSpinner: ImageView
|
private lateinit var overlayLoadingSpinner: ImageView
|
||||||
private lateinit var overlayQualityContainer: FrameLayout
|
private lateinit var overlayQualityContainer: FrameLayout
|
||||||
private lateinit var customViewAdapter: CustomViewAdapter
|
private var customViewAdapter: CustomViewAdapter? = null
|
||||||
|
|
||||||
init {
|
init {
|
||||||
loadPager()
|
loadPager()
|
||||||
@ -68,25 +68,27 @@ class ShortsFragment : MainFragment() {
|
|||||||
loadPager()
|
loadPager()
|
||||||
}
|
}
|
||||||
|
|
||||||
loadPagerJob!!.invokeOnCompletion {
|
Logger.i(TAG, "Creating adapter")
|
||||||
Logger.i(TAG, "Creating adapter")
|
val customViewAdapter =
|
||||||
customViewAdapter =
|
CustomViewAdapter(videos, layoutInflater, this@ShortsFragment, overlayQualityContainer) {
|
||||||
CustomViewAdapter(videos, layoutInflater, this@ShortsFragment, overlayQualityContainer) {
|
if (!shortsPager!!.hasMorePages()) {
|
||||||
if (!shortsPager!!.hasMorePages()) {
|
return@CustomViewAdapter
|
||||||
return@CustomViewAdapter
|
|
||||||
}
|
|
||||||
nextPage()
|
|
||||||
}
|
|
||||||
customViewAdapter.onResetTriggered.subscribe {
|
|
||||||
setLoading(true)
|
|
||||||
loadPager()
|
|
||||||
loadPagerJob!!.invokeOnCompletion {
|
|
||||||
setLoading(false)
|
|
||||||
}
|
}
|
||||||
|
nextPage()
|
||||||
}
|
}
|
||||||
val viewPager = viewPager!!
|
customViewAdapter.onResetTriggered.subscribe {
|
||||||
viewPager.adapter = customViewAdapter
|
setLoading(true)
|
||||||
|
loadPager()
|
||||||
|
loadPagerJob!!.invokeOnCompletion {
|
||||||
|
setLoading(false)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
val viewPager = viewPager!!
|
||||||
|
viewPager.adapter = customViewAdapter
|
||||||
|
|
||||||
|
this.customViewAdapter = customViewAdapter
|
||||||
|
|
||||||
|
loadPagerJob!!.invokeOnCompletion {
|
||||||
viewPager.registerOnPageChangeCallback(object : ViewPager2.OnPageChangeCallback() {
|
viewPager.registerOnPageChangeCallback(object : ViewPager2.OnPageChangeCallback() {
|
||||||
@OptIn(UnstableApi::class)
|
@OptIn(UnstableApi::class)
|
||||||
override fun onPageSelected(position: Int) {
|
override fun onPageSelected(position: Int) {
|
||||||
@ -133,9 +135,9 @@ class ShortsFragment : MainFragment() {
|
|||||||
|
|
||||||
val newVideos = shortsPager!!.getResults()
|
val newVideos = shortsPager!!.getResults()
|
||||||
CoroutineScope(Dispatchers.Main).launch {
|
CoroutineScope(Dispatchers.Main).launch {
|
||||||
val prevCount = customViewAdapter.itemCount
|
val prevCount = customViewAdapter!!.itemCount
|
||||||
videos.addAll(newVideos)
|
videos.addAll(newVideos)
|
||||||
customViewAdapter.notifyItemRangeInserted(prevCount, newVideos.size)
|
customViewAdapter!!.notifyItemRangeInserted(prevCount, newVideos.size)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -185,7 +187,7 @@ class ShortsFragment : MainFragment() {
|
|||||||
|
|
||||||
override fun onPause() {
|
override fun onPause() {
|
||||||
super.onPause()
|
super.onPause()
|
||||||
customViewAdapter.previousShownView?.pause()
|
customViewAdapter?.previousShownView?.pause()
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun onResume() {
|
override fun onResume() {
|
||||||
@ -194,7 +196,7 @@ class ShortsFragment : MainFragment() {
|
|||||||
|
|
||||||
override fun onStop() {
|
override fun onStop() {
|
||||||
super.onStop()
|
super.onStop()
|
||||||
customViewAdapter.previousShownView?.stop()
|
customViewAdapter?.previousShownView?.stop()
|
||||||
}
|
}
|
||||||
|
|
||||||
companion object {
|
companion object {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user