mirror of
https://github.com/atsunatsu/Look4Sat.git
synced 2026-10-05 12:07:25 +00:00
Now triggering passes calculation on PassesFragment start
This commit is contained in:
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 val _passes = MutableLiveData<Result<MutableList<SatPass>>>()
|
||||||
private var selectedEntries = emptyList<SatEntry>()
|
private var selectedEntries = emptyList<SatEntry>()
|
||||||
|
private var shouldTriggerCalculation = true
|
||||||
|
|
||||||
init {
|
init {
|
||||||
if (prefsManager.isFirstLaunch()) {
|
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 getSources() = repository.getSources()
|
||||||
fun getEntries() = repository.getEntries()
|
fun getEntries() = repository.getEntries()
|
||||||
fun getPasses(): LiveData<Result<MutableList<SatPass>>> = _passes
|
fun getPasses(): LiveData<Result<MutableList<SatPass>>> = _passes
|
||||||
fun getTransmittersForSat(satId: Int) = repository.getTransmittersForSat(satId)
|
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) {
|
fun updateEntriesFromFile(uri: Uri) {
|
||||||
viewModelScope.launch {
|
viewModelScope.launch {
|
||||||
repository.updateEntriesFromFile(uri)
|
repository.updateEntriesFromFile(uri)
|
||||||
@@ -85,6 +93,7 @@ class SharedViewModel @Inject constructor(
|
|||||||
}
|
}
|
||||||
|
|
||||||
fun calculatePasses(dateNow: Date = Date(System.currentTimeMillis())) {
|
fun calculatePasses(dateNow: Date = Date(System.currentTimeMillis())) {
|
||||||
|
shouldTriggerCalculation = false
|
||||||
_passes.value = Result.InProgress
|
_passes.value = Result.InProgress
|
||||||
viewModelScope.launch(Dispatchers.Default) {
|
viewModelScope.launch(Dispatchers.Default) {
|
||||||
val passes = mutableListOf<SatPass>()
|
val passes = mutableListOf<SatPass>()
|
||||||
|
|||||||
@@ -106,6 +106,7 @@ class PassesFragment : Fragment(R.layout.fragment_passes) {
|
|||||||
}
|
}
|
||||||
passesAdapter.setShouldUseUTC(prefsManager.shouldUseUTC())
|
passesAdapter.setShouldUseUTC(prefsManager.shouldUseUTC())
|
||||||
setTimerForPasses(passes)
|
setTimerForPasses(passes)
|
||||||
|
viewModel.triggerCalculation()
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun showSatPassPrefsDialog(hoursAhead: Int, minEl: Double) {
|
private fun showSatPassPrefsDialog(hoursAhead: Int, minEl: Double) {
|
||||||
|
|||||||
Reference in new issue
Block a user