Prevent multiple attach file dialogs

This commit is contained in:
Sylvain Berfini 2023-02-03 09:38:56 +01:00
parent 4d1adf6227
commit a68a816cff
3 changed files with 5 additions and 1 deletions

View file

@ -820,6 +820,7 @@ class DetailChatRoomFragment : MasterFragment<ChatRoomDetailFragmentBinding, Cha
@Deprecated("Deprecated in Java") @Deprecated("Deprecated in Java")
override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) { override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) {
chatSendingViewModel.attachFilePending.value = false
if (resultCode == Activity.RESULT_OK) { if (resultCode == Activity.RESULT_OK) {
lifecycleScope.launch { lifecycleScope.launch {
withContext(Dispatchers.Main) { withContext(Dispatchers.Main) {
@ -1126,6 +1127,7 @@ class DetailChatRoomFragment : MasterFragment<ChatRoomDetailFragmentBinding, Cha
} }
private fun pickFile() { private fun pickFile() {
chatSendingViewModel.attachFilePending.value = true
val intentsList = ArrayList<Intent>() val intentsList = ArrayList<Intent>()
val pickerIntent = Intent(Intent.ACTION_GET_CONTENT) val pickerIntent = Intent(Intent.ACTION_GET_CONTENT)

View file

@ -60,6 +60,8 @@ class ChatMessageSendingViewModel(private val chatRoom: ChatRoom) : ViewModel()
val attachFileEnabled = MutableLiveData<Boolean>() val attachFileEnabled = MutableLiveData<Boolean>()
val attachFilePending = MutableLiveData<Boolean>()
val sendMessageEnabled = MutableLiveData<Boolean>() val sendMessageEnabled = MutableLiveData<Boolean>()
val attachingFileInProgress = MutableLiveData<Boolean>() val attachingFileInProgress = MutableLiveData<Boolean>()

View file

@ -246,7 +246,7 @@
android:layout_marginStart="@dimen/chat_message_sending_icons_margin" android:layout_marginStart="@dimen/chat_message_sending_icons_margin"
android:layout_marginEnd="@dimen/chat_message_sending_icons_margin" android:layout_marginEnd="@dimen/chat_message_sending_icons_margin"
android:contentDescription="@string/content_description_attach_file" android:contentDescription="@string/content_description_attach_file"
android:enabled="@{chatSendingViewModel.attachFileEnabled}" android:enabled="@{chatSendingViewModel.attachFileEnabled &amp;&amp; !chatSendingViewModel.attachFilePending}"
android:onClick="@{attachFileClickListener}" android:onClick="@{attachFileClickListener}"
android:paddingTop="@dimen/chat_message_sending_icons_margin" android:paddingTop="@dimen/chat_message_sending_icons_margin"
android:paddingBottom="@dimen/chat_message_sending_icons_margin" android:paddingBottom="@dimen/chat_message_sending_icons_margin"