[fenix] For https://github.com/mozilla-mobile/fenix/issues/21933 - Refresh history items everytime the fragment is opened

pull/600/head
Mugurell 3 years ago committed by mergify[bot]
parent 217570edff
commit 6a5a2b842c

@ -14,7 +14,6 @@ import android.view.MenuItem
import android.view.View import android.view.View
import android.view.ViewGroup import android.view.ViewGroup
import androidx.appcompat.app.AlertDialog import androidx.appcompat.app.AlertDialog
import androidx.lifecycle.Observer
import androidx.lifecycle.lifecycleScope import androidx.lifecycle.lifecycleScope
import androidx.navigation.NavDirections import androidx.navigation.NavDirections
import androidx.navigation.fragment.findNavController import androidx.navigation.fragment.findNavController
@ -113,15 +112,6 @@ class HistoryFragment : LibraryPageFragment<History>(), UserInteractionHandler {
historyProvider = DefaultPagedHistoryProvider(requireComponents.core.historyStorage) historyProvider = DefaultPagedHistoryProvider(requireComponents.core.historyStorage)
viewModel = HistoryViewModel(historyProvider)
viewModel.userHasHistory.observe(
this,
Observer {
historyView.updateEmptyState(it)
}
)
requireComponents.analytics.metrics.track(Event.HistoryOpened) requireComponents.analytics.metrics.track(Event.HistoryOpened)
setHasOptionsMenu(true) setHasOptionsMenu(true)
@ -148,12 +138,19 @@ class HistoryFragment : LibraryPageFragment<History>(), UserInteractionHandler {
historyView.update(it) historyView.update(it)
} }
viewModel.history.observe( // Data may have been updated in below groups.
viewLifecycleOwner, // When returning to this fragment we need to ensure we display the latest data.
Observer { viewModel = HistoryViewModel(historyProvider).also { model ->
historyView.historyAdapter.submitList(it) model.userHasHistory.observe(
} viewLifecycleOwner,
) historyView::updateEmptyState
)
model.history.observe(
viewLifecycleOwner,
historyView.historyAdapter::submitList
)
}
} }
override fun onResume() { override fun onResume() {

Loading…
Cancel
Save