Added passes list recalculation on app launch if there are selected satellites

This commit is contained in:
Arty Bishop committed 2020-03-30 21:14:06 +01:00
1 parent c221908854
commit e52e6ec4b5
2 files changed
+7 -1

No files matched your search

@@ -129,7 +129,8 @@ class MainViewModel(application: Application) : AndroidViewModel(application) {
tleSelection.forEach { indexOfSelection ->
val tle = tleMainList[indexOfSelection]
try {
val predictor = PassPredictor(tle, getGSP().value!!)
val gsp = getGSP().value ?: GroundStationPosition(0.0, 0.0, 0.0)
val predictor = PassPredictor(tle, gsp)
val passes = predictor.getPasses(dateNow, getHoursAhead(), true)
passes.forEach {
passList.add(SatPass(tle, predictor, it))
@@ -52,6 +52,7 @@ class PassListFragment : Fragment(R.layout.fragment_pass_list) {
private lateinit var mainActivity: MainActivity
private lateinit var satPassList: MutableList<SatPass>
private var isTimerSet: Boolean = false
private var isFirstLaunch: Boolean = true
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
super.onViewCreated(view, savedInstanceState)
@@ -64,6 +65,10 @@ class PassListFragment : Fragment(R.layout.fragment_pass_list) {
btnPassPrefs = mainActivity.findViewById(R.id.toolbar_filter)
setupComponents(fragmentBinding)
setupObservers(fragmentBinding)
if (viewModel.tleSelection.isNotEmpty() && isFirstLaunch) {
viewModel.getPasses()
isFirstLaunch = false
}
}
private fun setupComponents(binding: FragmentPassListBinding) {