Skip to content

Commit

Permalink
Merge pull request #20438 from wordpress-mobile/issue/20424-fix-flasi…
Browse files Browse the repository at this point in the history
…ng-issue-on-traffic-tab

[Stats Traffic Tab] Fix flashing previous data momentarily after changing granularity
  • Loading branch information
aditi-bhatia authored Mar 11, 2024
2 parents 53f18ab + 3e29c56 commit 2e25f58
Showing 1 changed file with 14 additions and 10 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,9 @@ import android.view.MenuItem
import android.view.View
import android.widget.AdapterView
import android.widget.ArrayAdapter
import androidx.core.view.isGone
import androidx.core.view.isInvisible
import androidx.core.view.isVisible
import androidx.fragment.app.FragmentActivity
import androidx.lifecycle.ViewModelProvider
import androidx.recyclerview.widget.LinearLayoutManager
Expand Down Expand Up @@ -312,14 +315,14 @@ class StatsListFragment : ViewPagerFragment(R.layout.stats_list_fragment) {
updateInsights(it.data)
}
is Error, null -> {
recyclerView.visibility = View.GONE
errorView.statsErrorView.visibility = View.VISIBLE
emptyView.statsEmptyView.visibility = View.GONE
recyclerView.isGone = true
emptyView.statsEmptyView.isGone = true
errorView.statsErrorView.isVisible = true
}
is Empty -> {
recyclerView.visibility = View.GONE
emptyView.statsEmptyView.visibility = View.VISIBLE
errorView.statsErrorView.visibility = View.GONE
recyclerView.isInvisible = true
errorView.statsErrorView.isGone = true
emptyView.statsEmptyView.isVisible = true
emptyView.statsEmptyView.title.setText(it.title)
if (it.subtitle != null) {
emptyView.statsEmptyView.subtitle.setText(it.subtitle)
Expand All @@ -337,10 +340,6 @@ class StatsListFragment : ViewPagerFragment(R.layout.stats_list_fragment) {
}

private fun StatsListFragmentBinding.updateInsights(statsState: List<StatsBlock>) {
recyclerView.visibility = View.VISIBLE
errorView.statsErrorView.visibility = View.GONE
emptyView.statsEmptyView.visibility = View.GONE

val adapter: StatsBlockAdapter
if (recyclerView.adapter == null) {
adapter = StatsBlockAdapter(imageManager, statsTrafficTabFeatureConfig.isEnabled())
Expand All @@ -353,6 +352,11 @@ class StatsListFragment : ViewPagerFragment(R.layout.stats_list_fragment) {
val recyclerViewState = layoutManager?.onSaveInstanceState()
adapter.update(statsState)
recyclerView.scrollToPosition(0)

errorView.statsErrorView.isGone = true
emptyView.statsEmptyView.isGone = true
recyclerView.isVisible = true

layoutManager?.onRestoreInstanceState(recyclerViewState)
}
}

0 comments on commit 2e25f58

Please sign in to comment.