diff --git a/app/src/main/java/com/geeksville/mesh/ui/SettingsFragment.kt b/app/src/main/java/com/geeksville/mesh/ui/SettingsFragment.kt
index 78f772151..68f69e03f 100644
--- a/app/src/main/java/com/geeksville/mesh/ui/SettingsFragment.kt
+++ b/app/src/main/java/com/geeksville/mesh/ui/SettingsFragment.kt
@@ -30,6 +30,7 @@ import com.geeksville.android.Logging
import com.geeksville.android.hideKeyboard
import com.geeksville.android.isGooglePlayAvailable
import com.geeksville.mesh.MainActivity
+import com.geeksville.mesh.MeshProtos
import com.geeksville.mesh.R
import com.geeksville.mesh.android.bluetoothManager
import com.geeksville.mesh.android.usbManager
@@ -603,6 +604,26 @@ class SettingsFragment : ScreenFragment("Settings"), Logging {
requireActivity().hideKeyboard()
}
+ binding.positionBroadcastPeriodEditText.on(EditorInfo.IME_ACTION_DONE) {
+ val n = binding.positionBroadcastPeriodEditText.text.toString().toIntOrNull()
+ debug("did IME action, text = ${binding.positionBroadcastPeriodEditText.text.toString()}, int=$n")
+ val meshService = model.meshService
+ if (n != null && meshService != null) {
+ try {
+ var config: MeshProtos.RadioConfig =
+ MeshProtos.RadioConfig.parseFrom(meshService.getRadioConfig())
+ val builder : MeshProtos.RadioConfig.Builder = config.toBuilder()
+ builder.preferencesBuilder.setPositionBroadcastSecs(n * 60)
+ builder.preferencesBuilder.setLsSecs(n * 60)
+ config = builder.build()
+ debug("config=${config.toString()}")
+ meshService.setRadioConfig(config.toByteArray())
+ } catch (ex: RemoteException) {
+ errormsg("Can't change parameter, is device offline? ${ex.message}")
+ }
+ }
+
+ }
val app = (requireContext().applicationContext as GeeksvilleApplication)
// Set analytics checkbox
diff --git a/app/src/main/res/layout/settings_fragment.xml b/app/src/main/res/layout/settings_fragment.xml
index b15dc757d..9479e2ba8 100644
--- a/app/src/main/res/layout/settings_fragment.xml
+++ b/app/src/main/res/layout/settings_fragment.xml
@@ -19,6 +19,19 @@
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/deviceRadioGroup" />
+
+
+
+