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)
}