Skip to content

Latest commit

 

History

History
34 lines (27 loc) · 752 Bytes

README.md

File metadata and controls

34 lines (27 loc) · 752 Bytes

StateStore

Case 1)

interface SampleStateSpec {
  val sample: LiveData<Int>
}

@StateStore(spec = SampleStateSpec::class)
class SampleStateStore : AbsSampleStateStore {

}

@Suppress("MemberVisibilityCanBePrivate", "PropertyName")
open class AbsSampleStateStore : SampleStateSpec {
  override val sample: LiveData<Int>
    get() = _sample
  protected var _sample = MutableLiveData<Int>()
}

Case 2)

@StateStoreViewModel(parent = ParentViewModel::class, store = SampleStateSpec::class)
class RealSampleViewModel : AbsSampleViewModel {

}

open class AbsSampleViewModel : ParentViewModel(), SampleStateSpec {
  override val sample: LiveData<Int>
    get() = _sample
  protected var _sample = MutableLiveData<Int>()
}