Added ability to toggle UTC times for passes #20

This commit is contained in:
Arty Bishop committed 2020-09-09 21:13:24 +01:00
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)
}
+3
View File
@@ -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>
+3
View File
@@ -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>
+4
View File
@@ -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"