• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 package com.airbnb.lottie.samples.utils
2 
3 import android.os.Bundle
4 import android.view.View
5 import com.airbnb.epoxy.AsyncEpoxyController
6 import com.airbnb.epoxy.EpoxyController
7 import com.airbnb.lottie.samples.R
8 import com.airbnb.lottie.samples.databinding.BaseFragmentBinding
9 import com.airbnb.mvrx.BaseMvRxFragment
10 
11 
12 private class BaseEpoxyController(
13     private val buildModelsCallback: EpoxyController.() -> Unit
14 ) : AsyncEpoxyController() {
buildModelsnull15     override fun buildModels() {
16         buildModelsCallback()
17     }
18 }
19 
20 abstract class BaseEpoxyFragment : BaseMvRxFragment(R.layout.base_fragment) {
21     protected val binding: BaseFragmentBinding by viewBinding()
22 
onViewCreatednull23     override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
24         binding.recyclerView.setController(BaseEpoxyController { buildModels() })
25     }
26 
invalidatenull27     override fun invalidate() {
28         binding.recyclerView.requestModelBuild()
29     }
30 
buildModelsnull31     abstract fun EpoxyController.buildModels()
32 }