File tree 3 files changed +10
-4
lines changed
origin/src/main/java/com/kokomi/origin
3 files changed +10
-4
lines changed Original file line number Diff line number Diff line change @@ -228,6 +228,7 @@ internal class NewsFlowAdapter(
228
228
}
229
229
lifecycleScope.launch {
230
230
flowCurrentItem.collect {
231
+ start.visibility = View .GONE
231
232
if (it.first == adapterPosition) {
232
233
playerPool exchange playerView.bindPlayer
233
234
playerView.onResume()
Original file line number Diff line number Diff line change @@ -58,7 +58,12 @@ class NewsFlowFragment<VM : NewsFlowViewModel>(
58
58
registerOnPageChangeCallback(object : ViewPager2 .OnPageChangeCallback () {
59
59
override fun onPageSelected (position : Int ) {
60
60
lifecycleScope.launch {
61
+ Log .i(TAG , " onPageSelected: $position " )
61
62
flowCurrentItem emit Pair (position, ! flowCurrentItem.value.second)
63
+ if (refresh) {
64
+ refresh = false
65
+ pager2.isUserInputEnabled = true
66
+ }
62
67
}
63
68
}
64
69
})
@@ -71,7 +76,6 @@ class NewsFlowFragment<VM : NewsFlowViewModel>(
71
76
news.collect {
72
77
flowAdapter.notifyDataSetChanged()
73
78
if (refresh) {
74
- refresh = false
75
79
Log .i(TAG , " update - refresh" )
76
80
pager2.setCurrentItem(0 , false )
77
81
}
@@ -115,10 +119,11 @@ class NewsFlowFragment<VM : NewsFlowViewModel>(
115
119
private var refresh = false
116
120
117
121
internal fun refresh () {
122
+ pager2.isUserInputEnabled = false
118
123
swipe.isRefreshing = true
119
- refresh = true
120
124
lifecycleScope.launch {
121
125
viewModel.refresh {
126
+ refresh = true
122
127
Log .i(TAG , " refresh - result = $it " )
123
128
swipe.isRefreshing = false
124
129
}
Original file line number Diff line number Diff line change @@ -20,7 +20,7 @@ class PlayerPool(
20
20
21
21
private val playerMap by lazy {
22
22
val map = hashMapOf<Int , Player >()
23
- for (i in - 1 until size) {
23
+ for (i in - 1 until size - 1 ) {
24
24
val player = GLPlayerBuilder (appContext)
25
25
.setInfiniteLoop(true )
26
26
.setRenderFirstFrame(true )
@@ -41,7 +41,7 @@ class PlayerPool(
41
41
setMediaItem(MediaItem .fromUrl(url))
42
42
prepare()
43
43
}
44
- nextBufferKey = (nextBufferKey + 1 ) % size
44
+ nextBufferKey = (nextBufferKey + 1 ) % ( size - 1 )
45
45
}
46
46
47
47
private var autoPlay = true
You can’t perform that action at this time.
0 commit comments