Minor changes to view holders and PolarFragment.kt

This commit is contained in:
Arty Bishop committed 2020-11-25 21:58:51 +00:00
1 parent fde0159a21
commit 59771bd0b3
6 files changed
+28 -25

No files matched your search

@@ -35,6 +35,7 @@ import java.util.*
class PassesAdapter(context: Context, private val shouldUseUTC: Boolean = false) : class PassesAdapter(context: Context, private val shouldUseUTC: Boolean = false) :
RecyclerView.Adapter<RecyclerView.ViewHolder>() { RecyclerView.Adapter<RecyclerView.ViewHolder>() {
private val currentDate = Date()
private val satIdFormat = context.getString(R.string.pass_satId) private val satIdFormat = context.getString(R.string.pass_satId)
private val azFormat = context.getString(R.string.pat_azimuth) private val azFormat = context.getString(R.string.pat_azimuth)
private val altFormat = context.getString(R.string.pat_altitude) 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 maxElFormat = context.getString(R.string.pass_maxEl)
private val losAzFormat = context.getString(R.string.pass_losAz) private val losAzFormat = context.getString(R.string.pass_losAz)
private val startTimeFormat = context.getString(R.string.pass_startTime) 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 endTimeFormat = context.getString(R.string.pass_endTime)
private val timeZoneUTC = TimeZone.getTimeZone("UTC") private val timeZoneUTC = TimeZone.getTimeZone("UTC")
private val startFormat = SimpleDateFormat(startTimeFormat, Locale.getDefault()) private val startFormat = SimpleDateFormat(startTimeFormat, Locale.getDefault())
private val tcaFormat = SimpleDateFormat(tcaTimeFormat, Locale.getDefault())
private val endFormat = SimpleDateFormat(endTimeFormat, Locale.getDefault()) private val endFormat = SimpleDateFormat(endTimeFormat, Locale.getDefault())
private var satPassList: MutableList<SatPass> = mutableListOf() private var satPassList: MutableList<SatPass> = mutableListOf()
@@ -57,6 +56,7 @@ class PassesAdapter(context: Context, private val shouldUseUTC: Boolean = false)
} }
fun tickPasses(timeNow: Long) { fun tickPasses(timeNow: Long) {
currentDate.time = timeNow
val iterator = satPassList.listIterator() val iterator = satPassList.listIterator()
while (iterator.hasNext()) { while (iterator.hasNext()) {
val satPass = iterator.next() val satPass = iterator.next()
@@ -114,10 +114,10 @@ class PassesAdapter(context: Context, private val shouldUseUTC: Boolean = false)
RecyclerView.ViewHolder(binding.root) { RecyclerView.ViewHolder(binding.root) {
fun bind(satPass: SatPass) { fun bind(satPass: SatPass) {
val satPos = satPass.predictor.getSatPos(currentDate)
binding.apply { binding.apply {
if (shouldUseUTC) { if (shouldUseUTC) {
startFormat.timeZone = timeZoneUTC startFormat.timeZone = timeZoneUTC
tcaFormat.timeZone = timeZoneUTC
endFormat.timeZone = timeZoneUTC endFormat.timeZone = timeZoneUTC
} }
passLeoSatName.text = satPass.tle.name 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) passLeoMaxEl.text = String.format(maxElFormat, satPass.pass.maxEl)
passLeoLosAz.text = String.format(losAzFormat, satPass.pass.losAzimuth) passLeoLosAz.text = String.format(losAzFormat, satPass.pass.losAzimuth)
passLeoStart.text = startFormat.format(satPass.pass.startTime) 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) passLeoEnd.text = endFormat.format(satPass.pass.endTime)
passLeoProgress.progress = satPass.progress passLeoProgress.progress = satPass.progress
} }
@@ -144,7 +144,7 @@ class PassesAdapter(context: Context, private val shouldUseUTC: Boolean = false)
RecyclerView.ViewHolder(binding.root) { RecyclerView.ViewHolder(binding.root) {
fun bind(satPass: SatPass) { fun bind(satPass: SatPass) {
val satPos = satPass.predictor.getSatPos(Date()) val satPos = satPass.predictor.getSatPos(currentDate)
binding.apply { binding.apply {
passGeoSatName.text = satPass.tle.name passGeoSatName.text = satPass.tle.name
passGeoSatId.text = String.format(satIdFormat, satPass.tle.catnum) passGeoSatId.text = String.format(satIdFormat, satPass.tle.catnum)
@@ -154,16 +154,20 @@ class PolarFragment : Fragment(R.layout.fragment_polar), SensorEventListener {
binding.distance.text = String.format(polarRng, satPos.range) binding.distance.text = String.format(polarRng, satPos.range)
binding.altitude.text = String.format(polarAlt, satPos.altitude) binding.altitude.text = String.format(polarAlt, satPos.altitude)
if (dateNow.before(satPass.pass.startTime)) { if (!satPass.tle.isDeepspace) {
val millisBeforeStart = satPass.pass.startTime.time.minus(timeNow) if (dateNow.before(satPass.pass.startTime)) {
binding.polarTimer.text = Utilities.formatForTimer(millisBeforeStart) val millisBeforeStart = satPass.pass.startTime.time.minus(timeNow)
} else { binding.polarTimer.text = Utilities.formatForTimer(millisBeforeStart)
val millisBeforeEnd = satPass.pass.endTime.time.minus(timeNow) } else {
binding.polarTimer.text = Utilities.formatForTimer(millisBeforeEnd) val millisBeforeEnd = satPass.pass.endTime.time.minus(timeNow)
if (dateNow.after(satPass.pass.endTime)) { binding.polarTimer.text = Utilities.formatForTimer(millisBeforeEnd)
binding.polarTimer.text = Utilities.formatForTimer(0L) if (dateNow.after(satPass.pass.endTime)) {
findNavController().navigate(R.id.action_polar_to_passes) binding.polarTimer.text = Utilities.formatForTimer(0L)
findNavController().navigate(R.id.action_polar_to_passes)
}
} }
} else {
binding.polarTimer.text = Utilities.formatForTimer(0L)
} }
} }
} }
+3 -3
View File
@@ -103,10 +103,10 @@
app:layout_constraintTop_toBottomOf="@+id/pass_leo_aosAz" /> app:layout_constraintTop_toBottomOf="@+id/pass_leo_aosAz" />
<com.google.android.material.textview.MaterialTextView <com.google.android.material.textview.MaterialTextView
android:id="@+id/pass_leo_tca" android:id="@+id/pass_leo_alt"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:text="@string/pass_tcaTime" android:text="@string/pat_altitude"
app:layout_constraintBaseline_toBaselineOf="@+id/pass_leo_start" app:layout_constraintBaseline_toBaselineOf="@+id/pass_leo_start"
app:layout_constraintEnd_toEndOf="@+id/pass_leo_end" app:layout_constraintEnd_toEndOf="@+id/pass_leo_end"
app:layout_constraintStart_toStartOf="@+id/pass_leo_start" /> app:layout_constraintStart_toStartOf="@+id/pass_leo_start" />
@@ -130,7 +130,7 @@
app:layout_constraintBottom_toBottomOf="@+id/pass_leo_bg" app:layout_constraintBottom_toBottomOf="@+id/pass_leo_bg"
app:layout_constraintEnd_toEndOf="@+id/pass_leo_end" app:layout_constraintEnd_toEndOf="@+id/pass_leo_end"
app:layout_constraintStart_toStartOf="@+id/pass_leo_start" app:layout_constraintStart_toStartOf="@+id/pass_leo_start"
app:layout_constraintTop_toBottomOf="@+id/pass_leo_tca" /> app:layout_constraintTop_toBottomOf="@+id/pass_leo_alt" />
</androidx.constraintlayout.widget.ConstraintLayout> </androidx.constraintlayout.widget.ConstraintLayout>
</com.google.android.material.card.MaterialCardView> </com.google.android.material.card.MaterialCardView>
+1 -1
View File
@@ -75,7 +75,7 @@
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginStart="6dp" android:layout_marginStart="6dp"
android:layout_marginTop="4dp" android:layout_marginTop="4dp"
android:layout_marginBottom="2dp" android:layout_marginBottom="4dp"
android:text="@string/trans_mode" android:text="@string/trans_mode"
android:textSize="15sp" android:textSize="15sp"
app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintBottom_toBottomOf="parent"
+2 -2
View File
@@ -40,9 +40,9 @@
<string name="passes_error">Нет выбранных спутников</string> <string name="passes_error">Нет выбранных спутников</string>
<string name="pass_aosAz">НПС — %2d°</string> <string name="pass_aosAz">НПС - %2d°</string>
<string name="pass_maxEl">МаксЭлев: %.1f°</string> <string name="pass_maxEl">МаксЭлев: %.1f°</string>
<string name="pass_losAz">%2d° — КПС</string> <string name="pass_losAz">%2d° - КПС</string>
<string name="trans_mode">Модуляция: %s</string> <string name="trans_mode">Модуляция: %s</string>
<string name="trans_no_mode">Модуляция: нет</string> <string name="trans_no_mode">Модуляция: нет</string>
+4 -5
View File
@@ -48,12 +48,11 @@
<string name="pass_satName" translatable="false">%s</string> <string name="pass_satName" translatable="false">%s</string>
<string name="pass_satId" translatable="false">Id:%d</string> <string name="pass_satId" translatable="false">Id:%d</string>
<string name="pass_aosAz">AOS — %2d°</string> <string name="pass_aosAz">AOS - %2d°</string>
<string name="pass_maxEl">MaxEl: %.1f°</string> <string name="pass_maxEl">MaxEl: %.1f°</string>
<string name="pass_losAz">%2d° — LOS</string> <string name="pass_losAz">%2d° - LOS</string>
<string name="pass_startTime" translatable="false">EEE — HH:mm:ss</string> <string name="pass_startTime" translatable="false">HH:mm:ss - EEE</string>
<string name="pass_tcaTime" translatable="false">HH:mm:ss</string> <string name="pass_endTime" translatable="false">EEE - HH:mm:ss</string>
<string name="pass_endTime" translatable="false">HH:mm:ss — EEE</string>
<string name="trans_mode">Mode: %s</string> <string name="trans_mode">Mode: %s</string>
<string name="trans_no_mode">Mode: null</string> <string name="trans_no_mode">Mode: null</string>