Now triggering passes calculation on PassesFragment start

pull/49/head
Arty Bishop 2020-10-04 14:49:47 +01:00
rodzic c4abf214f6
commit 0ba26d4d75
2 zmienionych plików z 14 dodań i 4 usunięć

Wyświetl plik

@ -46,6 +46,7 @@ class SharedViewModel @Inject constructor(
private val _passes = MutableLiveData<Result<MutableList<SatPass>>>()
private var selectedEntries = emptyList<SatEntry>()
private var shouldTriggerCalculation = true
init {
if (prefsManager.isFirstLaunch()) {
@ -53,15 +54,22 @@ class SharedViewModel @Inject constructor(
}
}
fun setSelectedEntries(entries: List<SatEntry>) {
selectedEntries = entries.filter { it.isSelected }
}
fun getSources() = repository.getSources()
fun getEntries() = repository.getEntries()
fun getPasses(): LiveData<Result<MutableList<SatPass>>> = _passes
fun getTransmittersForSat(satId: Int) = repository.getTransmittersForSat(satId)
fun triggerCalculation() {
if (shouldTriggerCalculation) {
shouldTriggerCalculation = false
calculatePasses()
}
}
fun setSelectedEntries(entries: List<SatEntry>) {
selectedEntries = entries.filter { it.isSelected }
}
fun updateEntriesFromFile(uri: Uri) {
viewModelScope.launch {
repository.updateEntriesFromFile(uri)
@ -85,6 +93,7 @@ class SharedViewModel @Inject constructor(
}
fun calculatePasses(dateNow: Date = Date(System.currentTimeMillis())) {
shouldTriggerCalculation = false
_passes.value = Result.InProgress
viewModelScope.launch(Dispatchers.Default) {
val passes = mutableListOf<SatPass>()

Wyświetl plik

@ -106,6 +106,7 @@ class PassesFragment : Fragment(R.layout.fragment_passes) {
}
passesAdapter.setShouldUseUTC(prefsManager.shouldUseUTC())
setTimerForPasses(passes)
viewModel.triggerCalculation()
}
private fun showSatPassPrefsDialog(hoursAhead: Int, minEl: Double) {