NowPlayingViewModel.kt 1.2KB

1234567891011121314151617181920212223242526272829303132333435
  1. package io.r_a_d.radio2.ui.nowplaying
  2. import android.widget.SeekBar
  3. import androidx.lifecycle.MutableLiveData
  4. import androidx.lifecycle.ViewModel
  5. import io.r_a_d.radio2.playerstore.PlayerStore
  6. class NowPlayingViewModel: ViewModel() {
  7. /* Note : ViewModels do not have any kind of data persistence, which is a bit of a shame.
  8. Data persistence is currently in beta, and poorly documented (some pages don't even match!)
  9. For the moment, we will store data related to playback state in PlayerStore.
  10. */
  11. var screenRatio: Int = 100
  12. var seekBarChangeListener: SeekBar.OnSeekBarChangeListener =
  13. object : SeekBar.OnSeekBarChangeListener {
  14. override fun onProgressChanged(seekBar: SeekBar, progress: Int, fromUser: Boolean) {
  15. // updated continuously as the user slides the thumb
  16. PlayerStore.instance.volume.value = progress
  17. }
  18. override fun onStartTrackingTouch(seekBar: SeekBar) {
  19. // called when the user first touches the SeekBar
  20. }
  21. override fun onStopTrackingTouch(seekBar: SeekBar) {
  22. // called after the user finishes moving the SeekBar
  23. }
  24. }
  25. }