Skip to content

Commit c13422d

Browse files
Align list retrying behavior
1 parent e5ac6bf commit c13422d

File tree

3 files changed

+12
-13
lines changed

3 files changed

+12
-13
lines changed

app/src/legacy/kotlin/app/fyreplace/fyreplace/legacy/ui/fragments/FeedFragment.kt

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,7 @@ class FeedFragment :
5252
when {
5353
!canAutoRefresh -> return@launchCollect
5454
lifecycle.currentState.isAtLeast(Lifecycle.State.STARTED) -> refreshListing()
55-
else -> reset()
55+
else -> resetListing()
5656
}
5757
}
5858
}
@@ -101,10 +101,10 @@ class FeedFragment :
101101
}
102102

103103
override fun onPostVoted(view: View, position: Int, spread: Boolean) {
104+
view.provideHapticFeedback(positive = spread)
104105
launch {
105106
vm.vote(position, spread)
106107
adapter.remove(position)
107-
view.provideHapticFeedback(positive = spread)
108108
}
109109
}
110110

@@ -134,9 +134,14 @@ class FeedFragment :
134134

135135
private fun stopListing() = vm.stopListing()
136136

137+
private fun resetListing() {
138+
adapter.removeAll()
139+
vm.reset()
140+
}
141+
137142
private fun refreshListing() {
138143
stopListing()
139-
reset()
144+
resetListing()
140145
startListing()
141146
}
142147

@@ -145,9 +150,4 @@ class FeedFragment :
145150
retryCount++
146151
startListing()
147152
}
148-
149-
private fun reset() {
150-
adapter.removeAll()
151-
vm.reset()
152-
}
153153
}

app/src/legacy/kotlin/app/fyreplace/fyreplace/legacy/ui/fragments/ItemListFragment.kt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -83,7 +83,6 @@ abstract class ItemListFragment<Item, Items, VH : ItemHolder> :
8383

8484
override fun onStart() {
8585
super.onStart()
86-
retryCount = 0
8786
startListing()
8887
}
8988

@@ -141,17 +140,18 @@ abstract class ItemListFragment<Item, Items, VH : ItemHolder> :
141140

142141
private fun retryListing() {
143142
stopListing()
143+
retryCount++
144144
startListing()
145145
}
146146

147147
private fun startListing() {
148148
launch {
149149
vm.startListing().launchCollect(retry = if (retryCount < 3) ::retryListing else null) {
150150
bd.swipe.isRefreshing = false
151+
retryCount = 0
151152
adapter.addAll(it)
152153
}
153154

154-
retryCount++
155155
val manualCount = max(vm.manuallyAddedCount, 0)
156156

157157
if (adapter.itemCount - manualCount <= 0) {

app/src/legacy/kotlin/app/fyreplace/fyreplace/legacy/ui/fragments/ItemRandomAccessListFragment.kt

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -74,7 +74,6 @@ abstract class ItemRandomAccessListFragment<Item, Items, VH : ItemHolder> :
7474

7575
override fun onStart() {
7676
super.onStart()
77-
retryCount = 0
7877
launch { startFetchingData() }
7978
}
8079

@@ -112,18 +111,18 @@ abstract class ItemRandomAccessListFragment<Item, Items, VH : ItemHolder> :
112111
open suspend fun startFetchingData() {
113112
vm.startListing()
114113
.launchCollect(retry = if (retryCount < 3) ::retryListing else null) { (position, items) ->
114+
retryCount = 0
115115
onFetchedItems(position, items)
116116
}
117117

118-
retryCount++
119-
120118
if (adapter.totalSize == 0) {
121119
vm.fetchAround(0)
122120
}
123121
}
124122

125123
private fun retryListing() {
126124
vm.stopListing()
125+
retryCount++
127126
launch { startFetchingData() }
128127
}
129128
}

0 commit comments

Comments
 (0)