From e52e6ec4b5c93b23ad14c36b8002a727e2a05a35 Mon Sep 17 00:00:00 2001 From: Arty Bishop Date: Mon, 30 Mar 2020 21:14:06 +0100 Subject: [PATCH] Added passes list recalculation on app launch if there are selected satellites --- app/src/main/java/com/rtbishop/look4sat/MainViewModel.kt | 3 ++- .../main/java/com/rtbishop/look4sat/ui/PassListFragment.kt | 5 +++++ 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/app/src/main/java/com/rtbishop/look4sat/MainViewModel.kt b/app/src/main/java/com/rtbishop/look4sat/MainViewModel.kt index 39e52e5c..a1eb7f95 100644 --- a/app/src/main/java/com/rtbishop/look4sat/MainViewModel.kt +++ b/app/src/main/java/com/rtbishop/look4sat/MainViewModel.kt @@ -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)) diff --git a/app/src/main/java/com/rtbishop/look4sat/ui/PassListFragment.kt b/app/src/main/java/com/rtbishop/look4sat/ui/PassListFragment.kt index 1ba09628..bc125c2b 100644 --- a/app/src/main/java/com/rtbishop/look4sat/ui/PassListFragment.kt +++ b/app/src/main/java/com/rtbishop/look4sat/ui/PassListFragment.kt @@ -52,6 +52,7 @@ class PassListFragment : Fragment(R.layout.fragment_pass_list) { private lateinit var mainActivity: MainActivity private lateinit var satPassList: MutableList 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) {