mirror of
https://github.com/atsunatsu/Look4Sat.git
synced 2026-10-04 11:37:22 +00:00
Added polar fragment aos/los timer
This commit is contained in:
1 parent
8eb551fde6
commit
0a124a36e6
2 files changed
+60
-3
No files matched your search
@@ -28,6 +28,7 @@ import android.os.Bundle
|
|||||||
import android.view.View
|
import android.view.View
|
||||||
import androidx.fragment.app.Fragment
|
import androidx.fragment.app.Fragment
|
||||||
import androidx.fragment.app.activityViewModels
|
import androidx.fragment.app.activityViewModels
|
||||||
|
import androidx.navigation.fragment.findNavController
|
||||||
import androidx.navigation.fragment.navArgs
|
import androidx.navigation.fragment.navArgs
|
||||||
import androidx.recyclerview.widget.LinearLayoutManager
|
import androidx.recyclerview.widget.LinearLayoutManager
|
||||||
import com.rtbishop.look4sat.R
|
import com.rtbishop.look4sat.R
|
||||||
@@ -39,6 +40,7 @@ import com.rtbishop.look4sat.ui.adapters.TransAdapter
|
|||||||
import com.rtbishop.look4sat.ui.views.PolarView
|
import com.rtbishop.look4sat.ui.views.PolarView
|
||||||
import com.rtbishop.look4sat.utility.PrefsManager
|
import com.rtbishop.look4sat.utility.PrefsManager
|
||||||
import com.rtbishop.look4sat.utility.RecyclerDivider
|
import com.rtbishop.look4sat.utility.RecyclerDivider
|
||||||
|
import com.rtbishop.look4sat.utility.Utilities
|
||||||
import dagger.hilt.android.AndroidEntryPoint
|
import dagger.hilt.android.AndroidEntryPoint
|
||||||
import java.util.*
|
import java.util.*
|
||||||
import javax.inject.Inject
|
import javax.inject.Inject
|
||||||
@@ -135,14 +137,15 @@ class PolarFragment : Fragment(R.layout.fragment_polar), SensorEventListener {
|
|||||||
|
|
||||||
private fun observeTimer() {
|
private fun observeTimer() {
|
||||||
viewModel.getCurrentTimeMillis().observe(viewLifecycleOwner, {
|
viewModel.getCurrentTimeMillis().observe(viewLifecycleOwner, {
|
||||||
setPassText(Date(it))
|
setPassText(it)
|
||||||
polarView?.invalidate()
|
polarView?.invalidate()
|
||||||
transmitterAdapter.notifyDataSetChanged()
|
transmitterAdapter.notifyDataSetChanged()
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun setPassText(date: Date) {
|
private fun setPassText(timeNow: Long) {
|
||||||
val satPos = satPass.predictor.getSatPos(date)
|
val dateNow = Date(timeNow)
|
||||||
|
val satPos = satPass.predictor.getSatPos(dateNow)
|
||||||
val polarAz = getString(R.string.pat_azimuth)
|
val polarAz = getString(R.string.pat_azimuth)
|
||||||
val polarEl = getString(R.string.pat_elevation)
|
val polarEl = getString(R.string.pat_elevation)
|
||||||
val polarRng = getString(R.string.pat_distance)
|
val polarRng = getString(R.string.pat_distance)
|
||||||
@@ -151,5 +154,17 @@ class PolarFragment : Fragment(R.layout.fragment_polar), SensorEventListener {
|
|||||||
binding.elevation.text = String.format(polarEl, Math.toDegrees(satPos.elevation))
|
binding.elevation.text = String.format(polarEl, Math.toDegrees(satPos.elevation))
|
||||||
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)) {
|
||||||
|
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().navigateUp()
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -30,6 +30,48 @@
|
|||||||
app:layout_constraintStart_toStartOf="parent"
|
app:layout_constraintStart_toStartOf="parent"
|
||||||
app:layout_constraintTop_toTopOf="parent" />
|
app:layout_constraintTop_toTopOf="parent" />
|
||||||
|
|
||||||
|
<com.google.android.material.textview.MaterialTextView
|
||||||
|
android:id="@+id/polar_timer"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:elevation="4dp"
|
||||||
|
android:fontFamily="@font/digital_dismay"
|
||||||
|
android:text="@string/timer_zero"
|
||||||
|
android:textColor="@color/themeLight"
|
||||||
|
android:textSize="48sp"
|
||||||
|
app:layout_constraintBottom_toBottomOf="@+id/polar_bar"
|
||||||
|
app:layout_constraintEnd_toEndOf="parent"
|
||||||
|
app:layout_constraintStart_toStartOf="@id/polar_bar"
|
||||||
|
app:layout_constraintTop_toTopOf="parent" />
|
||||||
|
|
||||||
|
<com.google.android.material.textview.MaterialTextView
|
||||||
|
android:id="@+id/textView"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:elevation="4dp"
|
||||||
|
android:fontFamily="@font/digital_dismay"
|
||||||
|
android:text="@string/timer_placeholder"
|
||||||
|
android:textColor="@color/themeLight"
|
||||||
|
android:textSize="48sp"
|
||||||
|
app:layout_constraintBottom_toBottomOf="@+id/polar_timer"
|
||||||
|
app:layout_constraintEnd_toStartOf="@+id/polar_timer"
|
||||||
|
app:layout_constraintStart_toStartOf="parent"
|
||||||
|
app:layout_constraintTop_toTopOf="@+id/polar_timer" />
|
||||||
|
|
||||||
|
<com.google.android.material.textview.MaterialTextView
|
||||||
|
android:id="@+id/textView2"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:elevation="4dp"
|
||||||
|
android:fontFamily="@font/digital_dismay"
|
||||||
|
android:text="@string/timer_placeholder"
|
||||||
|
android:textColor="@color/themeLight"
|
||||||
|
android:textSize="48sp"
|
||||||
|
app:layout_constraintBottom_toBottomOf="@+id/polar_timer"
|
||||||
|
app:layout_constraintEnd_toEndOf="parent"
|
||||||
|
app:layout_constraintStart_toEndOf="@+id/polar_timer"
|
||||||
|
app:layout_constraintTop_toTopOf="@+id/polar_timer" />
|
||||||
|
|
||||||
<FrameLayout
|
<FrameLayout
|
||||||
android:id="@+id/frame"
|
android:id="@+id/frame"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
|
|||||||
Reference in new issue
Block a user