Fixed recent InflationException, version code bumped

This commit is contained in:
Arty Bishop committed 2021-04-05 08:52:03 +01:00
1 parent 39c3a69a11
commit b2deab0d7c
7 files changed
+29 -21

No files matched your search

+2 -2
View File
@@ -13,8 +13,8 @@ android {
applicationId "com.rtbishop.look4sat" applicationId "com.rtbishop.look4sat"
minSdkVersion 21 minSdkVersion 21
targetSdkVersion 30 targetSdkVersion 30
versionCode 230 versionCode 231
versionName "2.3.0" versionName "2.3.1"
kapt { kapt {
arguments { arguments {
arg("room.schemaLocation", "$projectDir/schemas") arg("room.schemaLocation", "$projectDir/schemas")
@@ -25,6 +25,7 @@ import androidx.fragment.app.viewModels
import androidx.navigation.fragment.findNavController import androidx.navigation.fragment.findNavController
import androidx.recyclerview.widget.LinearLayoutManager import androidx.recyclerview.widget.LinearLayoutManager
import androidx.recyclerview.widget.SimpleItemAnimator import androidx.recyclerview.widget.SimpleItemAnimator
import com.google.android.material.snackbar.Snackbar
import com.rtbishop.look4sat.R import com.rtbishop.look4sat.R
import com.rtbishop.look4sat.data.model.Result import com.rtbishop.look4sat.data.model.Result
import com.rtbishop.look4sat.data.model.SatItem import com.rtbishop.look4sat.data.model.SatItem
@@ -32,7 +33,6 @@ import com.rtbishop.look4sat.data.model.TleSource
import com.rtbishop.look4sat.databinding.FragmentEntriesBinding import com.rtbishop.look4sat.databinding.FragmentEntriesBinding
import com.rtbishop.look4sat.utility.RecyclerDivider import com.rtbishop.look4sat.utility.RecyclerDivider
import com.rtbishop.look4sat.utility.getNavResult import com.rtbishop.look4sat.utility.getNavResult
import com.rtbishop.look4sat.utility.showSnack
import dagger.hilt.android.AndroidEntryPoint import dagger.hilt.android.AndroidEntryPoint
@AndroidEntryPoint @AndroidEntryPoint
@@ -94,7 +94,8 @@ class EntriesFragment : Fragment(R.layout.fragment_entries) {
is Result.Error -> { is Result.Error -> {
binding.entriesProgress.visibility = View.INVISIBLE binding.entriesProgress.visibility = View.INVISIBLE
binding.entriesRecycler.visibility = View.VISIBLE binding.entriesRecycler.visibility = View.VISIBLE
requireView().showSnack(getString(R.string.entries_update_error)) Snackbar.make(requireView(), R.string.entries_update_error, Snackbar.LENGTH_SHORT)
.setAnchorView(R.id.nav_bottom).show()
} }
} }
} }
@@ -142,7 +142,6 @@ class EntriesViewModel @Inject constructor(
} }
private fun filterByQuery(items: List<SatItem>, query: String): List<SatItem> { private fun filterByQuery(items: List<SatItem>, query: String): List<SatItem> {
shouldSelectAll = true
if (query.isBlank()) return items if (query.isBlank()) return items
return try { return try {
items.filter { it.catNum == query.toInt() } items.filter { it.catNum == query.toInt() }
@@ -26,11 +26,11 @@ import androidx.activity.result.contract.ActivityResultContracts
import androidx.core.content.ContextCompat import androidx.core.content.ContextCompat
import androidx.preference.Preference import androidx.preference.Preference
import androidx.preference.PreferenceFragmentCompat import androidx.preference.PreferenceFragmentCompat
import com.google.android.material.snackbar.Snackbar
import com.rtbishop.look4sat.R import com.rtbishop.look4sat.R
import com.rtbishop.look4sat.utility.PrefsManager import com.rtbishop.look4sat.utility.PrefsManager
import com.rtbishop.look4sat.utility.QthConverter import com.rtbishop.look4sat.utility.QthConverter
import com.rtbishop.look4sat.utility.round import com.rtbishop.look4sat.utility.round
import com.rtbishop.look4sat.utility.showSnack
import dagger.hilt.android.AndroidEntryPoint import dagger.hilt.android.AndroidEntryPoint
import javax.inject.Inject import javax.inject.Inject
@@ -46,8 +46,11 @@ class PrefsFragment : PreferenceFragmentCompat() {
private val requestPermissionLauncher = private val requestPermissionLauncher =
registerForActivityResult(ActivityResultContracts.RequestPermission()) { isGranted -> registerForActivityResult(ActivityResultContracts.RequestPermission()) { isGranted ->
if (isGranted) setPositionFromGPS() if (isGranted) {
else requireView().showSnack(getString(R.string.pref_pos_gps_error)) setPositionFromGPS()
} else {
showSnack(getString(R.string.pref_pos_gps_error))
}
} }
override fun onCreatePreferences(savedInstanceState: Bundle?, rootKey: String?) { override fun onCreatePreferences(savedInstanceState: Bundle?, rootKey: String?) {
@@ -74,10 +77,10 @@ class PrefsFragment : PreferenceFragmentCompat() {
private fun setPositionFromQth(qthString: String): Boolean { private fun setPositionFromQth(qthString: String): Boolean {
qthConverter.qthToLocation(qthString)?.let { gsp -> qthConverter.qthToLocation(qthString)?.let { gsp ->
prefsManager.setStationPosition(gsp.latitude, gsp.longitude, gsp.heightAMSL) prefsManager.setStationPosition(gsp.latitude, gsp.longitude, gsp.heightAMSL)
requireView().showSnack(getString(R.string.pref_pos_success)) showSnack(getString(R.string.pref_pos_success))
return true return true
} }
requireView().showSnack(getString(R.string.pref_pos_qth_error)) showSnack(getString(R.string.pref_pos_qth_error))
return false return false
} }
@@ -91,8 +94,14 @@ class PrefsFragment : PreferenceFragmentCompat() {
val longitude = location.longitude.round(4) val longitude = location.longitude.round(4)
val altitude = location.altitude.round(1) val altitude = location.altitude.round(1)
prefsManager.setStationPosition(latitude, longitude, altitude) prefsManager.setStationPosition(latitude, longitude, altitude)
requireView().showSnack(getString(R.string.pref_pos_success)) showSnack(getString(R.string.pref_pos_success))
} else requireView().showSnack(getString(R.string.pref_pos_gps_null)) } else showSnack(getString(R.string.pref_pos_gps_null))
} else requestPermissionLauncher.launch(locPermString) } else requestPermissionLauncher.launch(locPermString)
} }
private fun showSnack(message: String) {
Snackbar.make(requireView(), message, Snackbar.LENGTH_SHORT)
.setAnchorView(R.id.nav_bottom)
.show()
}
} }
@@ -23,7 +23,6 @@ import android.net.Network
import android.net.NetworkCapabilities import android.net.NetworkCapabilities
import android.net.NetworkRequest import android.net.NetworkRequest
import android.os.Bundle import android.os.Bundle
import android.view.View
import androidx.annotation.IdRes import androidx.annotation.IdRes
import androidx.fragment.app.Fragment import androidx.fragment.app.Fragment
import androidx.lifecycle.Lifecycle import androidx.lifecycle.Lifecycle
@@ -34,8 +33,6 @@ import androidx.navigation.Navigator
import androidx.navigation.fragment.findNavController import androidx.navigation.fragment.findNavController
import com.github.amsacode.predict4java.GroundStationPosition import com.github.amsacode.predict4java.GroundStationPosition
import com.github.amsacode.predict4java.Satellite import com.github.amsacode.predict4java.Satellite
import com.google.android.material.snackbar.Snackbar
import com.rtbishop.look4sat.R
import kotlinx.coroutines.ExperimentalCoroutinesApi import kotlinx.coroutines.ExperimentalCoroutinesApi
import kotlinx.coroutines.channels.awaitClose import kotlinx.coroutines.channels.awaitClose
import kotlinx.coroutines.flow.Flow import kotlinx.coroutines.flow.Flow
@@ -80,12 +77,6 @@ fun Satellite.getPredictor(stationPosition: GroundStationPosition): PassPredicto
return PassPredictor(this, stationPosition) return PassPredictor(this, stationPosition)
} }
fun View.showSnack(message: String) {
Snackbar.make(this, message, Snackbar.LENGTH_SHORT)
.setAnchorView(R.id.nav_bottom)
.show()
}
fun NavController.navigateSafe( fun NavController.navigateSafe(
@IdRes resId: Int, @IdRes resId: Int,
args: Bundle? = null, args: Bundle? = null,
@@ -0,0 +1,7 @@
Added satellite items filtering by transmitter mode
Now updating recyclers views asyncronously
Switched to concurrent satellite data update
Minor visual changes to map info
Separated application screens logic
Bug fixes, huge code cleanup
Fixed recent InflatingException
@@ -4,3 +4,4 @@ Switched to concurrent satellite data update
Minor visual changes to map info Minor visual changes to map info
Separated application screens logic Separated application screens logic
Bug fixes, huge code cleanup Bug fixes, huge code cleanup
Fixed recent InflatingException