Handle long press on list item to toggle edition mode
This commit is contained in:
parent
bee45b949d
commit
23dc18d41a
11 changed files with 51 additions and 12 deletions
|
@ -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)
|
||||
}
|
||||
|
|
|
@ -77,7 +77,7 @@ class ChatRoomCreationContactsAdapter(
|
|||
val searchResultViewModel = ChatRoomCreationContactViewModel(searchResult)
|
||||
viewModel = searchResultViewModel
|
||||
|
||||
binding.lifecycleOwner = viewLifecycleOwner
|
||||
lifecycleOwner = viewLifecycleOwner
|
||||
|
||||
updateSecurity(searchResult, searchResultViewModel, securityEnabled)
|
||||
|
||||
|
|
|
@ -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()
|
||||
}
|
||||
}
|
||||
|
|
|
@ -69,7 +69,7 @@ class GroupInfoParticipantsAdapter(
|
|||
participantViewModel.showAdminControls.value = showAdmin
|
||||
viewModel = participantViewModel
|
||||
|
||||
binding.lifecycleOwner = viewLifecycleOwner
|
||||
lifecycleOwner = viewLifecycleOwner
|
||||
|
||||
setRemoveClickListener {
|
||||
participantRemovedEvent.value = Event(participant)
|
||||
|
|
|
@ -58,7 +58,7 @@ class ImdnAdapter(
|
|||
with(binding) {
|
||||
viewModel = ImdnParticipantViewModel(participantImdnState)
|
||||
|
||||
binding.lifecycleOwner = viewLifecycleOwner
|
||||
lifecycleOwner = viewLifecycleOwner
|
||||
|
||||
executePendingBindings()
|
||||
}
|
||||
|
|
|
@ -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()
|
||||
}
|
||||
}
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -69,7 +69,7 @@ class RecordingsListAdapter(
|
|||
with(binding) {
|
||||
viewModel = recording
|
||||
|
||||
binding.lifecycleOwner = viewLifecycleOwner
|
||||
lifecycleOwner = viewLifecycleOwner
|
||||
|
||||
// This is for item selection through ListTopBarFragment
|
||||
position = adapterPosition
|
||||
|
|
|
@ -8,6 +8,9 @@
|
|||
<variable
|
||||
name="clickListener"
|
||||
type="android.view.View.OnClickListener"/>
|
||||
<variable
|
||||
name="longClickListener"
|
||||
type="android.view.View.OnLongClickListener"/>
|
||||
<variable
|
||||
name="position"
|
||||
type="Integer"/>
|
||||
|
@ -20,10 +23,11 @@
|
|||
</data>
|
||||
|
||||
<LinearLayout
|
||||
android:onClick="@{clickListener}"
|
||||
android:onLongClick="@{longClickListener}"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="80dp"
|
||||
android:gravity="center_vertical"
|
||||
android:onClick="@{clickListener}"
|
||||
android:paddingLeft="10dp"
|
||||
android:paddingTop="5dp"
|
||||
android:paddingRight="10dp"
|
||||
|
|
|
@ -8,6 +8,9 @@
|
|||
<variable
|
||||
name="clickListener"
|
||||
type="android.view.View.OnClickListener"/>
|
||||
<variable
|
||||
name="longClickListener"
|
||||
type="android.view.View.OnLongClickListener"/>
|
||||
<variable
|
||||
name="position"
|
||||
type="Integer"/>
|
||||
|
@ -21,6 +24,7 @@
|
|||
|
||||
<RelativeLayout
|
||||
android:onClick="@{clickListener}"
|
||||
android:onLongClick="@{longClickListener}"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="50dp"
|
||||
android:paddingTop="5dp"
|
||||
|
|
|
@ -8,6 +8,9 @@
|
|||
<variable
|
||||
name="clickListener"
|
||||
type="android.view.View.OnClickListener"/>
|
||||
<variable
|
||||
name="longClickListener"
|
||||
type="android.view.View.OnLongClickListener"/>
|
||||
<variable
|
||||
name="detailsClickListener"
|
||||
type="android.view.View.OnClickListener"/>
|
||||
|
@ -27,6 +30,7 @@
|
|||
|
||||
<RelativeLayout
|
||||
android:onClick="@{clickListener}"
|
||||
android:onLongClick="@{longClickListener}"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="50dp"
|
||||
android:paddingTop="5dp"
|
||||
|
|
Loading…
Reference in a new issue