Fixed IllegalArgException on pass to polar navigation. Triggering github actions on tags push.

pull/49/head
Arty Bishop 2021-03-09 09:17:21 +00:00
rodzic c37537bd67
commit d493e3e87b
7 zmienionych plików z 39 dodań i 23 usunięć
.github/workflows
app/src/main/java/com/rtbishop/look4sat/ui
entriesScreen
passesScreen
prefsScreen
fastlane/metadata/android/en-US

Wyświetl plik

@ -2,10 +2,11 @@ name: Look4Sat CI
on:
push:
branches: [ master ]
tags:
- '*'
jobs:
release:
deploy:
runs-on: ubuntu-latest
steps:
- name: Checkout latest commit
@ -54,13 +55,13 @@ jobs:
serviceAccountJsonPlainText: ${{secrets.SERVICE_ACCOUNT_JSON}}
packageName: com.rtbishop.look4sat
track: production
whatsNewDirectory: fastlane/metadata/android/en-US/changelogs
whatsNewDirectory: fastlane/metadata/android/en-US/whatsnew
releaseFiles: ${{steps.sign_release_bundle.outputs.signedReleaseFile}}
- name: Upload files to action
uses: actions/upload-artifact@v2
with:
name: Look4Sat_files
path: |
${{steps.sign_release_apk.outputs.signedReleaseFile}}
${{steps.sign_release_bundle.outputs.signedReleaseFile}}
with:
name: Look4Sat_files
path: |
${{steps.sign_release_apk.outputs.signedReleaseFile}}
${{steps.sign_release_bundle.outputs.signedReleaseFile}}

Wyświetl plik

@ -30,6 +30,7 @@ import com.rtbishop.look4sat.R
import com.rtbishop.look4sat.databinding.FragmentEntriesBinding
import com.rtbishop.look4sat.ui.SharedViewModel
import com.rtbishop.look4sat.utility.RecyclerDivider
import com.rtbishop.look4sat.utility.navigateSafe
import dagger.hilt.android.AndroidEntryPoint
@AndroidEntryPoint
@ -38,9 +39,7 @@ class EntriesFragment : Fragment(R.layout.fragment_entries) {
private val viewModel: SharedViewModel by activityViewModels()
private val filePicker =
registerForActivityResult(ActivityResultContracts.GetContent()) { uri ->
uri?.let {
viewModel.updateEntriesFromFile(uri)
}
uri?.let { viewModel.updateEntriesFromFile(uri) }
}
private var binding: FragmentEntriesBinding? = null
private var entriesAdapter: EntriesAdapter? = null
@ -73,8 +72,9 @@ class EntriesFragment : Fragment(R.layout.fragment_entries) {
private fun setupObservers() {
setLoading()
viewModel.getSatItems().observe(viewLifecycleOwner, { satItems ->
if (satItems.isNullOrEmpty()) setError()
else {
if (satItems.isNullOrEmpty()) {
setError()
} else {
entriesAdapter?.setItems(satItems)
setLoaded()
}
@ -131,7 +131,7 @@ class EntriesFragment : Fragment(R.layout.fragment_entries) {
val satItems = it.getItems()
if (satItems.isNotEmpty()) {
viewModel.updateItemsSelection(satItems)
requireView().findNavController().navigate(R.id.action_entries_to_passes)
requireView().findNavController().navigateSafe(R.id.action_entries_to_passes)
}
}
}

Wyświetl plik

@ -27,6 +27,7 @@ import com.rtbishop.look4sat.R
import com.rtbishop.look4sat.data.SatPass
import com.rtbishop.look4sat.databinding.ItemPassGeoBinding
import com.rtbishop.look4sat.databinding.ItemPassLeoBinding
import com.rtbishop.look4sat.utility.navigateSafe
import java.text.SimpleDateFormat
import java.util.*
@ -131,7 +132,7 @@ class PassesAdapter(context: Context, private val shouldUseUTC: Boolean = false)
itemView.setOnClickListener {
if (satPass.progress < 100) {
val bundle = bundleOf("index" to satPassList.indexOf(satPass))
itemView.findNavController().navigate(R.id.action_passes_to_polar, bundle)
itemView.findNavController().navigateSafe(R.id.action_passes_to_polar, bundle)
}
}
}
@ -152,7 +153,7 @@ class PassesAdapter(context: Context, private val shouldUseUTC: Boolean = false)
itemView.setOnClickListener {
val bundle = bundleOf("index" to satPassList.indexOf(satPass))
itemView.findNavController().navigate(R.id.action_passes_to_polar, bundle)
itemView.findNavController().navigateSafe(R.id.action_passes_to_polar, bundle)
}
}
}

Wyświetl plik

@ -77,15 +77,13 @@ class PrefsFragment : PreferenceFragmentCompat() {
}
private fun setPositionFromQth(qthString: String): Boolean {
val loc = qthConverter.qthToLocation(qthString)
return if (loc == null) {
showSnack(getString(R.string.pref_pos_qth_error))
false
} else {
prefsRepo.setStationPosition(loc.latitude, loc.longitude, loc.heightAMSL)
qthConverter.qthToLocation(qthString)?.let { gsp ->
prefsRepo.setStationPosition(gsp.latitude, gsp.longitude, gsp.heightAMSL)
showSnack(getString(R.string.pref_pos_success))
true
return true
}
showSnack(getString(R.string.pref_pos_qth_error))
return false
}
private fun setPositionFromGPS() {

Wyświetl plik

@ -0,0 +1,8 @@
Fixed NullPointerException in EntriesFragment's update from file
Fixed IllegalArgumentException on passes navigate action
Fixed select all logic in Entries adapter
Now correctly popping back stack on PolarView pass end
Now using passes screen as a start destination
Added zipped TLE import from Mike McCants' web site
Added McCants' classified and integrated TLEs to default sources
Added privacy policy to info screen, switched to GPL v3 licence

Wyświetl plik

@ -0,0 +1,8 @@
Fixed NullPointerException in EntriesFragment's update from file
Fixed IllegalArgumentException on passes navigate action
Fixed select all logic in Entries adapter
Now correctly popping back stack on PolarView pass end
Now using passes screen as a start destination
Added zipped TLE import from Mike McCants' web site
Added McCants' classified and integrated TLEs to default sources
Added privacy policy to info screen, switched to GPL v3 licence