Removed unnecessary preferences and keys

This commit is contained in:
Arty Bishop committed 2020-10-06 23:24:16 +01:00
1 parent 3cd8516d88
commit f943268035
7 files changed
+25 -79

No files matched your search

@@ -55,7 +55,6 @@ class SharedViewModel @Inject constructor(
fun getGSP(): LiveData<Result<GroundStationPosition>> = _gsp
fun getCompass() = prefsManager.getCompass()
fun getRefreshRate() = prefsManager.getRefreshRate()
fun getHoursAhead() = prefsManager.getHoursAhead()
fun getMinElevation() = prefsManager.getMinElevation()
suspend fun getAllEntries() = repository.getAllEntries()
@@ -108,12 +108,11 @@ class PolarFragment : Fragment(R.layout.fragment_polar), SensorEventListener {
private fun observePasses() {
viewModel.getPassList().observe(viewLifecycleOwner, { result ->
if (result is Result.Success) {
val refreshRate = viewModel.getRefreshRate()
satPass = result.data[args.satPassIndex]
polarView = PolarView(mainActivity, satPass)
binding.frame.addView(polarView)
observeTransmitters()
refreshText(refreshRate)
refreshText()
}
})
}
@@ -147,13 +146,13 @@ class PolarFragment : Fragment(R.layout.fragment_polar), SensorEventListener {
})
}
private fun refreshText(rate: Long) {
private fun refreshText() {
lifecycleScope.launch {
while (true) {
setPassText()
polarView?.invalidate()
transmitterAdapter.notifyDataSetChanged()
delay(rate)
delay(3000)
}
}
}
@@ -26,24 +26,16 @@ import androidx.preference.EditTextPreference
import androidx.preference.PreferenceFragmentCompat
import com.rtbishop.look4sat.R
import com.rtbishop.look4sat.utility.Extensions.snack
import com.rtbishop.look4sat.utility.PrefsManager
class PrefsFragment : PreferenceFragmentCompat(),
SharedPreferences.OnSharedPreferenceChangeListener {
private lateinit var keyLat: String
private lateinit var keyLon: String
private lateinit var keyAlt: String
private lateinit var keyDelay: String
override fun onCreatePreferences(savedInstanceState: Bundle?, rootKey: String?) {
setPreferencesFromResource(R.xml.preference, rootKey)
val provider = EditTextPreference.SimpleSummaryProvider.getInstance()
keyLat = preferenceManager.context.getString(R.string.pref_lat_key)
keyLon = preferenceManager.context.getString(R.string.pref_lon_key)
keyAlt = preferenceManager.context.getString(R.string.pref_alt_key)
keyDelay = preferenceManager.context.getString(R.string.pref_refresh_rate_key)
findPreference<EditTextPreference>(keyLat)?.apply {
findPreference<EditTextPreference>(PrefsManager.keyLatitude)?.apply {
summaryProvider = provider
setOnBindEditTextListener {
it.inputType = InputType.TYPE_CLASS_NUMBER or
@@ -60,7 +52,7 @@ class PrefsFragment : PreferenceFragmentCompat(),
}
}
findPreference<EditTextPreference>(keyLon)?.apply {
findPreference<EditTextPreference>(PrefsManager.keyLongitude)?.apply {
summaryProvider = provider
setOnBindEditTextListener {
it.inputType = InputType.TYPE_CLASS_NUMBER or
@@ -77,7 +69,7 @@ class PrefsFragment : PreferenceFragmentCompat(),
}
}
findPreference<EditTextPreference>(keyAlt)?.apply {
findPreference<EditTextPreference>(PrefsManager.keyAltitude)?.apply {
summaryProvider = provider
setOnBindEditTextListener {
it.inputType = InputType.TYPE_CLASS_NUMBER or
@@ -93,19 +85,6 @@ class PrefsFragment : PreferenceFragmentCompat(),
return@setOnPreferenceChangeListener true
}
}
findPreference<EditTextPreference>(keyDelay)?.apply {
summaryProvider = provider
setOnBindEditTextListener { it.inputType = InputType.TYPE_CLASS_NUMBER }
setOnPreferenceChangeListener { _, newValue ->
val valueStr = newValue.toString()
if (valueStr.isEmpty() || valueStr.toLong() < 250 || valueStr.toLong() > 10000) {
getString(R.string.pref_refresh_rate_input_error).snack(requireView())
return@setOnPreferenceChangeListener false
}
return@setOnPreferenceChangeListener true
}
}
}
override fun onSharedPreferenceChanged(sharedPreferences: SharedPreferences?, key: String?) {}
@@ -30,21 +30,21 @@ class PrefsManager @Inject constructor(
private val preferences: SharedPreferences,
private val locationManager: LocationManager
) {
private val keyHoursAhead = "hoursAhead"
private val keyMinElevation = "minEl"
private val keyLatitude = "latitude"
private val keyLongitude = "longitude"
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"
private val defaultGSP = "0.0"
companion object {
const val keyHoursAhead = "hoursAhead"
const val keyMinElevation = "minEl"
const val keyLatitude = "latitude"
const val keyLongitude = "longitude"
const val keyAltitude = "altitude"
const val keyCompass = "compass"
const val keyTimeUtc = "timeUTC"
const val defaultHoursAhead = 8
const val defaultMinEl = 16.0
const val defaultGSP = "0.0"
const val keyIsFirstLaunch = "keyIsFirstLaunch"
}
fun isFirstLaunch(): Boolean {
val keyIsFirstLaunch = "keyIsFirstLaunch"
val isFirstLaunch = preferences.getBoolean(keyIsFirstLaunch, true)
return if (isFirstLaunch) {
preferences.edit {
@@ -67,10 +67,6 @@ class PrefsManager @Inject constructor(
return preferences.getDouble(keyMinElevation, defaultMinEl)
}
fun getRefreshRate(): Long {
return preferences.getString(keyRefreshRate, defaultRefreshRate)!!.toLong()
}
fun getCompass(): Boolean {
return preferences.getBoolean(keyCompass, true)
}
-4
View File
@@ -47,11 +47,7 @@
<string name="pref_alt_title">Высота, м</string>
<string name="pref_alt_input_error">Введите значение между -413м и 8850м</string>
<string name="pref_other_title">Другие настройки</string>
<string name="pref_refresh_rate_title">Частота обновления, мс</string>
<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>
-11
View File
@@ -33,33 +33,22 @@
<string name="dialog_tle_sources">Manage TLE sources</string>
<string name="dialog_entries_hint">Name/CatNum</string>
<string name="pref_hours_ahead_key" translatable="false">hoursAhead</string>
<string name="pref_hours_ahead_hint">Hours ahead</string>
<string name="pref_hours_ahead_summary">Show passes that occur within X hours</string>
<string name="pref_hours_ahead_input_error">Set the value between 1h and 168h</string>
<string name="pref_min_el_key" translatable="false">minEl</string>
<string name="pref_min_el_hint">Minimum elevation</string>
<string name="pref_min_el_summary">Show passes with max elevation above</string>
<string name="pref_min_el_input_error">Set the value between 0° and 90°</string>
<string name="pref_gsp_title">Ground station position</string>
<string name="pref_lat_key" translatable="false">latitude</string>
<string name="pref_lat_title">Latitude, deg</string>
<string name="pref_lat_input_error">Set the value between -90° and 90°</string>
<string name="pref_lon_key" translatable="false">longitude</string>
<string name="pref_lon_title">Longitude, deg</string>
<string name="pref_lon_input_error">Set the value between -180° and 180°</string>
<string name="pref_alt_key" translatable="false">altitude</string>
<string name="pref_alt_title">Altitude, m</string>
<string name="pref_alt_input_error">Set the value between -413m and 8850m</string>
<string name="pref_other_title">Other</string>
<string name="pref_refresh_rate_key" translatable="false">rate</string>
<string name="pref_refresh_rate_title">Refresh rate, ms</string>
<string name="pref_refresh_rate_input_error">Set the value between 250ms and 10000ms</string>
<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>
+5 -17
View File
@@ -21,37 +21,25 @@
<PreferenceCategory android:title="@string/pref_gsp_title">
<EditTextPreference
android:defaultValue="0.0"
android:key="@string/pref_lat_key"
android:selectAllOnFocus="true"
android:singleLine="true"
android:key="latitude"
android:title="@string/pref_lat_title" />
<EditTextPreference
android:defaultValue="0.0"
android:key="@string/pref_lon_key"
android:selectAllOnFocus="true"
android:singleLine="true"
android:key="longitude"
android:title="@string/pref_lon_title" />
<EditTextPreference
android:defaultValue="0.0"
android:key="@string/pref_alt_key"
android:selectAllOnFocus="true"
android:singleLine="true"
android:key="altitude"
android:title="@string/pref_alt_title" />
</PreferenceCategory>
<PreferenceCategory android:title="@string/pref_other_title">
<EditTextPreference
android:defaultValue="3000"
android:key="@string/pref_refresh_rate_key"
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:key="timeUTC"
android:title="@string/pref_time_utc_title" />
<SwitchPreference
android:defaultValue="true"
android:key="@string/pref_compass_key"
android:key="compass"
android:title="@string/pref_compass_title" />
</PreferenceCategory>
</PreferenceScreen>