mirror of
https://github.com/atsunatsu/Look4Sat.git
synced 2026-10-02 03:15:37 +00:00
Added ability to toggle UTC times for passes #20
This commit is contained in:
1 parent
f338a0501f
commit
bc191753b0
6 files changed
+32
-8
No files matched your search
@@ -30,10 +30,14 @@ import com.rtbishop.look4sat.data.SatPass
|
||||
import com.rtbishop.look4sat.databinding.ItemPassGeoBinding
|
||||
import com.rtbishop.look4sat.databinding.ItemPassLeoBinding
|
||||
import com.rtbishop.look4sat.ui.fragments.PassListFragmentDirections
|
||||
import com.rtbishop.look4sat.utility.PrefsManager
|
||||
import java.text.SimpleDateFormat
|
||||
import java.util.*
|
||||
|
||||
class SatPassAdapter(private var satPassList: MutableList<SatPass>) :
|
||||
class SatPassAdapter(
|
||||
private var satPassList: MutableList<SatPass>,
|
||||
private val prefsManager: PrefsManager
|
||||
) :
|
||||
RecyclerView.Adapter<RecyclerView.ViewHolder>() {
|
||||
|
||||
fun setList(list: MutableList<SatPass>) {
|
||||
@@ -111,14 +115,14 @@ class SatPassAdapter(private var satPassList: MutableList<SatPass>) :
|
||||
String.format(context.getString(R.string.pass_aos_az), satPass.pass.aosAzimuth)
|
||||
binding.passLeoLosAz.text =
|
||||
String.format(context.getString(R.string.pass_los_az), satPass.pass.losAzimuth)
|
||||
binding.passLeoAosTime.text =
|
||||
SimpleDateFormat(context.getString(R.string.pass_dateTime), Locale.getDefault())
|
||||
.format(satPass.pass.startTime)
|
||||
binding.passLeoLosTime.text =
|
||||
SimpleDateFormat(context.getString(R.string.pass_dateTime), Locale.getDefault())
|
||||
.format(satPass.pass.endTime)
|
||||
binding.passLeoProgress.progress = satPass.progress
|
||||
|
||||
val dateFormat =
|
||||
SimpleDateFormat(context.getString(R.string.pass_dateTime), Locale.getDefault())
|
||||
if (prefsManager.isTimeUTC()) dateFormat.timeZone = TimeZone.getTimeZone("UTC")
|
||||
binding.passLeoAosTime.text = dateFormat.format(satPass.pass.startTime)
|
||||
binding.passLeoLosTime.text = dateFormat.format(satPass.pass.endTime)
|
||||
|
||||
itemView.setOnClickListener {
|
||||
val passIndex = satPassList.indexOf(satPass)
|
||||
val action = PassListFragmentDirections.actionPassToPolar(passIndex)
|
||||
|
||||
@@ -46,6 +46,7 @@ import com.rtbishop.look4sat.ui.MainActivity
|
||||
import com.rtbishop.look4sat.ui.SharedViewModel
|
||||
import com.rtbishop.look4sat.ui.adapters.SatPassAdapter
|
||||
import com.rtbishop.look4sat.utility.GeneralUtils.toast
|
||||
import com.rtbishop.look4sat.utility.PrefsManager
|
||||
import kotlinx.coroutines.launch
|
||||
import java.util.*
|
||||
import java.util.concurrent.TimeUnit
|
||||
@@ -55,6 +56,10 @@ class PassListFragment : Fragment(R.layout.fragment_pass_list) {
|
||||
|
||||
@Inject
|
||||
lateinit var modelFactory: ViewModelFactory
|
||||
|
||||
@Inject
|
||||
lateinit var prefsManager: PrefsManager
|
||||
|
||||
private lateinit var viewModel: SharedViewModel
|
||||
private lateinit var satPassAdapter: SatPassAdapter
|
||||
private lateinit var btnPassPrefs: ImageButton
|
||||
@@ -81,7 +86,7 @@ class PassListFragment : Fragment(R.layout.fragment_pass_list) {
|
||||
mainActivity = activity as MainActivity
|
||||
(mainActivity.application as Look4SatApp).appComponent.inject(this)
|
||||
viewModel = ViewModelProvider(mainActivity, modelFactory).get(SharedViewModel::class.java)
|
||||
satPassAdapter = SatPassAdapter(satPassList)
|
||||
satPassAdapter = SatPassAdapter(satPassList, prefsManager)
|
||||
aosTimerText = mainActivity.findViewById(R.id.toolbar_timer)
|
||||
btnPassPrefs = mainActivity.findViewById(R.id.toolbar_filter)
|
||||
|
||||
|
||||
@@ -37,6 +37,7 @@ class PrefsManager @Inject constructor(
|
||||
private val keyAltitude = "altitude"
|
||||
private val keyRefreshRate = "rate"
|
||||
private val keyCompass = "compass"
|
||||
private val keyTimeUtc = "timeUTC"
|
||||
private val defaultHoursAhead = 8
|
||||
private val defaultMinEl = 16.0
|
||||
private val defaultRefreshRate = "3000"
|
||||
@@ -54,6 +55,10 @@ class PrefsManager @Inject constructor(
|
||||
} else isFirstLaunch
|
||||
}
|
||||
|
||||
fun isTimeUTC(): Boolean {
|
||||
return preferences.getBoolean(keyTimeUtc, false)
|
||||
}
|
||||
|
||||
fun getHoursAhead(): Int {
|
||||
return preferences.getInt(keyHoursAhead, defaultHoursAhead)
|
||||
}
|
||||
|
||||
@@ -62,6 +62,9 @@
|
||||
<string name="pref_refresh_rate_input_error">Введите значение между 250мс и 10000мс</string>
|
||||
<string name="pref_compass_title">Использовать компас при отображении полярных координат</string>
|
||||
|
||||
<string name="pref_time_utc_key" translatable="false">timeUTC</string>
|
||||
<string name="pref_time_utc_title">Показывать время пролёта по UTC</string>
|
||||
|
||||
<string name="no_mode">Модуляция: нет</string>
|
||||
<string name="no_uplink">Восход.: нет</string>
|
||||
<string name="no_downlink">Нисход.: нет</string>
|
||||
|
||||
@@ -72,6 +72,9 @@
|
||||
<string name="pref_compass_key" translatable="false">compass</string>
|
||||
<string name="pref_compass_title">Use sensors to rotate PolarView</string>
|
||||
|
||||
<string name="pref_time_utc_key" translatable="false">timeUTC</string>
|
||||
<string name="pref_time_utc_title">Show pass time in UTC</string>
|
||||
|
||||
<string name="no_mode">Mode: null</string>
|
||||
<string name="no_uplink">Uplink: null</string>
|
||||
<string name="no_downlink">Downlink: null</string>
|
||||
|
||||
@@ -45,6 +45,10 @@
|
||||
android:selectAllOnFocus="true"
|
||||
android:singleLine="true"
|
||||
android:title="@string/pref_refresh_rate_title" />
|
||||
<SwitchPreference
|
||||
android:defaultValue="false"
|
||||
android:key="@string/pref_time_utc_key"
|
||||
android:title="@string/pref_time_utc_title" />
|
||||
<SwitchPreference
|
||||
android:defaultValue="true"
|
||||
android:key="@string/pref_compass_key"
|
||||
|
||||
Reference in new issue
Block a user