From 6233c294f6835ef7135716b5b686a4b61626c76a Mon Sep 17 00:00:00 2001 From: Rahul Kumar Patel Date: Mon, 22 Feb 2021 01:03:29 +0530 Subject: [PATCH] Improve top charts scrolling --- .../store/view/ui/apps/TopChartFragment.kt | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) diff --git a/app/src/main/java/com/aurora/store/view/ui/apps/TopChartFragment.kt b/app/src/main/java/com/aurora/store/view/ui/apps/TopChartFragment.kt index cf5a3263c..4690038bb 100644 --- a/app/src/main/java/com/aurora/store/view/ui/apps/TopChartFragment.kt +++ b/app/src/main/java/com/aurora/store/view/ui/apps/TopChartFragment.kt @@ -29,8 +29,8 @@ import com.aurora.gplayapi.data.models.StreamCluster import com.aurora.store.R import com.aurora.store.databinding.FragmentTopContainerBinding import com.aurora.store.view.custom.recycler.EndlessRecyclerOnScrollListener -import com.aurora.store.view.epoxy.views.app.AppListViewModel_ import com.aurora.store.view.epoxy.views.AppProgressViewModel_ +import com.aurora.store.view.epoxy.views.app.AppListViewModel_ import com.aurora.store.view.epoxy.views.shimmer.AppListViewShimmerModel_ import com.aurora.store.view.ui.commons.BaseFragment import com.aurora.store.viewmodel.topchart.* @@ -40,6 +40,8 @@ class TopChartFragment : BaseFragment() { private lateinit var VM: BaseChartViewModel private lateinit var B: FragmentTopContainerBinding + private lateinit var streamCluster: StreamCluster + private var chartType = 0 private var chartCategory = 0 @@ -88,16 +90,23 @@ class TopChartFragment : BaseFragment() { super.onViewCreated(view, savedInstanceState) VM.liveData.observe(viewLifecycleOwner, { - updateController(it) + if (!::streamCluster.isInitialized) + attachRecycler() + + streamCluster = it + + updateController(streamCluster) }) + updateController(null) + } + + private fun attachRecycler() { B.recycler.addOnScrollListener(object : EndlessRecyclerOnScrollListener() { override fun onLoadMore(currentPage: Int) { VM.nextCluster() } }) - - updateController(null) } private fun updateController(streamCluster: StreamCluster?) {