Skip to content

Instantly share code, notes, and snippets.

@ahinchman1
Created May 3, 2020 17:35
Show Gist options
  • Save ahinchman1/4fb7574745e2fdcadfa050551f04f2b9 to your computer and use it in GitHub Desktop.
Save ahinchman1/4fb7574745e2fdcadfa050551f04f2b9 to your computer and use it in GitHub Desktop.
class InvasiveSpeciesMapFragment: Fragment() {
private val navController by lazy {
Navigation.findNavController(requireActivity(), R.id.fragment_container)
}
private val viewModel by viewModels<InvasiveSpeciesMapViewModel> {
InvasiveSpeciesMapViewModelFactory(navigator = Navigator(navController, resources))
}
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
viewModel.viewState.observeForever { viewState ->
viewState?.let { render(it) }
}
}
override fun onCreateView(
inflater: LayoutInflater,
container: ViewGroup?,
savedInstanceState: Bundle?): View? = inflater.inflate(R.layout.fragment_invasive_species_map, container, false)
private fun render(viewState: InvasiveSpeciesMapViewState) {
when (viewState) {
is InvasiveSpeciesMapViewState.Loading -> {
invasive_species_map_loader.visibility = View.VISIBLE
invasive_species_map_text.visibility = View.GONE
}
is InvasiveSpeciesMapViewState.Content -> {
invasive_species_map_loader.visibility = View.GONE
invasive_species_map_text.visibility = View.VISIBLE
}
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment