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) :
RecyclerView.Adapter<RecyclerView.ViewHolder>() {
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<SatPass> = 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)
@@ -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)
}
}
}
+3 -3
View File
@@ -103,10 +103,10 @@
app:layout_constraintTop_toBottomOf="@+id/pass_leo_aosAz" />
<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_height="wrap_content"
android:text="@string/pass_tcaTime"
android:text="@string/pat_altitude"
app:layout_constraintBaseline_toBaselineOf="@+id/pass_leo_start"
app:layout_constraintEnd_toEndOf="@+id/pass_leo_end"
app:layout_constraintStart_toStartOf="@+id/pass_leo_start" />
@@ -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" />
</androidx.constraintlayout.widget.ConstraintLayout>
</com.google.android.material.card.MaterialCardView>
+1 -1
View File
@@ -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"
+2 -2
View File
@@ -40,9 +40,9 @@
<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_losAz">%2d° — КПС</string>
<string name="pass_losAz">%2d° - КПС</string>
<string name="trans_mode">Модуляция: %s</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_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_losAz">%2d° — LOS</string>
<string name="pass_startTime" translatable="false">EEE — HH:mm:ss</string>
<string name="pass_tcaTime" translatable="false">HH:mm:ss</string>
<string name="pass_endTime" translatable="false">HH:mm:ss — EEE</string>
<string name="pass_losAz">%2d° - LOS</string>
<string name="pass_startTime" translatable="false">HH:mm:ss - EEE</string>
<string name="pass_endTime" translatable="false">EEE - HH:mm:ss</string>
<string name="trans_mode">Mode: %s</string>
<string name="trans_no_mode">Mode: null</string>