mirror of
https://github.com/rt-bishop/Look4Sat.git
synced 2026-10-05 04:07:29 +00:00
Added preference for PolarView rotation
This commit is contained in:
1 parent
80b62b4658
commit
da0c7e91db
5 files changed
+22
-7
No files matched your search
@@ -55,6 +55,7 @@ class SharedViewModel @Inject constructor(
|
|||||||
fun getUpdateStatus(): LiveData<Result<Int>> = _updateStatus
|
fun getUpdateStatus(): LiveData<Result<Int>> = _updateStatus
|
||||||
fun getGSP(): LiveData<Result<GroundStationPosition>> = _gsp
|
fun getGSP(): LiveData<Result<GroundStationPosition>> = _gsp
|
||||||
|
|
||||||
|
fun getCompass() = prefsManager.getCompass()
|
||||||
fun getRefreshRate() = prefsManager.getRefreshRate()
|
fun getRefreshRate() = prefsManager.getRefreshRate()
|
||||||
fun getHoursAhead() = prefsManager.getHoursAhead()
|
fun getHoursAhead() = prefsManager.getHoursAhead()
|
||||||
fun getMinElevation() = prefsManager.getMinElevation()
|
fun getMinElevation() = prefsManager.getMinElevation()
|
||||||
|
|||||||
@@ -82,17 +82,21 @@ class PolarViewFragment : Fragment(R.layout.fragment_polar_view), SensorEventLis
|
|||||||
|
|
||||||
override fun onResume() {
|
override fun onResume() {
|
||||||
super.onResume()
|
super.onResume()
|
||||||
sensorManager.getDefaultSensor(Sensor.TYPE_ACCELEROMETER).also { accData ->
|
if (viewModel.getCompass()) {
|
||||||
sensorManager.registerListener(this, accData, SensorManager.SENSOR_DELAY_GAME)
|
sensorManager.getDefaultSensor(Sensor.TYPE_ACCELEROMETER).also { accData ->
|
||||||
}
|
sensorManager.registerListener(this, accData, SensorManager.SENSOR_DELAY_GAME)
|
||||||
sensorManager.getDefaultSensor(Sensor.TYPE_MAGNETIC_FIELD).also { magData ->
|
}
|
||||||
sensorManager.registerListener(this, magData, SensorManager.SENSOR_DELAY_GAME)
|
sensorManager.getDefaultSensor(Sensor.TYPE_MAGNETIC_FIELD).also { magData ->
|
||||||
|
sensorManager.registerListener(this, magData, SensorManager.SENSOR_DELAY_GAME)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun onPause() {
|
override fun onPause() {
|
||||||
super.onPause()
|
super.onPause()
|
||||||
sensorManager.unregisterListener(this)
|
if (viewModel.getCompass()) {
|
||||||
|
sensorManager.unregisterListener(this)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun onAccuracyChanged(sensor: Sensor?, accuracy: Int) {}
|
override fun onAccuracyChanged(sensor: Sensor?, accuracy: Int) {}
|
||||||
@@ -152,7 +156,6 @@ class PolarViewFragment : Fragment(R.layout.fragment_polar_view), SensorEventLis
|
|||||||
|
|
||||||
private fun refreshText(rate: Long) {
|
private fun refreshText(rate: Long) {
|
||||||
refreshJob?.cancel()
|
refreshJob?.cancel()
|
||||||
refreshJob = null
|
|
||||||
refreshJob = lifecycleScope.launch {
|
refreshJob = lifecycleScope.launch {
|
||||||
while (true) {
|
while (true) {
|
||||||
setPassText()
|
setPassText()
|
||||||
|
|||||||
@@ -35,6 +35,7 @@ class PrefsManager @Inject constructor(
|
|||||||
private val keyLongitude = "longitude"
|
private val keyLongitude = "longitude"
|
||||||
private val keyAltitude = "altitude"
|
private val keyAltitude = "altitude"
|
||||||
private val keyRefreshRate = "rate"
|
private val keyRefreshRate = "rate"
|
||||||
|
private val keyCompass = "compass"
|
||||||
private val defaultHoursAhead = 8
|
private val defaultHoursAhead = 8
|
||||||
private val defaultMinEl = 16.0
|
private val defaultMinEl = 16.0
|
||||||
private val defaultRefreshRate = "3000"
|
private val defaultRefreshRate = "3000"
|
||||||
@@ -52,6 +53,10 @@ class PrefsManager @Inject constructor(
|
|||||||
return preferences.getString(keyRefreshRate, defaultRefreshRate)!!.toLong()
|
return preferences.getString(keyRefreshRate, defaultRefreshRate)!!.toLong()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
fun getCompass(): Boolean {
|
||||||
|
return preferences.getBoolean(keyCompass, false)
|
||||||
|
}
|
||||||
|
|
||||||
fun getPosition(): GroundStationPosition {
|
fun getPosition(): GroundStationPosition {
|
||||||
val lat = preferences.getString(keyLatitude, defaultGSP)!!.toDouble()
|
val lat = preferences.getString(keyLatitude, defaultGSP)!!.toDouble()
|
||||||
val lon = preferences.getString(keyLongitude, defaultGSP)!!.toDouble()
|
val lon = preferences.getString(keyLongitude, defaultGSP)!!.toDouble()
|
||||||
|
|||||||
@@ -69,6 +69,8 @@
|
|||||||
<string name="pref_refresh_rate_key" translatable="false">rate</string>
|
<string name="pref_refresh_rate_key" translatable="false">rate</string>
|
||||||
<string name="pref_refresh_rate_title">View refresh rate, ms</string>
|
<string name="pref_refresh_rate_title">View refresh rate, ms</string>
|
||||||
<string name="pref_refresh_rate_input_error">Set the value between 250ms and 10000ms</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" translatable="false">Use sensors to rotate PolarView</string>
|
||||||
|
|
||||||
<string name="no_mode">Mode: Null</string>
|
<string name="no_mode">Mode: Null</string>
|
||||||
<string name="no_uplink">Uplink: Null</string>
|
<string name="no_uplink">Uplink: Null</string>
|
||||||
|
|||||||
@@ -45,5 +45,9 @@
|
|||||||
android:selectAllOnFocus="true"
|
android:selectAllOnFocus="true"
|
||||||
android:singleLine="true"
|
android:singleLine="true"
|
||||||
android:title="@string/pref_refresh_rate_title" />
|
android:title="@string/pref_refresh_rate_title" />
|
||||||
|
<SwitchPreference
|
||||||
|
android:defaultValue="false"
|
||||||
|
android:key="@string/pref_compass_key"
|
||||||
|
android:title="@string/pref_compass_title" />
|
||||||
</PreferenceCategory>
|
</PreferenceCategory>
|
||||||
</PreferenceScreen>
|
</PreferenceScreen>
|
||||||
Reference in new issue
Block a user