mirror of
https://github.com/rt-bishop/Look4Sat.git
synced 2026-10-02 03:15:37 +00:00
Added rotator ip address and port checks and error messages
This commit is contained in:
1 parent
e5e5fe7ee7
commit
e27224d9a8
3 files changed
+34
-3
No files matched your search
@@ -21,9 +21,12 @@ import android.Manifest
|
||||
import android.content.pm.PackageManager
|
||||
import android.location.LocationManager
|
||||
import android.os.Bundle
|
||||
import android.text.InputType
|
||||
import android.util.Patterns
|
||||
import android.view.View
|
||||
import androidx.activity.result.contract.ActivityResultContracts
|
||||
import androidx.core.content.ContextCompat
|
||||
import androidx.preference.EditTextPreference
|
||||
import androidx.preference.Preference
|
||||
import androidx.preference.PreferenceFragmentCompat
|
||||
import com.google.android.material.snackbar.Snackbar
|
||||
@@ -72,6 +75,30 @@ class PrefsFragment : PreferenceFragmentCompat() {
|
||||
setPositionFromQth(newValue.toString())
|
||||
}
|
||||
}
|
||||
|
||||
findPreference<EditTextPreference>(PrefsManager.keyRotatorAddress)?.apply {
|
||||
setOnPreferenceChangeListener { _, newValue ->
|
||||
if (Patterns.IP_ADDRESS.matcher(newValue.toString()).matches()) {
|
||||
return@setOnPreferenceChangeListener true
|
||||
} else {
|
||||
showSnack(getString(R.string.tracking_rotator_address_invalid))
|
||||
return@setOnPreferenceChangeListener false
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
findPreference<EditTextPreference>(PrefsManager.keyRotatorPort)?.apply {
|
||||
setOnBindEditTextListener { it.inputType = InputType.TYPE_CLASS_NUMBER }
|
||||
setOnPreferenceChangeListener { _, newValue ->
|
||||
val portValue = newValue.toString()
|
||||
if (portValue.isNotEmpty() && portValue.toInt() in 1024..65535) {
|
||||
return@setOnPreferenceChangeListener true
|
||||
} else {
|
||||
showSnack(getString(R.string.tracking_rotator_port_invalid))
|
||||
return@setOnPreferenceChangeListener false
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private fun setPositionFromQth(qthString: String): Boolean {
|
||||
|
||||
@@ -65,9 +65,11 @@
|
||||
установите позицию наземной станции через меню Настройки</string>
|
||||
|
||||
<string name="tracking_title">Настройки слежения</string>
|
||||
<string name="tracking_rotator_switch">Управление вращателем антенны</string>
|
||||
<string name="tracking_rotator_address">IP адрес вращателя</string>
|
||||
<string name="tracking_rotator_port">Порт вращателя</string>
|
||||
<string name="tracking_rotator_switch">Управление поворотным устройством</string>
|
||||
<string name="tracking_rotator_address">IP адрес поворотного устройства</string>
|
||||
<string name="tracking_rotator_address_invalid">Введён неправильный IP адрес</string>
|
||||
<string name="tracking_rotator_port">Порт поворотного устройства</string>
|
||||
<string name="tracking_rotator_port_invalid">Введите порт в диапазоне от 1024 до 65535</string>
|
||||
|
||||
<string name="info_version">Версия: %s</string>
|
||||
<string name="info_subtitle">Трекер спутников для Android</string>
|
||||
|
||||
@@ -83,7 +83,9 @@
|
||||
<string name="tracking_title">Tracking preferences</string>
|
||||
<string name="tracking_rotator_switch">Antenna rotator control</string>
|
||||
<string name="tracking_rotator_address">Rotator IP address</string>
|
||||
<string name="tracking_rotator_address_invalid">Please enter a valid IP address</string>
|
||||
<string name="tracking_rotator_port">Rotator port</string>
|
||||
<string name="tracking_rotator_port_invalid">Please enter a port between 1024 to 65535</string>
|
||||
|
||||
<string name="info_version">Version: %s</string>
|
||||
<string name="info_subtitle">Satellite tracker and pass predictor</string>
|
||||
|
||||
Reference in new issue
Block a user