Skip to content

Commit aee0478

Browse files
committed
FeedFragment: fix view binding and show loading indicator correctly
1 parent c3cf1d8 commit aee0478

2 files changed

Lines changed: 12 additions & 8 deletions

File tree

app/src/main/java/org/schabi/newpipe/local/feed/FeedFragment.kt

Lines changed: 11 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,7 @@ import org.schabi.newpipe.error.ErrorInfo
4242
import org.schabi.newpipe.error.UserAction
4343
import org.schabi.newpipe.fragments.list.BaseListFragment
4444
import org.schabi.newpipe.ktx.animate
45+
import org.schabi.newpipe.ktx.animateHideRecyclerViewAllowingScrolling
4546
import org.schabi.newpipe.local.feed.service.FeedLoadService
4647
import org.schabi.newpipe.util.Localization
4748
import java.util.Calendar
@@ -106,7 +107,7 @@ class FeedFragment : BaseListFragment<FeedState, Unit>() {
106107
override fun initListeners() {
107108
super.initListeners()
108109
feedBinding.refreshRootView.setOnClickListener { reloadContent() }
109-
feedBinding.swiperefresh.setOnRefreshListener { reloadContent() }
110+
feedBinding.swipeRefreshLayout.setOnRefreshListener { reloadContent() }
110111
}
111112

112113
// /////////////////////////////////////////////////////////////////////////
@@ -172,23 +173,25 @@ class FeedFragment : BaseListFragment<FeedState, Unit>() {
172173

173174
override fun showLoading() {
174175
super.showLoading()
176+
feedBinding.itemsList.animateHideRecyclerViewAllowingScrolling()
175177
feedBinding.refreshRootView.animate(false, 0)
176-
feedBinding.itemsList.animate(false, 0)
177178
feedBinding.loadingProgressText.animate(true, 200)
179+
feedBinding.swipeRefreshLayout.isRefreshing = true
178180
}
179181

180182
override fun hideLoading() {
181183
super.hideLoading()
182184
feedBinding.refreshRootView.animate(true, 200)
183185
feedBinding.loadingProgressText.animate(false, 0)
184-
feedBinding.swiperefresh.isRefreshing = false
186+
feedBinding.swipeRefreshLayout.isRefreshing = false
185187
}
186188

187189
override fun showEmptyState() {
188190
super.showEmptyState()
191+
feedBinding.itemsList.animateHideRecyclerViewAllowingScrolling()
189192
feedBinding.refreshRootView.animate(true, 200)
190-
feedBinding.itemsList.animate(false, 0)
191193
feedBinding.loadingProgressText.animate(false, 0)
194+
feedBinding.swipeRefreshLayout.isRefreshing = false
192195
}
193196

194197
override fun handleResult(result: FeedState) {
@@ -204,9 +207,10 @@ class FeedFragment : BaseListFragment<FeedState, Unit>() {
204207
override fun handleError() {
205208
super.handleError()
206209
infoListAdapter.clearStreamItemList()
207-
feedBinding.refreshRootView.animate(false, 200)
208-
feedBinding.itemsList.animate(false, 200)
209-
feedBinding.loadingProgressText.animate(false, 200)
210+
feedBinding.itemsList.animateHideRecyclerViewAllowingScrolling()
211+
feedBinding.refreshRootView.animate(false, 0)
212+
feedBinding.loadingProgressText.animate(false, 0)
213+
feedBinding.swipeRefreshLayout.isRefreshing = false
210214
}
211215

212216
private fun handleProgressState(progressState: FeedState.ProgressState) {

app/src/main/res/layout/fragment_feed.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -71,7 +71,7 @@
7171
</RelativeLayout>
7272

7373
<androidx.swiperefreshlayout.widget.SwipeRefreshLayout
74-
android:id="@+id/swiperefresh"
74+
android:id="@+id/swipeRefreshLayout"
7575
android:layout_width="match_parent"
7676
android:layout_height="match_parent"
7777
android:layout_below="@+id/refresh_root_view">

0 commit comments

Comments
 (0)