Skip to content

Instantly share code, notes, and snippets.

@rohitjakhar
Created February 16, 2022 06:43
Show Gist options
  • Save rohitjakhar/11fcaf0194117c37463c0f2f71c9a781 to your computer and use it in GitHub Desktop.
Save rohitjakhar/11fcaf0194117c37463c0f2f71c9a781 to your computer and use it in GitHub Desktop.
package com.rohit.healthOn.ui.homeScreen.leaderBoardScreen
import android.os.Bundle
import android.view.View
import androidx.fragment.app.Fragment
import androidx.fragment.app.viewModels
import androidx.lifecycle.lifecycleScope
import com.rohit.healthOn.R
import com.rohit.healthOn.databinding.FragmentLeaderboardBinding
import com.rohit.healthOn.ui.adapters.LeaderboardAdapter
import com.rohit.healthOn.util.viewBinding
import dagger.hilt.android.AndroidEntryPoint
import kotlinx.coroutines.flow.collect
@AndroidEntryPoint
class LeaderboardFragment : Fragment(R.layout.fragment_leaderboard) {
private val binding by viewBinding(FragmentLeaderboardBinding::bind)
private val viewModel by viewModels<LeaderboardViewModel>()
private val leaderboardAdapter = LeaderboardAdapter()
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
super.onViewCreated(view, savedInstanceState)
initRecyclerView()
collectUiState()
}
private fun collectUiState() = viewLifecycleOwner.lifecycleScope.launchWhenStarted {
viewModel.uiState.collect {
leaderboardAdapter.submitList(it.leaderboardItems)
}
}
private fun initRecyclerView() {
binding.leaderboardRv.apply {
adapter = leaderboardAdapter
setHasFixedSize(false)
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment