Skip to content

Commit d3d05d6

Browse files
committed
Fix reload feed button does nothing
initListeners was being called before the bindings were assigned, and therefore the click listener was never setup
1 parent 098c954 commit d3d05d6

2 files changed

Lines changed: 7 additions & 11 deletions

File tree

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

Lines changed: 6 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,6 @@ import androidx.appcompat.app.AlertDialog
3232
import androidx.core.content.edit
3333
import androidx.core.os.bundleOf
3434
import androidx.core.view.isVisible
35-
import androidx.lifecycle.Observer
3635
import androidx.lifecycle.ViewModelProvider
3736
import androidx.preference.PreferenceManager
3837
import androidx.swiperefreshlayout.widget.SwipeRefreshLayout
@@ -83,13 +82,13 @@ class FeedFragment : BaseListFragment<FeedState, Unit>() {
8382
}
8483

8584
override fun onViewCreated(rootView: View, savedInstanceState: Bundle?) {
86-
super.onViewCreated(rootView, savedInstanceState)
85+
// super.onViewCreated() calls initListeners() which require the binding to be initialized
8786
_feedBinding = FragmentFeedBinding.bind(rootView)
8887
_errorBinding = feedBinding.errorPanel
88+
super.onViewCreated(rootView, savedInstanceState)
8989

90-
feedBinding.swiperefresh.setOnRefreshListener { reloadContent() }
9190
viewModel = ViewModelProvider(this, FeedViewModel.Factory(requireContext(), groupId)).get(FeedViewModel::class.java)
92-
viewModel.stateLiveData.observe(viewLifecycleOwner, Observer { it?.let(::handleResult) })
91+
viewModel.stateLiveData.observe(viewLifecycleOwner) { it?.let(::handleResult) }
9392
}
9493

9594
override fun onPause() {
@@ -112,10 +111,8 @@ class FeedFragment : BaseListFragment<FeedState, Unit>() {
112111

113112
override fun initListeners() {
114113
super.initListeners()
115-
// Using the non-null property may result in a NullPointerException
116-
_feedBinding?.refreshRootView?.setOnClickListener {
117-
triggerUpdate()
118-
}
114+
feedBinding.refreshRootView.setOnClickListener { reloadContent() }
115+
feedBinding.swiperefresh.setOnRefreshListener { reloadContent() }
119116
}
120117

121118
// /////////////////////////////////////////////////////////////////////////
@@ -317,11 +314,10 @@ class FeedFragment : BaseListFragment<FeedState, Unit>() {
317314
// /////////////////////////////////////////////////////////////////////////
318315

319316
override fun doInitialLoadLogic() {}
320-
override fun reloadContent() = triggerUpdate()
321317
override fun loadMoreItems() {}
322318
override fun hasMoreItems() = false
323319

324-
private fun triggerUpdate() {
320+
override fun reloadContent() {
325321
getActivity()?.startService(
326322
Intent(requireContext(), FeedLoadService::class.java).apply {
327323
putExtra(FeedLoadService.EXTRA_GROUP_ID, groupId)

app/src/main/java/org/schabi/newpipe/local/subscription/item/PickerSubscriptionItem.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -46,6 +46,6 @@ data class PickerSubscriptionItem(
4646
fun updateSelected(containerView: View, isSelected: Boolean) {
4747
this.isSelected = isSelected
4848
PickerSubscriptionItemBinding.bind(containerView).selectedHighlight
49-
.animate(isSelected, 150, AnimationType.LIGHT_SCALE_AND_ALPHA)
49+
.animate(isSelected, 150, AnimationType.LIGHT_SCALE_AND_ALPHA)
5050
}
5151
}

0 commit comments

Comments
 (0)