From 4c39d9e3f913b1892bd05935c46c3ab8db2b1a8f Mon Sep 17 00:00:00 2001 From: geeksville Date: Thu, 23 Apr 2020 11:24:10 -0700 Subject: [PATCH] don't let users edit their name when not connected to radio --- .../main/java/com/geeksville/mesh/ui/SettingsFragment.kt | 6 ++++++ app/src/main/res/layout/settings_fragment.xml | 4 ++-- 2 files changed, 8 insertions(+), 2 deletions(-) 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 1a82c47f..9b02a1d9 100644 --- a/app/src/main/java/com/geeksville/mesh/ui/SettingsFragment.kt +++ b/app/src/main/java/com/geeksville/mesh/ui/SettingsFragment.kt @@ -29,6 +29,7 @@ import com.geeksville.mesh.MainActivity import com.geeksville.mesh.R import com.geeksville.mesh.anonymized import com.geeksville.mesh.model.UIViewModel +import com.geeksville.mesh.service.MeshService import com.geeksville.mesh.service.RadioInterfaceService import com.geeksville.util.exceptionReporter import com.google.android.material.dialog.MaterialAlertDialogBuilder @@ -310,6 +311,11 @@ class SettingsFragment : ScreenFragment("Settings"), Logging { usernameEditText.setText(name) }) + // Only let user edit their name while connected to a radio + model.isConnected.observe(viewLifecycleOwner, Observer { connected -> + usernameView.isEnabled = connected == MeshService.ConnectionState.CONNECTED + }) + usernameEditText.on(EditorInfo.IME_ACTION_DONE) { debug("did IME action") val n = usernameEditText.text.toString().trim() diff --git a/app/src/main/res/layout/settings_fragment.xml b/app/src/main/res/layout/settings_fragment.xml index d4cd48e7..82927d75 100644 --- a/app/src/main/res/layout/settings_fragment.xml +++ b/app/src/main/res/layout/settings_fragment.xml @@ -20,7 +20,7 @@ app:layout_constraintTop_toBottomOf="@+id/deviceRadioGroup" /> + app:layout_constraintTop_toBottomOf="@+id/usernameView" />