From 488fe352cdac4f2be96eec17e032a70e4729ffb4 Mon Sep 17 00:00:00 2001 From: Arty Bishop Date: Wed, 9 Mar 2022 13:22:20 +0000 Subject: [PATCH] Added satellite visibility and phase to MapFragment.kt #62 --- .../presentation/mapScreen/MapData.kt | 4 ++- .../presentation/mapScreen/MapFragment.kt | 8 ++++++ .../presentation/mapScreen/MapViewModel.kt | 4 ++- app/src/main/res/layout/fragment_map.xml | 27 ++++++++++++++++--- app/src/main/res/values-ru/strings.xml | 4 +++ app/src/main/res/values/strings.xml | 4 +++ 6 files changed, 45 insertions(+), 6 deletions(-) diff --git a/app/src/main/java/com/rtbishop/look4sat/presentation/mapScreen/MapData.kt b/app/src/main/java/com/rtbishop/look4sat/presentation/mapScreen/MapData.kt index 048ef5b9..c8530e64 100644 --- a/app/src/main/java/com/rtbishop/look4sat/presentation/mapScreen/MapData.kt +++ b/app/src/main/java/com/rtbishop/look4sat/presentation/mapScreen/MapData.kt @@ -28,5 +28,7 @@ data class MapData( val altitude: Double, val velocity: Double, val qthLoc: String, - val osmPos: GeoPos + val osmPos: GeoPos, + val phase: Double, + val eclipsed: Boolean ) diff --git a/app/src/main/java/com/rtbishop/look4sat/presentation/mapScreen/MapFragment.kt b/app/src/main/java/com/rtbishop/look4sat/presentation/mapScreen/MapFragment.kt index ed77d6e6..3368eb88 100644 --- a/app/src/main/java/com/rtbishop/look4sat/presentation/mapScreen/MapFragment.kt +++ b/app/src/main/java/com/rtbishop/look4sat/presentation/mapScreen/MapFragment.kt @@ -208,6 +208,14 @@ class MapFragment : Fragment(R.layout.fragment_map) { String.format(getString(R.string.map_latitude), mapData.osmPos.lat) mapDataLon.text = String.format(getString(R.string.map_longitude), mapData.osmPos.lon) + mapDataPhase.text = String.format(getString(R.string.map_phase), mapData.phase) + if (mapData.eclipsed) { + val eclipsed = getString(R.string.map_eclipsed) + mapDataVisibility.text = String.format(getString(R.string.map_visibility), eclipsed) + } else { + val visible = getString(R.string.map_visible) + mapDataVisibility.text = String.format(getString(R.string.map_visibility), visible) + } } binding.mapView.invalidate() } diff --git a/app/src/main/java/com/rtbishop/look4sat/presentation/mapScreen/MapViewModel.kt b/app/src/main/java/com/rtbishop/look4sat/presentation/mapScreen/MapViewModel.kt index 5d47b8df..d5e2e2af 100644 --- a/app/src/main/java/com/rtbishop/look4sat/presentation/mapScreen/MapViewModel.kt +++ b/app/src/main/java/com/rtbishop/look4sat/presentation/mapScreen/MapViewModel.kt @@ -162,9 +162,11 @@ class MapViewModel @Inject constructor( val osmLon = clipLon(satPos.longitude.toDegrees()) val osmPos = GeoPos(osmLat, osmLon) val qthLoc = QthConverter.positionToQth(osmPos.lat, osmPos.lon) ?: "-- --" + val phase = satPos.phase.toDegrees() + val visibility = satPos.eclipsed val satData = MapData( satellite, satellite.data.catnum, satellite.data.name, satPos.distance, - satPos.altitude, satPos.getOrbitalVelocity(), qthLoc, osmPos + satPos.altitude, satPos.getOrbitalVelocity(), qthLoc, osmPos, phase, visibility ) _mapData.postValue(satData) } diff --git a/app/src/main/res/layout/fragment_map.xml b/app/src/main/res/layout/fragment_map.xml index 563e5a25..94fe51ef 100644 --- a/app/src/main/res/layout/fragment_map.xml +++ b/app/src/main/res/layout/fragment_map.xml @@ -89,16 +89,36 @@ android:layout_height="match_parent"> + + + + + app:layout_constraintEnd_toEndOf="@+id/map_data_phase" /> Широта: %.1f° Долгота: %.1f° QTH Локатор: %s + Видимый + В тени + Видимость: %s + Фаза: %.1f° Высота: %.0fкм Дистанция: %.0fкм Скорость: %.2fкм/с diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index d67f47ff..fd99adce 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -105,6 +105,10 @@ Latitude: %.1f° Longitude: %.1f° QTH Locator: %s + Visible + Eclipsed + Visibility: %s + Phase: %.1f° Altitude: %.0f km Distance: %.0f km Velocity: %.2f km/s