From 5abb56ec3f24d2a2dd37941bfdef4568649f47b2 Mon Sep 17 00:00:00 2001 From: geeksville Date: Tue, 21 Apr 2020 20:48:44 -0700 Subject: [PATCH] a better fix for the problem of sending messages while device is asleep Better just to Observe myId and wait for it to be !null --- .../main/java/com/geeksville/mesh/ui/MessagesFragment.kt | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/app/src/main/java/com/geeksville/mesh/ui/MessagesFragment.kt b/app/src/main/java/com/geeksville/mesh/ui/MessagesFragment.kt index 38a099200..71b1f8587 100644 --- a/app/src/main/java/com/geeksville/mesh/ui/MessagesFragment.kt +++ b/app/src/main/java/com/geeksville/mesh/ui/MessagesFragment.kt @@ -169,11 +169,18 @@ class MessagesFragment : ScreenFragment("Messages"), Logging { messagesAdapter.onMessagesChanged(it) }) + // If connection state _OR_ myID changes we have to fix our ability to edit outgoing messages model.isConnected.observe(viewLifecycleOwner, Observer { connected -> // If we don't know our node ID and we are offline don't let user try to send textInputLayout.isEnabled = connected != MeshService.ConnectionState.DISCONNECTED && model.nodeDB.myId.value != null }) + + model.nodeDB.myId.observe(viewLifecycleOwner, Observer { myId -> + // If we don't know our node ID and we are offline don't let user try to send + textInputLayout.isEnabled = + model.isConnected.value != MeshService.ConnectionState.DISCONNECTED && myId != null + }) } private val dateFormat = SimpleDateFormat("h:mm a")