diff --git a/app/src/main/java/com/rtbishop/look4sat/ui/MapViewFragment.kt b/app/src/main/java/com/rtbishop/look4sat/ui/MapViewFragment.kt index d269f404..927a4209 100644 --- a/app/src/main/java/com/rtbishop/look4sat/ui/MapViewFragment.kt +++ b/app/src/main/java/com/rtbishop/look4sat/ui/MapViewFragment.kt @@ -26,6 +26,7 @@ import android.view.LayoutInflater import android.view.View import android.view.ViewGroup import android.widget.FrameLayout +import android.widget.TextView import android.widget.Toast import androidx.appcompat.app.AlertDialog import androidx.fragment.app.Fragment @@ -49,6 +50,9 @@ class MapViewFragment : Fragment() { private lateinit var mapFrame: FrameLayout private lateinit var mapFab: FloatingActionButton private lateinit var mapView: MapView + private lateinit var mapLat: TextView + private lateinit var mapLon: TextView + private lateinit var mapRng: TextView private lateinit var predictor: PassPredictor private lateinit var selectedSat: TLE private lateinit var gsp: GroundStationPosition @@ -79,6 +83,9 @@ class MapViewFragment : Fragment() { private fun findViews(view: View) { mapFrame = view.findViewById(R.id.map_frame) mapFab = view.findViewById(R.id.map_fab) + mapLat = view.findViewById(R.id.map_lat) + mapLon = view.findViewById(R.id.map_lon) + mapRng = view.findViewById(R.id.map_rng) } private fun setupComponents() { @@ -170,6 +177,7 @@ class MapViewFragment : Fragment() { val currentTime = getDateFor(System.currentTimeMillis()) val orbitalPeriod = (24 * 60 / selectedSat.meanmo).toInt() val positions = predictor.getPositions(currentTime, 60, 0, orbitalPeriod * 3) + setTextViewsToSelectedSatPos(positions[0]) drawGroundTrack(canvas, degLon, degLat, positions) satPassList.forEach { drawSat(canvas, degLon, degLat, it.tle, it.predictor, currentTime) @@ -190,6 +198,18 @@ class MapViewFragment : Fragment() { ) } + private fun setTextViewsToSelectedSatPos(position: SatPos) { + var lon = rad2Deg(position.longitude).toFloat() + val lat = rad2Deg(position.latitude).toFloat() + val rng = position.range + + if (lon > 180f) lon -= 360f + + mapLat.text = String.format(context.getString(R.string.pattern_value_lat), lat) + mapLon.text = String.format(context.getString(R.string.pattern_value_lon), lon) + mapRng.text = String.format(context.getString(R.string.pattern_value_rng), rng) + } + private fun drawGroundTrack( canvas: Canvas, degLon: Float, diff --git a/app/src/main/java/com/rtbishop/look4sat/ui/PolarViewFragment.kt b/app/src/main/java/com/rtbishop/look4sat/ui/PolarViewFragment.kt index b4f7c79b..ddc88ed8 100644 --- a/app/src/main/java/com/rtbishop/look4sat/ui/PolarViewFragment.kt +++ b/app/src/main/java/com/rtbishop/look4sat/ui/PolarViewFragment.kt @@ -170,17 +170,17 @@ class PolarViewFragment : Fragment() { private fun setPassText() { satPos = satPass.predictor.getSatPos(Date()) polarAzimuth.text = String.format( - context.getString(R.string.pattern_polar_azimuth), + context.getString(R.string.pattern_value_az), rad2Deg(satPos.azimuth) ) polarElevation.text = String.format( - context.getString(R.string.pattern_polar_elev), + context.getString(R.string.pattern_value_el), rad2Deg(satPos.elevation) ) polarRange.text = - String.format(context.getString(R.string.pattern_polar_range), satPos.range) + String.format(context.getString(R.string.pattern_value_rng), satPos.range) polarAltitude.text = - String.format(context.getString(R.string.pattern_polar_alt), satPos.altitude) + String.format(context.getString(R.string.pattern_value_alt), satPos.altitude) } private fun drawRadarView(cvs: Canvas) { diff --git a/app/src/main/res/drawable/bg_round_borders.xml b/app/src/main/res/drawable/bg_round_borders.xml new file mode 100644 index 00000000..b45ff052 --- /dev/null +++ b/app/src/main/res/drawable/bg_round_borders.xml @@ -0,0 +1,6 @@ + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_map_view.xml b/app/src/main/res/layout/fragment_map_view.xml index 6aa68080..54c72c25 100644 --- a/app/src/main/res/layout/fragment_map_view.xml +++ b/app/src/main/res/layout/fragment_map_view.xml @@ -21,9 +21,37 @@ android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="bottom|start" - android:layout_marginStart="16dp" - android:layout_marginBottom="16dp" + android:layout_marginStart="8dp" + android:layout_marginBottom="8dp" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintStart_toStartOf="parent" app:srcCompat="@drawable/ic_sat_asc_right" /> + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/values/colors.xml b/app/src/main/res/values/colors.xml index ea0a7951..1c51b148 100644 --- a/app/src/main/res/values/colors.xml +++ b/app/src/main/res/values/colors.xml @@ -4,6 +4,7 @@ #C0C0C0 #191919 #080808 + #CC000000 #D50000 #FFE082 diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index a68176a0..bf5cd6dd 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -99,10 +99,12 @@ MaxEl: %.1f° Az: %2d° -> %2d° - Azimuth: %.1f° - Elevation: %.1f° - Range: %.0f km - Altitude: %.0f km + Az: %.1f° + El: %.1f° + Lat: %.1f° + Lon: %.1f° + Rng: %.0f km + Alt: %.0f km Mode: %s Inverted: %s diff --git a/app/src/main/res/values/styles.xml b/app/src/main/res/values/styles.xml index 38a8a55a..008b5d2f 100644 --- a/app/src/main/res/values/styles.xml +++ b/app/src/main/res/values/styles.xml @@ -93,4 +93,16 @@ 15sp + +