kopia lustrzana https://github.com/rt-bishop/Look4Sat
				
				
				
			Now triggering passes calculation on PassesFragment start
							rodzic
							
								
									c4abf214f6
								
							
						
					
					
						commit
						0ba26d4d75
					
				| 
						 | 
				
			
			@ -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) {
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Ładowanie…
	
		Reference in New Issue