diff --git a/app/src/main/java/com/rtbishop/look4sat/ui/adapters/PassesAdapter.kt b/app/src/main/java/com/rtbishop/look4sat/ui/adapters/PassesAdapter.kt index 901f8ef4..15923690 100644 --- a/app/src/main/java/com/rtbishop/look4sat/ui/adapters/PassesAdapter.kt +++ b/app/src/main/java/com/rtbishop/look4sat/ui/adapters/PassesAdapter.kt @@ -35,6 +35,7 @@ import java.util.* class PassesAdapter(context: Context, private val shouldUseUTC: Boolean = false) : RecyclerView.Adapter() { + private val currentDate = Date() private val satIdFormat = context.getString(R.string.pass_satId) private val azFormat = context.getString(R.string.pat_azimuth) private val altFormat = context.getString(R.string.pat_altitude) @@ -43,11 +44,9 @@ class PassesAdapter(context: Context, private val shouldUseUTC: Boolean = false) private val maxElFormat = context.getString(R.string.pass_maxEl) private val losAzFormat = context.getString(R.string.pass_losAz) private val startTimeFormat = context.getString(R.string.pass_startTime) - private val tcaTimeFormat = context.getString(R.string.pass_tcaTime) private val endTimeFormat = context.getString(R.string.pass_endTime) private val timeZoneUTC = TimeZone.getTimeZone("UTC") private val startFormat = SimpleDateFormat(startTimeFormat, Locale.getDefault()) - private val tcaFormat = SimpleDateFormat(tcaTimeFormat, Locale.getDefault()) private val endFormat = SimpleDateFormat(endTimeFormat, Locale.getDefault()) private var satPassList: MutableList = mutableListOf() @@ -57,6 +56,7 @@ class PassesAdapter(context: Context, private val shouldUseUTC: Boolean = false) } fun tickPasses(timeNow: Long) { + currentDate.time = timeNow val iterator = satPassList.listIterator() while (iterator.hasNext()) { val satPass = iterator.next() @@ -114,10 +114,10 @@ class PassesAdapter(context: Context, private val shouldUseUTC: Boolean = false) RecyclerView.ViewHolder(binding.root) { fun bind(satPass: SatPass) { + val satPos = satPass.predictor.getSatPos(currentDate) binding.apply { if (shouldUseUTC) { startFormat.timeZone = timeZoneUTC - tcaFormat.timeZone = timeZoneUTC endFormat.timeZone = timeZoneUTC } passLeoSatName.text = satPass.tle.name @@ -126,7 +126,7 @@ class PassesAdapter(context: Context, private val shouldUseUTC: Boolean = false) passLeoMaxEl.text = String.format(maxElFormat, satPass.pass.maxEl) passLeoLosAz.text = String.format(losAzFormat, satPass.pass.losAzimuth) passLeoStart.text = startFormat.format(satPass.pass.startTime) - passLeoTca.text = tcaFormat.format(satPass.pass.tca) + passLeoAlt.text = String.format(altFormat, satPos.altitude) passLeoEnd.text = endFormat.format(satPass.pass.endTime) passLeoProgress.progress = satPass.progress } @@ -144,7 +144,7 @@ class PassesAdapter(context: Context, private val shouldUseUTC: Boolean = false) RecyclerView.ViewHolder(binding.root) { fun bind(satPass: SatPass) { - val satPos = satPass.predictor.getSatPos(Date()) + val satPos = satPass.predictor.getSatPos(currentDate) binding.apply { passGeoSatName.text = satPass.tle.name passGeoSatId.text = String.format(satIdFormat, satPass.tle.catnum) diff --git a/app/src/main/java/com/rtbishop/look4sat/ui/mainScreen/PolarFragment.kt b/app/src/main/java/com/rtbishop/look4sat/ui/mainScreen/PolarFragment.kt index ef6a2eb2..fb5e3a5b 100644 --- a/app/src/main/java/com/rtbishop/look4sat/ui/mainScreen/PolarFragment.kt +++ b/app/src/main/java/com/rtbishop/look4sat/ui/mainScreen/PolarFragment.kt @@ -154,16 +154,20 @@ class PolarFragment : Fragment(R.layout.fragment_polar), SensorEventListener { binding.distance.text = String.format(polarRng, satPos.range) binding.altitude.text = String.format(polarAlt, satPos.altitude) - if (dateNow.before(satPass.pass.startTime)) { - val millisBeforeStart = satPass.pass.startTime.time.minus(timeNow) - binding.polarTimer.text = Utilities.formatForTimer(millisBeforeStart) - } else { - val millisBeforeEnd = satPass.pass.endTime.time.minus(timeNow) - binding.polarTimer.text = Utilities.formatForTimer(millisBeforeEnd) - if (dateNow.after(satPass.pass.endTime)) { - binding.polarTimer.text = Utilities.formatForTimer(0L) - findNavController().navigate(R.id.action_polar_to_passes) + if (!satPass.tle.isDeepspace) { + if (dateNow.before(satPass.pass.startTime)) { + val millisBeforeStart = satPass.pass.startTime.time.minus(timeNow) + binding.polarTimer.text = Utilities.formatForTimer(millisBeforeStart) + } else { + val millisBeforeEnd = satPass.pass.endTime.time.minus(timeNow) + binding.polarTimer.text = Utilities.formatForTimer(millisBeforeEnd) + if (dateNow.after(satPass.pass.endTime)) { + binding.polarTimer.text = Utilities.formatForTimer(0L) + findNavController().navigate(R.id.action_polar_to_passes) + } } + } else { + binding.polarTimer.text = Utilities.formatForTimer(0L) } } } diff --git a/app/src/main/res/layout/item_pass_leo.xml b/app/src/main/res/layout/item_pass_leo.xml index d55e2f5d..6bb8501a 100644 --- a/app/src/main/res/layout/item_pass_leo.xml +++ b/app/src/main/res/layout/item_pass_leo.xml @@ -103,10 +103,10 @@ app:layout_constraintTop_toBottomOf="@+id/pass_leo_aosAz" /> @@ -130,7 +130,7 @@ app:layout_constraintBottom_toBottomOf="@+id/pass_leo_bg" app:layout_constraintEnd_toEndOf="@+id/pass_leo_end" app:layout_constraintStart_toStartOf="@+id/pass_leo_start" - app:layout_constraintTop_toBottomOf="@+id/pass_leo_tca" /> + app:layout_constraintTop_toBottomOf="@+id/pass_leo_alt" /> diff --git a/app/src/main/res/layout/item_trans.xml b/app/src/main/res/layout/item_trans.xml index 2b80d887..b99b068c 100644 --- a/app/src/main/res/layout/item_trans.xml +++ b/app/src/main/res/layout/item_trans.xml @@ -75,7 +75,7 @@ android:layout_height="wrap_content" android:layout_marginStart="6dp" android:layout_marginTop="4dp" - android:layout_marginBottom="2dp" + android:layout_marginBottom="4dp" android:text="@string/trans_mode" android:textSize="15sp" app:layout_constraintBottom_toBottomOf="parent" diff --git a/app/src/main/res/values-ru/strings.xml b/app/src/main/res/values-ru/strings.xml index df72e2c5..c3d2dc3d 100644 --- a/app/src/main/res/values-ru/strings.xml +++ b/app/src/main/res/values-ru/strings.xml @@ -40,9 +40,9 @@ Нет выбранных спутников - НПС — %2d° + НПС - %2d° МаксЭлев: %.1f° - %2d° — КПС + %2d° - КПС Модуляция: %s Модуляция: нет diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index e5e3382d..c3ff255a 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -48,12 +48,11 @@ %s Id:%d - AOS — %2d° + AOS - %2d° MaxEl: %.1f° - %2d° — LOS - EEE — HH:mm:ss - HH:mm:ss - HH:mm:ss — EEE + %2d° - LOS + HH:mm:ss - EEE + EEE - HH:mm:ss Mode: %s Mode: null