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 36b04955..2804b18b 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
@@ -164,7 +164,7 @@ class MapViewModel @Inject constructor(
val osmPos = GeoPos(osmLat, osmLon)
val qthLoc = QthConverter.positionToQth(osmPos.latitude, osmPos.longitude) ?: "-- --"
val satData = MapData(
- satellite, satellite.data.catnum, satellite.data.name, satPos.range,
+ satellite, satellite.data.catnum, satellite.data.name, satPos.distance,
satPos.altitude, satPos.getOrbitalVelocity(), qthLoc, osmPos
)
_satData.postValue(satData)
diff --git a/app/src/main/java/com/rtbishop/look4sat/presentation/passesScreen/PassesViewModel.kt b/app/src/main/java/com/rtbishop/look4sat/presentation/passesScreen/PassesViewModel.kt
index 14c79507..90ebdfd4 100644
--- a/app/src/main/java/com/rtbishop/look4sat/presentation/passesScreen/PassesViewModel.kt
+++ b/app/src/main/java/com/rtbishop/look4sat/presentation/passesScreen/PassesViewModel.kt
@@ -66,7 +66,6 @@ class PassesViewModel @Inject constructor(
viewModelScope.launch {
_passes.postValue(DataState.Loading)
passesProcessing?.cancelAndJoin()
- delay(3000)
selection?.let { items -> repository.setEntriesSelection(items) }
settings.setHoursAhead(hoursAhead)
settings.setMinElevation(minElevation)
diff --git a/app/src/main/java/com/rtbishop/look4sat/presentation/radarScreen/RadarFragment.kt b/app/src/main/java/com/rtbishop/look4sat/presentation/radarScreen/RadarFragment.kt
index dc26a03b..59493b22 100644
--- a/app/src/main/java/com/rtbishop/look4sat/presentation/radarScreen/RadarFragment.kt
+++ b/app/src/main/java/com/rtbishop/look4sat/presentation/radarScreen/RadarFragment.kt
@@ -102,14 +102,14 @@ class RadarFragment : Fragment(R.layout.fragment_radar) {
private fun setPassText(satPass: SatPass, satPos: SatPos) {
val timeNow = System.currentTimeMillis()
- val polarAz = getString(R.string.pat_azimuth)
- val polarEl = getString(R.string.pat_elevation)
- val polarRng = getString(R.string.pat_distance)
- val polarAlt = getString(R.string.pat_altitude)
- binding.radarAz.text = String.format(polarAz, Math.toDegrees(satPos.azimuth))
- binding.radarEl.text = String.format(polarEl, Math.toDegrees(satPos.elevation))
- binding.radarDst.text = String.format(polarRng, satPos.range)
- binding.radarAlt.text = String.format(polarAlt, satPos.altitude)
+ val radarAzim = getString(R.string.radar_az_value)
+ val radarElev = getString(R.string.radar_el_value)
+ val radarAlt = getString(R.string.radar_alt_value)
+ val radarDist = getString(R.string.radar_dist_value)
+ binding.radarAzValue.text = String.format(radarAzim, Math.toDegrees(satPos.azimuth))
+ binding.radarElValue.text = String.format(radarElev, Math.toDegrees(satPos.elevation))
+ binding.radarAltValue.text = String.format(radarAlt, satPos.altitude)
+ binding.radarDstValue.text = String.format(radarDist, satPos.distance)
// binding.radarName.text = satPass.name
if (!satPass.isDeepSpace) {
diff --git a/app/src/main/java/com/rtbishop/look4sat/presentation/radarScreen/RadarView.kt b/app/src/main/java/com/rtbishop/look4sat/presentation/radarScreen/RadarView.kt
index 14e7a0f1..3346f935 100644
--- a/app/src/main/java/com/rtbishop/look4sat/presentation/radarScreen/RadarView.kt
+++ b/app/src/main/java/com/rtbishop/look4sat/presentation/radarScreen/RadarView.kt
@@ -31,8 +31,6 @@ class RadarView(context: Context) : View(context) {
private val defaultColor = ContextCompat.getColor(context, R.color.accent)
private val scale = resources.displayMetrics.density
- private val radarWidth = resources.displayMetrics.widthPixels
- private val radarRadius = radarWidth * 0.48f
private val piDiv2 = Math.PI / 2.0
private val strokeSize = scale * 2f
private var position: SatPos? = null
@@ -125,12 +123,12 @@ class RadarView(context: Context) : View(context) {
override fun onDraw(canvas: Canvas) {
val radarWidth = width - paddingLeft - paddingRight
val radarHeight = height - paddingTop - paddingBottom
- val radarRadius = min(width, height) * 0.49f
+ val radarRadius = min(width, height) * 0.48f
val cx = paddingLeft + radarWidth / 2f
val cy = paddingTop + radarHeight / 2f
if (positions.isNotEmpty() && !isTrackCreated) {
- createPassTrajectory()
+ createPassTrajectory(radarRadius)
createPassTrajectoryArrow()
isTrackCreated = true
}
@@ -146,10 +144,10 @@ class RadarView(context: Context) : View(context) {
canvas.drawPath(trackPath, arrowPaint)
}
if (shouldShowBeacons) {
- drawSatellite(canvas)
+ drawSatellite(canvas, radarRadius)
}
if (shouldShowAim) {
- drawCrosshair(canvas, azimuth, pitch)
+ drawCrosshair(canvas, azimuth, pitch, radarRadius)
}
if (shouldShowSweep) {
canvas.translate(-cx, -cy)
@@ -177,7 +175,7 @@ class RadarView(context: Context) : View(context) {
}
}
- private fun drawSatellite(canvas: Canvas) {
+ private fun drawSatellite(canvas: Canvas, radarRadius: Float) {
position?.let { satPos ->
if (satPos.elevation > 0) {
val satX = sph2CartX(satPos.azimuth, satPos.elevation, radarRadius.toDouble())
@@ -187,7 +185,7 @@ class RadarView(context: Context) : View(context) {
}
}
- private fun drawCrosshair(canvas: Canvas, azimuth: Float, pitch: Float) {
+ private fun drawCrosshair(canvas: Canvas, azimuth: Float, pitch: Float, radarRadius: Float) {
val azimuthRad = Math.toRadians(azimuth.toDouble())
val tmpElevation = Math.toRadians(pitch.toDouble())
val elevationRad = if (tmpElevation > 0.0) 0.0 else tmpElevation
@@ -208,7 +206,7 @@ class RadarView(context: Context) : View(context) {
return (radius * sin(piDiv2 - azimuth)).toFloat()
}
- private fun createPassTrajectory() {
+ private fun createPassTrajectory(radarRadius: Float) {
positions.forEachIndexed { index, satPos ->
val passX = sph2CartX(satPos.azimuth, satPos.elevation, radarRadius.toDouble())
val passY = sph2CartY(satPos.azimuth, satPos.elevation, radarRadius.toDouble())
diff --git a/app/src/main/res/layout/fragment_radar.xml b/app/src/main/res/layout/fragment_radar.xml
index f6d50549..fd4f8bf5 100644
--- a/app/src/main/res/layout/fragment_radar.xml
+++ b/app/src/main/res/layout/fragment_radar.xml
@@ -45,49 +45,81 @@
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/radar_toolbar" />
+
+
+ app:layout_constraintStart_toStartOf="@+id/radar_az_value"
+ app:layout_constraintTop_toBottomOf="@+id/radar_az_value" />
+
+
+ app:layout_constraintBaseline_toBaselineOf="@+id/radar_az"
+ app:layout_constraintEnd_toEndOf="@+id/radar_el_value" />
+
+
+ app:layout_constraintBottom_toTopOf="@+id/radar_alt_value"
+ app:layout_constraintStart_toStartOf="@+id/radar_alt_value" />
+
+
+ app:layout_constraintBaseline_toBaselineOf="@+id/radar_alt"
+ app:layout_constraintEnd_toEndOf="@+id/radar_dst_value" />
QTH Локатор: %s
Покрытие: %.0fкм
+ Азим.
+ %.1f°
+ Элев.
+ %.1f°
+ Выс.
+ %.0f km
+ Дальн.
+ %.0f km
+
Азимут: %.1f°
Элевация: %.1f°
Дистанция: %.0fкм
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index be08f964..4859921a 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -76,6 +76,15 @@
Coverage: %.0f km
Wikimedia maps | Map data © OpenStreetMap contributors
+ Azimuth
+ %.1f°
+ Elevation
+ %.1f°
+ Altitude
+ %.0f km
+ Distance
+ %.0f km
+
Azimuth: %.1f°
Elevation: %.1f°
Range: %.0f km
diff --git a/app/src/main/res/values/styles.xml b/app/src/main/res/values/styles.xml
index 73e21280..b6701ce1 100644
--- a/app/src/main/res/values/styles.xml
+++ b/app/src/main/res/values/styles.xml
@@ -132,6 +132,12 @@
- @dimen/view_default_margin
+
+