mirror of
https://github.com/atsunatsu/Look4Sat.git
synced 2026-10-02 03:15:37 +00:00
Minor changes to view holders and PolarFragment.kt
This commit is contained in:
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)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -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>
|
||||||
@@ -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"
|
||||||
|
|||||||
@@ -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>
|
||||||
|
|||||||
@@ -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>
|
||||||
|
|||||||
Reference in new issue
Block a user