Now triggering passes calculation on PassesFragment start

This commit is contained in:
Arty Bishop committed 2020-10-06 23:24:17 +01:00
1 parent c4abf214f6
commit 0ba26d4d75
2 files changed
+14 -4

No files matched your search

@@ -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>()
@@ -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) {