diff --git a/app/src/main/java/org/linphone/activities/main/chat/adapters/ChatMessagesListAdapter.kt b/app/src/main/java/org/linphone/activities/main/chat/adapters/ChatMessagesListAdapter.kt
index 5c14bd0ba..3335f7a65 100644
--- a/app/src/main/java/org/linphone/activities/main/chat/adapters/ChatMessagesListAdapter.kt
+++ b/app/src/main/java/org/linphone/activities/main/chat/adapters/ChatMessagesListAdapter.kt
@@ -131,7 +131,7 @@ class ChatMessagesListAdapter(
val chatMessageViewModel = ChatMessageViewModel(chatMessage, contentClickedListener)
viewModel = chatMessageViewModel
- binding.lifecycleOwner = viewLifecycleOwner
+ lifecycleOwner = viewLifecycleOwner
// This is for item selection through ListTopBarFragment
selectionListViewModel = selectionViewModel
@@ -139,7 +139,7 @@ class ChatMessagesListAdapter(
position = adapterPosition
})
- binding.setClickListener {
+ setClickListener {
if (selectionViewModel.isEditionEnabled.value == true) {
selectionViewModel.onToggleSelect(adapterPosition)
}
diff --git a/app/src/main/java/org/linphone/activities/main/chat/adapters/ChatRoomCreationContactsAdapter.kt b/app/src/main/java/org/linphone/activities/main/chat/adapters/ChatRoomCreationContactsAdapter.kt
index cb227f36c..1fc360fd2 100644
--- a/app/src/main/java/org/linphone/activities/main/chat/adapters/ChatRoomCreationContactsAdapter.kt
+++ b/app/src/main/java/org/linphone/activities/main/chat/adapters/ChatRoomCreationContactsAdapter.kt
@@ -77,7 +77,7 @@ class ChatRoomCreationContactsAdapter(
val searchResultViewModel = ChatRoomCreationContactViewModel(searchResult)
viewModel = searchResultViewModel
- binding.lifecycleOwner = viewLifecycleOwner
+ lifecycleOwner = viewLifecycleOwner
updateSecurity(searchResult, searchResultViewModel, securityEnabled)
diff --git a/app/src/main/java/org/linphone/activities/main/chat/adapters/ChatRoomsListAdapter.kt b/app/src/main/java/org/linphone/activities/main/chat/adapters/ChatRoomsListAdapter.kt
index f6885c1f3..dd5b03951 100644
--- a/app/src/main/java/org/linphone/activities/main/chat/adapters/ChatRoomsListAdapter.kt
+++ b/app/src/main/java/org/linphone/activities/main/chat/adapters/ChatRoomsListAdapter.kt
@@ -66,7 +66,7 @@ class ChatRoomsListAdapter(
val chatRoomViewModel = ChatRoomViewModel(chatRoom)
viewModel = chatRoomViewModel
- binding.lifecycleOwner = viewLifecycleOwner
+ lifecycleOwner = viewLifecycleOwner
// This is for item selection through ListTopBarFragment
selectionListViewModel = selectionViewModel
@@ -74,7 +74,7 @@ class ChatRoomsListAdapter(
position = adapterPosition
})
- binding.setClickListener {
+ setClickListener {
if (selectionViewModel.isEditionEnabled.value == true) {
selectionViewModel.onToggleSelect(adapterPosition)
} else {
@@ -83,6 +83,15 @@ class ChatRoomsListAdapter(
}
}
+ setLongClickListener {
+ if (selectionViewModel.isEditionEnabled.value == false) {
+ selectionViewModel.isEditionEnabled.value = true
+ // Selection will be handled by click listener
+ true
+ }
+ false
+ }
+
executePendingBindings()
}
}
diff --git a/app/src/main/java/org/linphone/activities/main/chat/adapters/GroupInfoParticipantsAdapter.kt b/app/src/main/java/org/linphone/activities/main/chat/adapters/GroupInfoParticipantsAdapter.kt
index ebad1ef2f..b5cb26615 100644
--- a/app/src/main/java/org/linphone/activities/main/chat/adapters/GroupInfoParticipantsAdapter.kt
+++ b/app/src/main/java/org/linphone/activities/main/chat/adapters/GroupInfoParticipantsAdapter.kt
@@ -69,7 +69,7 @@ class GroupInfoParticipantsAdapter(
participantViewModel.showAdminControls.value = showAdmin
viewModel = participantViewModel
- binding.lifecycleOwner = viewLifecycleOwner
+ lifecycleOwner = viewLifecycleOwner
setRemoveClickListener {
participantRemovedEvent.value = Event(participant)
diff --git a/app/src/main/java/org/linphone/activities/main/chat/adapters/ImdnAdapter.kt b/app/src/main/java/org/linphone/activities/main/chat/adapters/ImdnAdapter.kt
index b07dc9c87..e5cf89bad 100644
--- a/app/src/main/java/org/linphone/activities/main/chat/adapters/ImdnAdapter.kt
+++ b/app/src/main/java/org/linphone/activities/main/chat/adapters/ImdnAdapter.kt
@@ -58,7 +58,7 @@ class ImdnAdapter(
with(binding) {
viewModel = ImdnParticipantViewModel(participantImdnState)
- binding.lifecycleOwner = viewLifecycleOwner
+ lifecycleOwner = viewLifecycleOwner
executePendingBindings()
}
diff --git a/app/src/main/java/org/linphone/activities/main/contact/adapters/ContactsListAdapter.kt b/app/src/main/java/org/linphone/activities/main/contact/adapters/ContactsListAdapter.kt
index f0e59bd33..b13797b76 100644
--- a/app/src/main/java/org/linphone/activities/main/contact/adapters/ContactsListAdapter.kt
+++ b/app/src/main/java/org/linphone/activities/main/contact/adapters/ContactsListAdapter.kt
@@ -66,7 +66,7 @@ class ContactsListAdapter(
val contactViewModel = ContactViewModel(contact)
viewModel = contactViewModel
- binding.lifecycleOwner = viewLifecycleOwner
+ lifecycleOwner = viewLifecycleOwner
// This is for item selection through ListTopBarFragment
selectionListViewModel = selectionViewModel
@@ -74,7 +74,7 @@ class ContactsListAdapter(
position = adapterPosition
})
- binding.setClickListener {
+ setClickListener {
if (selectionViewModel.isEditionEnabled.value == true) {
selectionViewModel.onToggleSelect(adapterPosition)
} else {
@@ -82,6 +82,15 @@ class ContactsListAdapter(
}
}
+ setLongClickListener {
+ if (selectionViewModel.isEditionEnabled.value == false) {
+ selectionViewModel.isEditionEnabled.value = true
+ // Selection will be handled by click listener
+ true
+ }
+ false
+ }
+
executePendingBindings()
}
}
diff --git a/app/src/main/java/org/linphone/activities/main/history/adapters/CallLogsListAdapter.kt b/app/src/main/java/org/linphone/activities/main/history/adapters/CallLogsListAdapter.kt
index 17b1daeb3..a09483d2f 100644
--- a/app/src/main/java/org/linphone/activities/main/history/adapters/CallLogsListAdapter.kt
+++ b/app/src/main/java/org/linphone/activities/main/history/adapters/CallLogsListAdapter.kt
@@ -69,7 +69,7 @@ class CallLogsListAdapter(
val callLogViewModel = CallLogViewModel(callLogGroup.lastCallLog)
viewModel = callLogViewModel
- binding.lifecycleOwner = viewLifecycleOwner
+ lifecycleOwner = viewLifecycleOwner
// This is for item selection through ListTopBarFragment
selectionListViewModel = selectionViewModel
@@ -85,6 +85,15 @@ class CallLogsListAdapter(
}
}
+ setLongClickListener {
+ if (selectionViewModel.isEditionEnabled.value == false) {
+ selectionViewModel.isEditionEnabled.value = true
+ // Selection will be handled by click listener
+ true
+ }
+ false
+ }
+
// This listener is disabled when in edition mode
setDetailsClickListener {
selectedCallLogEvent.value = Event(callLogGroup)
diff --git a/app/src/main/java/org/linphone/activities/main/recordings/adapters/RecordingsListAdapter.kt b/app/src/main/java/org/linphone/activities/main/recordings/adapters/RecordingsListAdapter.kt
index 8583da526..ae2d7c74f 100644
--- a/app/src/main/java/org/linphone/activities/main/recordings/adapters/RecordingsListAdapter.kt
+++ b/app/src/main/java/org/linphone/activities/main/recordings/adapters/RecordingsListAdapter.kt
@@ -69,7 +69,7 @@ class RecordingsListAdapter(
with(binding) {
viewModel = recording
- binding.lifecycleOwner = viewLifecycleOwner
+ lifecycleOwner = viewLifecycleOwner
// This is for item selection through ListTopBarFragment
position = adapterPosition
diff --git a/app/src/main/res/layout/chat_room_list_cell.xml b/app/src/main/res/layout/chat_room_list_cell.xml
index 65da43e0a..3b1e810ba 100644
--- a/app/src/main/res/layout/chat_room_list_cell.xml
+++ b/app/src/main/res/layout/chat_room_list_cell.xml
@@ -8,6 +8,9 @@
+
@@ -20,10 +23,11 @@
+
@@ -21,6 +24,7 @@
+
@@ -27,6 +30,7 @@