Applied same changes to chat room list for file/text sharing than for message forwarding

This commit is contained in:
Sylvain Berfini 2021-05-24 15:51:38 +02:00
parent 54ae2f8d9c
commit 8df7cc1012
4 changed files with 49 additions and 2 deletions

View file

@ -178,6 +178,13 @@ class MasterChatRoomsFragment : MasterFragment<ChatRoomMasterFragmentBinding, Ch
listViewModel.forwardPending.value = false listViewModel.forwardPending.value = false
} }
binding.setCancelSharingClickListener {
Log.i("[Chat] Cancelling text/files sharing")
sharedViewModel.textToShare.value = ""
sharedViewModel.filesToShare.value = arrayListOf()
listViewModel.sharingPending.value = false
}
binding.setNewOneToOneChatRoomClickListener { binding.setNewOneToOneChatRoomClickListener {
sharedViewModel.chatRoomParticipants.value = arrayListOf() sharedViewModel.chatRoomParticipants.value = arrayListOf()
navigateToChatRoomCreation(false) navigateToChatRoomCreation(false)
@ -216,6 +223,11 @@ class MasterChatRoomsFragment : MasterFragment<ChatRoomMasterFragmentBinding, Ch
Log.i("[Chat] Found text to share") Log.i("[Chat] Found text to share")
val activity = requireActivity() as MainActivity val activity = requireActivity() as MainActivity
activity.showSnackBar(R.string.chat_room_toast_choose_for_sharing) activity.showSnackBar(R.string.chat_room_toast_choose_for_sharing)
listViewModel.sharingPending.value = true
} else {
if (sharedViewModel.filesToShare.value.isNullOrEmpty()) {
listViewModel.sharingPending.value = false
}
} }
}) })
sharedViewModel.filesToShare.observe(viewLifecycleOwner, { sharedViewModel.filesToShare.observe(viewLifecycleOwner, {
@ -223,6 +235,11 @@ class MasterChatRoomsFragment : MasterFragment<ChatRoomMasterFragmentBinding, Ch
Log.i("[Chat] Found ${it.size} files to share") Log.i("[Chat] Found ${it.size} files to share")
val activity = requireActivity() as MainActivity val activity = requireActivity() as MainActivity
activity.showSnackBar(R.string.chat_room_toast_choose_for_sharing) activity.showSnackBar(R.string.chat_room_toast_choose_for_sharing)
listViewModel.sharingPending.value = true
} else {
if (sharedViewModel.textToShare.value.isNullOrEmpty()) {
listViewModel.sharingPending.value = false
}
} }
}) })
sharedViewModel.messageToForwardEvent.observe(viewLifecycleOwner, { sharedViewModel.messageToForwardEvent.observe(viewLifecycleOwner, {

View file

@ -39,6 +39,8 @@ class ChatRoomsListViewModel : ErrorReportingViewModel() {
MutableLiveData<Event<Boolean>>() MutableLiveData<Event<Boolean>>()
} }
val sharingPending = MutableLiveData<Boolean>()
val forwardPending = MutableLiveData<Boolean>() val forwardPending = MutableLiveData<Boolean>()
val groupChatAvailable: Boolean = LinphoneUtils.isGroupChatAvailable() val groupChatAvailable: Boolean = LinphoneUtils.isGroupChatAvailable()

View file

@ -17,6 +17,9 @@
<variable <variable
name="cancelForwardClickListener" name="cancelForwardClickListener"
type="android.view.View.OnClickListener" /> type="android.view.View.OnClickListener" />
<variable
name="cancelSharingClickListener"
type="android.view.View.OnClickListener" />
<variable <variable
name="viewModel" name="viewModel"
type="org.linphone.activities.main.chat.viewmodels.ChatRoomsListViewModel" /> type="org.linphone.activities.main.chat.viewmodels.ChatRoomsListViewModel" />
@ -54,6 +57,17 @@
android:padding="15dp" android:padding="15dp"
android:src="@drawable/cancel_edit" /> android:src="@drawable/cancel_edit" />
<ImageView
android:onClick="@{cancelSharingClickListener}"
android:visibility="@{viewModel.sharingPending ? View.VISIBLE : View.GONE}"
android:contentDescription="@string/content_description_cancel_contact_edit"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="0.2"
android:background="?attr/button_background_drawable"
android:padding="15dp"
android:src="@drawable/cancel_edit" />
<ImageView <ImageView
android:onClick="@{newOneToOneChatRoomClickListener}" android:onClick="@{newOneToOneChatRoomClickListener}"
android:contentDescription="@string/content_description_create_one_to_one_chat_room" android:contentDescription="@string/content_description_create_one_to_one_chat_room"
@ -83,7 +97,7 @@
<ImageView <ImageView
android:onClick="@{editClickListener}" android:onClick="@{editClickListener}"
android:enabled="@{!viewModel.chatRooms.empty}" android:enabled="@{!viewModel.chatRooms.empty}"
android:visibility="@{viewModel.forwardPending ? View.GONE : View.VISIBLE}" android:visibility="@{viewModel.forwardPending || viewModel.sharingPending ? View.GONE : View.VISIBLE}"
android:contentDescription="@string/content_description_enter_edition_mode" android:contentDescription="@string/content_description_enter_edition_mode"
android:layout_width="0dp" android:layout_width="0dp"
android:layout_height="match_parent" android:layout_height="match_parent"

View file

@ -16,6 +16,9 @@
<variable <variable
name="cancelForwardClickListener" name="cancelForwardClickListener"
type="android.view.View.OnClickListener" /> type="android.view.View.OnClickListener" />
<variable
name="cancelSharingClickListener"
type="android.view.View.OnClickListener" />
<variable <variable
name="viewModel" name="viewModel"
type="org.linphone.activities.main.chat.viewmodels.ChatRoomsListViewModel" /> type="org.linphone.activities.main.chat.viewmodels.ChatRoomsListViewModel" />
@ -43,6 +46,17 @@
android:padding="15dp" android:padding="15dp"
android:src="@drawable/cancel_edit" /> android:src="@drawable/cancel_edit" />
<ImageView
android:onClick="@{cancelSharingClickListener}"
android:visibility="@{viewModel.sharingPending ? View.VISIBLE : View.GONE}"
android:contentDescription="@string/content_description_cancel_contact_edit"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="0.2"
android:background="?attr/button_background_drawable"
android:padding="15dp"
android:src="@drawable/cancel_edit" />
<ImageView <ImageView
android:onClick="@{newOneToOneChatRoomClickListener}" android:onClick="@{newOneToOneChatRoomClickListener}"
android:contentDescription="@string/content_description_create_one_to_one_chat_room" android:contentDescription="@string/content_description_create_one_to_one_chat_room"
@ -72,7 +86,7 @@
<ImageView <ImageView
android:onClick="@{editClickListener}" android:onClick="@{editClickListener}"
android:enabled="@{!viewModel.chatRooms.empty}" android:enabled="@{!viewModel.chatRooms.empty}"
android:visibility="@{viewModel.forwardPending ? View.GONE : View.VISIBLE}" android:visibility="@{viewModel.forwardPending || viewModel.sharingPending ? View.GONE : View.VISIBLE}"
android:contentDescription="@string/content_description_enter_edition_mode" android:contentDescription="@string/content_description_enter_edition_mode"
android:layout_width="0dp" android:layout_width="0dp"
android:layout_height="match_parent" android:layout_height="match_parent"