kopia lustrzana https://github.com/rt-bishop/Look4Sat
Dependencies update, code cleanup
rodzic
608b7e9311
commit
794d132086
|
@ -12,7 +12,7 @@ android {
|
||||||
defaultConfig {
|
defaultConfig {
|
||||||
applicationId "com.rtbishop.look4sat"
|
applicationId "com.rtbishop.look4sat"
|
||||||
minSdkVersion 21
|
minSdkVersion 21
|
||||||
resConfigs "en,ru"
|
resConfigs 'en,ru'
|
||||||
targetSdkVersion 31
|
targetSdkVersion 31
|
||||||
versionCode 260
|
versionCode 260
|
||||||
versionName "2.6.0"
|
versionName "2.6.0"
|
||||||
|
|
|
@ -8,7 +8,6 @@
|
||||||
|
|
||||||
<application
|
<application
|
||||||
android:name=".presentation.Look4SatApplication"
|
android:name=".presentation.Look4SatApplication"
|
||||||
android:allowBackup="false"
|
|
||||||
android:icon="@mipmap/ic_launcher"
|
android:icon="@mipmap/ic_launcher"
|
||||||
android:roundIcon="@mipmap/ic_launcher_round"
|
android:roundIcon="@mipmap/ic_launcher_round"
|
||||||
android:label="@string/app_name"
|
android:label="@string/app_name"
|
||||||
|
|
|
@ -62,9 +62,9 @@ class EntriesFragment : Fragment(R.layout.fragment_entries) {
|
||||||
entriesMode.setOnClickListener { showModesDialog() }
|
entriesMode.setOnClickListener { showModesDialog() }
|
||||||
entriesSelectAll.setOnClickListener { viewModel.selectCurrentItems() }
|
entriesSelectAll.setOnClickListener { viewModel.selectCurrentItems() }
|
||||||
}
|
}
|
||||||
viewModel.satData.observe(viewLifecycleOwner, { satData ->
|
viewModel.satData.observe(viewLifecycleOwner) { satData ->
|
||||||
handleSatData(satData, binding, adapter)
|
handleSatData(satData, binding, adapter)
|
||||||
})
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun handleSatData(
|
private fun handleSatData(
|
||||||
|
@ -88,6 +88,7 @@ class EntriesFragment : Fragment(R.layout.fragment_entries) {
|
||||||
val message = getString(R.string.entries_update_error)
|
val message = getString(R.string.entries_update_error)
|
||||||
Snackbar.make(requireView(), message, Snackbar.LENGTH_SHORT).show()
|
Snackbar.make(requireView(), message, Snackbar.LENGTH_SHORT).show()
|
||||||
}
|
}
|
||||||
|
DataState.Handled -> {}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -38,9 +38,11 @@ import org.osmdroid.tileprovider.tilesource.TileSourceFactory
|
||||||
import org.osmdroid.util.GeoPoint
|
import org.osmdroid.util.GeoPoint
|
||||||
import org.osmdroid.views.CustomZoomButtonsController
|
import org.osmdroid.views.CustomZoomButtonsController
|
||||||
import org.osmdroid.views.MapView
|
import org.osmdroid.views.MapView
|
||||||
import org.osmdroid.views.overlay.*
|
import org.osmdroid.views.overlay.FolderOverlay
|
||||||
|
import org.osmdroid.views.overlay.Marker
|
||||||
|
import org.osmdroid.views.overlay.Polygon
|
||||||
|
import org.osmdroid.views.overlay.Polyline
|
||||||
import timber.log.Timber
|
import timber.log.Timber
|
||||||
import java.util.*
|
|
||||||
import javax.inject.Inject
|
import javax.inject.Inject
|
||||||
|
|
||||||
@AndroidEntryPoint
|
@AndroidEntryPoint
|
||||||
|
@ -91,11 +93,11 @@ class MapFragment : Fragment(R.layout.fragment_map) {
|
||||||
|
|
||||||
private fun setupObservers(binding: FragmentMapBinding) {
|
private fun setupObservers(binding: FragmentMapBinding) {
|
||||||
viewModel.selectDefaultSatellite(arguments?.getInt("catNum"))
|
viewModel.selectDefaultSatellite(arguments?.getInt("catNum"))
|
||||||
viewModel.stationPosLiveData.observe(viewLifecycleOwner, { renderStationPos(it, binding) })
|
viewModel.stationPosLiveData.observe(viewLifecycleOwner) { renderStationPos(it, binding) }
|
||||||
viewModel.satPositions.observe(viewLifecycleOwner, { renderSatPositions(it, binding) })
|
viewModel.satPositions.observe(viewLifecycleOwner) { renderSatPositions(it, binding) }
|
||||||
viewModel.satTrack.observe(viewLifecycleOwner, { renderSatTrack(it, binding) })
|
viewModel.satTrack.observe(viewLifecycleOwner) { renderSatTrack(it, binding) }
|
||||||
viewModel.satFootprint.observe(viewLifecycleOwner, { renderSatFootprint(it, binding) })
|
viewModel.satFootprint.observe(viewLifecycleOwner) { renderSatFootprint(it, binding) }
|
||||||
viewModel.mapData.observe(viewLifecycleOwner, { renderSatData(it, binding) })
|
viewModel.mapData.observe(viewLifecycleOwner) { renderSatData(it, binding) }
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun renderStationPos(stationPos: GeoPos, binding: FragmentMapBinding) {
|
private fun renderStationPos(stationPos: GeoPos, binding: FragmentMapBinding) {
|
||||||
|
|
|
@ -35,7 +35,6 @@ import com.rtbishop.look4sat.presentation.getNavResult
|
||||||
import com.rtbishop.look4sat.presentation.navigateSafe
|
import com.rtbishop.look4sat.presentation.navigateSafe
|
||||||
import com.rtbishop.look4sat.presentation.toTimerString
|
import com.rtbishop.look4sat.presentation.toTimerString
|
||||||
import dagger.hilt.android.AndroidEntryPoint
|
import dagger.hilt.android.AndroidEntryPoint
|
||||||
import java.util.*
|
|
||||||
|
|
||||||
@AndroidEntryPoint
|
@AndroidEntryPoint
|
||||||
class PassesFragment : Fragment(R.layout.fragment_passes), PassesAdapter.PassesClickListener {
|
class PassesFragment : Fragment(R.layout.fragment_passes), PassesAdapter.PassesClickListener {
|
||||||
|
@ -75,9 +74,9 @@ class PassesFragment : Fragment(R.layout.fragment_passes), PassesAdapter.PassesC
|
||||||
passesSettings.setOnClickListener { findNavController().navigate(R.id.nav_settings) }
|
passesSettings.setOnClickListener { findNavController().navigate(R.id.nav_settings) }
|
||||||
passesFab.setOnClickListener { findNavController().navigate(R.id.nav_satellites) }
|
passesFab.setOnClickListener { findNavController().navigate(R.id.nav_satellites) }
|
||||||
}
|
}
|
||||||
passesViewModel.passes.observe(viewLifecycleOwner, { passesResult ->
|
passesViewModel.passes.observe(viewLifecycleOwner) { passesResult ->
|
||||||
handleNewPasses(passesResult, adapter, binding)
|
handleNewPasses(passesResult, adapter, binding)
|
||||||
})
|
}
|
||||||
getNavResult<Pair<Int, Double>>(R.id.nav_passes, "prefs") { prefs ->
|
getNavResult<Pair<Int, Double>>(R.id.nav_passes, "prefs") { prefs ->
|
||||||
passesViewModel.forceCalculation(prefs.first, prefs.second)
|
passesViewModel.forceCalculation(prefs.first, prefs.second)
|
||||||
}
|
}
|
||||||
|
|
|
@ -78,12 +78,12 @@ class RadarFragment : Fragment(R.layout.fragment_radar) {
|
||||||
setScanning(preferences.getShowSweep())
|
setScanning(preferences.getShowSweep())
|
||||||
}
|
}
|
||||||
binding.radarCard.addView(radarView)
|
binding.radarCard.addView(radarView)
|
||||||
viewModel.radarData.observe(viewLifecycleOwner, { passData ->
|
viewModel.radarData.observe(viewLifecycleOwner) { passData ->
|
||||||
radarView?.setPosition(passData.satPos)
|
radarView?.setPosition(passData.satPos)
|
||||||
radarView?.setPositions(passData.satTrack)
|
radarView?.setPositions(passData.satTrack)
|
||||||
setPassText(pass, passData.satPos, binding)
|
setPassText(pass, passData.satPos, binding)
|
||||||
})
|
}
|
||||||
viewModel.transmitters.observe(viewLifecycleOwner, { list ->
|
viewModel.transmitters.observe(viewLifecycleOwner) { list ->
|
||||||
if (list.isNotEmpty()) {
|
if (list.isNotEmpty()) {
|
||||||
transmittersAdapter.submitList(list)
|
transmittersAdapter.submitList(list)
|
||||||
binding.radarRecyclerMsg.text = getString(R.string.trans_data)
|
binding.radarRecyclerMsg.text = getString(R.string.trans_data)
|
||||||
|
@ -91,14 +91,14 @@ class RadarFragment : Fragment(R.layout.fragment_radar) {
|
||||||
binding.radarRecyclerMsg.text = getString(R.string.trans_no_data)
|
binding.radarRecyclerMsg.text = getString(R.string.trans_no_data)
|
||||||
}
|
}
|
||||||
radarView?.invalidate()
|
radarView?.invalidate()
|
||||||
})
|
}
|
||||||
viewModel.orientation.observe(viewLifecycleOwner, { orientation ->
|
viewModel.orientation.observe(viewLifecycleOwner) { orientation ->
|
||||||
radarView?.setOrientation(
|
radarView?.setOrientation(
|
||||||
orientation.first,
|
orientation.first,
|
||||||
orientation.second,
|
orientation.second,
|
||||||
orientation.third
|
orientation.third
|
||||||
)
|
)
|
||||||
})
|
}
|
||||||
binding.radarMap.setOnClickListener {
|
binding.radarMap.setOnClickListener {
|
||||||
val bundle = bundleOf("catNum" to pass.catNum)
|
val bundle = bundleOf("catNum" to pass.catNum)
|
||||||
findNavController().navigateSafe(R.id.action_radar_to_map, bundle)
|
findNavController().navigateSafe(R.id.action_radar_to_map, bundle)
|
||||||
|
|
|
@ -88,7 +88,7 @@
|
||||||
android:text="@string/entries_select_all"
|
android:text="@string/entries_select_all"
|
||||||
android:textAllCaps="false"
|
android:textAllCaps="false"
|
||||||
android:textSize="@dimen/text_size_medium"
|
android:textSize="@dimen/text_size_medium"
|
||||||
app:cornerRadius="8dp"
|
app:cornerRadius="@dimen/card_corner_high"
|
||||||
app:layout_constraintBottom_toBottomOf="parent"
|
app:layout_constraintBottom_toBottomOf="parent"
|
||||||
app:layout_constraintEnd_toStartOf="@+id/entries_accept"
|
app:layout_constraintEnd_toStartOf="@+id/entries_accept"
|
||||||
app:layout_constraintHorizontal_bias="0.5"
|
app:layout_constraintHorizontal_bias="0.5"
|
||||||
|
@ -105,7 +105,7 @@
|
||||||
android:text="@string/btn_accept"
|
android:text="@string/btn_accept"
|
||||||
android:textAllCaps="false"
|
android:textAllCaps="false"
|
||||||
android:textSize="@dimen/text_size_medium"
|
android:textSize="@dimen/text_size_medium"
|
||||||
app:cornerRadius="8dp"
|
app:cornerRadius="@dimen/card_corner_high"
|
||||||
app:layout_constraintBaseline_toBaselineOf="@+id/entries_select_all"
|
app:layout_constraintBaseline_toBaselineOf="@+id/entries_select_all"
|
||||||
app:layout_constraintEnd_toEndOf="parent"
|
app:layout_constraintEnd_toEndOf="parent"
|
||||||
app:layout_constraintHorizontal_bias="0.5"
|
app:layout_constraintHorizontal_bias="0.5"
|
||||||
|
|
|
@ -151,7 +151,7 @@
|
||||||
android:id="@+id/map_btn_prev"
|
android:id="@+id/map_btn_prev"
|
||||||
android:layout_width="48dp"
|
android:layout_width="48dp"
|
||||||
android:layout_height="48dp"
|
android:layout_height="48dp"
|
||||||
android:layout_marginStart="8dp"
|
android:layout_marginStart="12dp"
|
||||||
android:layout_marginBottom="2dp"
|
android:layout_marginBottom="2dp"
|
||||||
android:backgroundTint="@color/surfaceToolbar"
|
android:backgroundTint="@color/surfaceToolbar"
|
||||||
android:rotation="180"
|
android:rotation="180"
|
||||||
|
@ -164,7 +164,7 @@
|
||||||
android:id="@+id/map_btn_next"
|
android:id="@+id/map_btn_next"
|
||||||
android:layout_width="48dp"
|
android:layout_width="48dp"
|
||||||
android:layout_height="48dp"
|
android:layout_height="48dp"
|
||||||
android:layout_marginEnd="8dp"
|
android:layout_marginEnd="12dp"
|
||||||
android:backgroundTint="@color/surfaceToolbar"
|
android:backgroundTint="@color/surfaceToolbar"
|
||||||
android:src="@drawable/ic_arrow"
|
android:src="@drawable/ic_arrow"
|
||||||
android:tint="@color/themeLight"
|
android:tint="@color/themeLight"
|
||||||
|
|
|
@ -3,7 +3,7 @@
|
||||||
<dimen name="card_elev_low">0dp</dimen>
|
<dimen name="card_elev_low">0dp</dimen>
|
||||||
<dimen name="card_elev_high">8dp</dimen>
|
<dimen name="card_elev_high">8dp</dimen>
|
||||||
<dimen name="card_corner_low">0dp</dimen>
|
<dimen name="card_corner_low">0dp</dimen>
|
||||||
<dimen name="card_corner_high">8dp</dimen>
|
<dimen name="card_corner_high">12dp</dimen>
|
||||||
<dimen name="text_size_copyright">13sp</dimen>
|
<dimen name="text_size_copyright">13sp</dimen>
|
||||||
<dimen name="text_size_small">15sp</dimen>
|
<dimen name="text_size_small">15sp</dimen>
|
||||||
<dimen name="text_size_medium">16sp</dimen>
|
<dimen name="text_size_medium">16sp</dimen>
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
buildscript {
|
buildscript {
|
||||||
ext {
|
ext {
|
||||||
gradle_version = '7.0.4'
|
gradle_version = '7.1.0'
|
||||||
kotlin_version = '1.6.10'
|
kotlin_version = '1.6.10'
|
||||||
coroutines_version = '1.6.0-native-mt'
|
coroutines_version = '1.6.0-native-mt'
|
||||||
splash_screen_version = '1.0.0-alpha01'
|
splash_screen_version = '1.0.0-alpha01'
|
||||||
|
@ -14,7 +14,7 @@ buildscript {
|
||||||
osmdroid_version = '6.1.11'
|
osmdroid_version = '6.1.11'
|
||||||
timber_version = '5.0.1'
|
timber_version = '5.0.1'
|
||||||
junit_version = '4.13.2'
|
junit_version = '4.13.2'
|
||||||
mockito_version = '4.2.0'
|
mockito_version = '4.3.1'
|
||||||
leak_canary_version = '2.8.1'
|
leak_canary_version = '2.8.1'
|
||||||
}
|
}
|
||||||
repositories {
|
repositories {
|
||||||
|
|
Ładowanie…
Reference in New Issue