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