From 07cd9e1ced22318a83b79b33dd42e111124571b4 Mon Sep 17 00:00:00 2001 From: Marcel Hibbe Date: Wed, 4 Sep 2024 13:41:15 +0200 Subject: [PATCH] fix to display text that was sent to app via "share to" the bug was, that the sent text was overwritten with "" in restoreState. With this fix the saved state is only applied when the input field is empty (which means there was nothing shared) Signed-off-by: Marcel Hibbe --- .../com/nextcloud/talk/chat/MessageInputFragment.kt | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/app/src/main/java/com/nextcloud/talk/chat/MessageInputFragment.kt b/app/src/main/java/com/nextcloud/talk/chat/MessageInputFragment.kt index 0467cd2d4..4a49ea8d6 100644 --- a/app/src/main/java/com/nextcloud/talk/chat/MessageInputFragment.kt +++ b/app/src/main/java/com/nextcloud/talk/chat/MessageInputFragment.kt @@ -247,11 +247,13 @@ class MessageInputFragment : Fragment() { } private fun restoreState() { - requireContext().getSharedPreferences(chatActivity.localClassName, AppCompatActivity.MODE_PRIVATE).apply { - val text = getString(chatActivity.roomToken, "") - val cursor = getInt(chatActivity.roomToken + CURSOR_KEY, 0) - binding.fragmentMessageInputView.messageInput.setText(text) - binding.fragmentMessageInputView.messageInput.setSelection(cursor) + if (binding.fragmentMessageInputView.inputEditText.text.isEmpty()) { + requireContext().getSharedPreferences(chatActivity.localClassName, AppCompatActivity.MODE_PRIVATE).apply { + val text = getString(chatActivity.roomToken, "") + val cursor = getInt(chatActivity.roomToken + CURSOR_KEY, 0) + binding.fragmentMessageInputView.messageInput.setText(text) + binding.fragmentMessageInputView.messageInput.setSelection(cursor) + } } }