WorkerStore.kt 1.4KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. package io.r_a_d.radio2.streamerNotificationService
  2. import android.content.Context
  3. import android.util.Log
  4. import androidx.core.app.NotificationCompat
  5. import androidx.lifecycle.MutableLiveData
  6. import androidx.lifecycle.Observer
  7. import androidx.preference.PreferenceManager
  8. import io.r_a_d.radio2.R
  9. import io.r_a_d.radio2.tag
  10. class WorkerStore {
  11. companion object {
  12. val instance = WorkerStore()
  13. }
  14. val streamerName = MutableLiveData<String>()
  15. var isServiceStarted : Boolean = false
  16. var tickerPeriod : Long = 45 // seconds
  17. init {
  18. tickerPeriod = 45
  19. streamerName.value = ""
  20. isServiceStarted = false
  21. }
  22. fun init(c: Context)
  23. {
  24. tickerPeriod = 45
  25. streamerName.value = ""
  26. val tickerPeriod = 60 *
  27. (if (PreferenceManager.getDefaultSharedPreferences(c).contains("streamerMonitorPeriodPref"))
  28. Integer.parseInt(PreferenceManager.getDefaultSharedPreferences(c).getString("streamerMonitorPeriodPref", "15")!!).toLong()
  29. else
  30. 15
  31. )
  32. instance.tickerPeriod = tickerPeriod
  33. Log.d(tag, "tickerPeriod = $tickerPeriod")
  34. with(PreferenceManager.getDefaultSharedPreferences(c).edit()){
  35. remove("streamerName")
  36. commit() // I commit on main thread to be sure it's been updated before continuing.
  37. }
  38. }
  39. }