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)
|
val chatMessageViewModel = ChatMessageViewModel(chatMessage, contentClickedListener)
|
||||||
viewModel = chatMessageViewModel
|
viewModel = chatMessageViewModel
|
||||||
|
|
||||||
binding.lifecycleOwner = viewLifecycleOwner
|
lifecycleOwner = viewLifecycleOwner
|
||||||
|
|
||||||
// This is for item selection through ListTopBarFragment
|
// This is for item selection through ListTopBarFragment
|
||||||
selectionListViewModel = selectionViewModel
|
selectionListViewModel = selectionViewModel
|
||||||
|
@ -139,7 +139,7 @@ class ChatMessagesListAdapter(
|
||||||
position = adapterPosition
|
position = adapterPosition
|
||||||
})
|
})
|
||||||
|
|
||||||
binding.setClickListener {
|
setClickListener {
|
||||||
if (selectionViewModel.isEditionEnabled.value == true) {
|
if (selectionViewModel.isEditionEnabled.value == true) {
|
||||||
selectionViewModel.onToggleSelect(adapterPosition)
|
selectionViewModel.onToggleSelect(adapterPosition)
|
||||||
}
|
}
|
||||||
|
|
|
@ -77,7 +77,7 @@ class ChatRoomCreationContactsAdapter(
|
||||||
val searchResultViewModel = ChatRoomCreationContactViewModel(searchResult)
|
val searchResultViewModel = ChatRoomCreationContactViewModel(searchResult)
|
||||||
viewModel = searchResultViewModel
|
viewModel = searchResultViewModel
|
||||||
|
|
||||||
binding.lifecycleOwner = viewLifecycleOwner
|
lifecycleOwner = viewLifecycleOwner
|
||||||
|
|
||||||
updateSecurity(searchResult, searchResultViewModel, securityEnabled)
|
updateSecurity(searchResult, searchResultViewModel, securityEnabled)
|
||||||
|
|
||||||
|
|
|
@ -66,7 +66,7 @@ class ChatRoomsListAdapter(
|
||||||
val chatRoomViewModel = ChatRoomViewModel(chatRoom)
|
val chatRoomViewModel = ChatRoomViewModel(chatRoom)
|
||||||
viewModel = chatRoomViewModel
|
viewModel = chatRoomViewModel
|
||||||
|
|
||||||
binding.lifecycleOwner = viewLifecycleOwner
|
lifecycleOwner = viewLifecycleOwner
|
||||||
|
|
||||||
// This is for item selection through ListTopBarFragment
|
// This is for item selection through ListTopBarFragment
|
||||||
selectionListViewModel = selectionViewModel
|
selectionListViewModel = selectionViewModel
|
||||||
|
@ -74,7 +74,7 @@ class ChatRoomsListAdapter(
|
||||||
position = adapterPosition
|
position = adapterPosition
|
||||||
})
|
})
|
||||||
|
|
||||||
binding.setClickListener {
|
setClickListener {
|
||||||
if (selectionViewModel.isEditionEnabled.value == true) {
|
if (selectionViewModel.isEditionEnabled.value == true) {
|
||||||
selectionViewModel.onToggleSelect(adapterPosition)
|
selectionViewModel.onToggleSelect(adapterPosition)
|
||||||
} else {
|
} 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()
|
executePendingBindings()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -69,7 +69,7 @@ class GroupInfoParticipantsAdapter(
|
||||||
participantViewModel.showAdminControls.value = showAdmin
|
participantViewModel.showAdminControls.value = showAdmin
|
||||||
viewModel = participantViewModel
|
viewModel = participantViewModel
|
||||||
|
|
||||||
binding.lifecycleOwner = viewLifecycleOwner
|
lifecycleOwner = viewLifecycleOwner
|
||||||
|
|
||||||
setRemoveClickListener {
|
setRemoveClickListener {
|
||||||
participantRemovedEvent.value = Event(participant)
|
participantRemovedEvent.value = Event(participant)
|
||||||
|
|
|
@ -58,7 +58,7 @@ class ImdnAdapter(
|
||||||
with(binding) {
|
with(binding) {
|
||||||
viewModel = ImdnParticipantViewModel(participantImdnState)
|
viewModel = ImdnParticipantViewModel(participantImdnState)
|
||||||
|
|
||||||
binding.lifecycleOwner = viewLifecycleOwner
|
lifecycleOwner = viewLifecycleOwner
|
||||||
|
|
||||||
executePendingBindings()
|
executePendingBindings()
|
||||||
}
|
}
|
||||||
|
|
|
@ -66,7 +66,7 @@ class ContactsListAdapter(
|
||||||
val contactViewModel = ContactViewModel(contact)
|
val contactViewModel = ContactViewModel(contact)
|
||||||
viewModel = contactViewModel
|
viewModel = contactViewModel
|
||||||
|
|
||||||
binding.lifecycleOwner = viewLifecycleOwner
|
lifecycleOwner = viewLifecycleOwner
|
||||||
|
|
||||||
// This is for item selection through ListTopBarFragment
|
// This is for item selection through ListTopBarFragment
|
||||||
selectionListViewModel = selectionViewModel
|
selectionListViewModel = selectionViewModel
|
||||||
|
@ -74,7 +74,7 @@ class ContactsListAdapter(
|
||||||
position = adapterPosition
|
position = adapterPosition
|
||||||
})
|
})
|
||||||
|
|
||||||
binding.setClickListener {
|
setClickListener {
|
||||||
if (selectionViewModel.isEditionEnabled.value == true) {
|
if (selectionViewModel.isEditionEnabled.value == true) {
|
||||||
selectionViewModel.onToggleSelect(adapterPosition)
|
selectionViewModel.onToggleSelect(adapterPosition)
|
||||||
} else {
|
} 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()
|
executePendingBindings()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -69,7 +69,7 @@ class CallLogsListAdapter(
|
||||||
val callLogViewModel = CallLogViewModel(callLogGroup.lastCallLog)
|
val callLogViewModel = CallLogViewModel(callLogGroup.lastCallLog)
|
||||||
viewModel = callLogViewModel
|
viewModel = callLogViewModel
|
||||||
|
|
||||||
binding.lifecycleOwner = viewLifecycleOwner
|
lifecycleOwner = viewLifecycleOwner
|
||||||
|
|
||||||
// This is for item selection through ListTopBarFragment
|
// This is for item selection through ListTopBarFragment
|
||||||
selectionListViewModel = selectionViewModel
|
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
|
// This listener is disabled when in edition mode
|
||||||
setDetailsClickListener {
|
setDetailsClickListener {
|
||||||
selectedCallLogEvent.value = Event(callLogGroup)
|
selectedCallLogEvent.value = Event(callLogGroup)
|
||||||
|
|
|
@ -69,7 +69,7 @@ class RecordingsListAdapter(
|
||||||
with(binding) {
|
with(binding) {
|
||||||
viewModel = recording
|
viewModel = recording
|
||||||
|
|
||||||
binding.lifecycleOwner = viewLifecycleOwner
|
lifecycleOwner = viewLifecycleOwner
|
||||||
|
|
||||||
// This is for item selection through ListTopBarFragment
|
// This is for item selection through ListTopBarFragment
|
||||||
position = adapterPosition
|
position = adapterPosition
|
||||||
|
|
|
@ -8,6 +8,9 @@
|
||||||
<variable
|
<variable
|
||||||
name="clickListener"
|
name="clickListener"
|
||||||
type="android.view.View.OnClickListener"/>
|
type="android.view.View.OnClickListener"/>
|
||||||
|
<variable
|
||||||
|
name="longClickListener"
|
||||||
|
type="android.view.View.OnLongClickListener"/>
|
||||||
<variable
|
<variable
|
||||||
name="position"
|
name="position"
|
||||||
type="Integer"/>
|
type="Integer"/>
|
||||||
|
@ -20,10 +23,11 @@
|
||||||
</data>
|
</data>
|
||||||
|
|
||||||
<LinearLayout
|
<LinearLayout
|
||||||
|
android:onClick="@{clickListener}"
|
||||||
|
android:onLongClick="@{longClickListener}"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="80dp"
|
android:layout_height="80dp"
|
||||||
android:gravity="center_vertical"
|
android:gravity="center_vertical"
|
||||||
android:onClick="@{clickListener}"
|
|
||||||
android:paddingLeft="10dp"
|
android:paddingLeft="10dp"
|
||||||
android:paddingTop="5dp"
|
android:paddingTop="5dp"
|
||||||
android:paddingRight="10dp"
|
android:paddingRight="10dp"
|
||||||
|
|
|
@ -8,6 +8,9 @@
|
||||||
<variable
|
<variable
|
||||||
name="clickListener"
|
name="clickListener"
|
||||||
type="android.view.View.OnClickListener"/>
|
type="android.view.View.OnClickListener"/>
|
||||||
|
<variable
|
||||||
|
name="longClickListener"
|
||||||
|
type="android.view.View.OnLongClickListener"/>
|
||||||
<variable
|
<variable
|
||||||
name="position"
|
name="position"
|
||||||
type="Integer"/>
|
type="Integer"/>
|
||||||
|
@ -21,6 +24,7 @@
|
||||||
|
|
||||||
<RelativeLayout
|
<RelativeLayout
|
||||||
android:onClick="@{clickListener}"
|
android:onClick="@{clickListener}"
|
||||||
|
android:onLongClick="@{longClickListener}"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="50dp"
|
android:layout_height="50dp"
|
||||||
android:paddingTop="5dp"
|
android:paddingTop="5dp"
|
||||||
|
|
|
@ -8,6 +8,9 @@
|
||||||
<variable
|
<variable
|
||||||
name="clickListener"
|
name="clickListener"
|
||||||
type="android.view.View.OnClickListener"/>
|
type="android.view.View.OnClickListener"/>
|
||||||
|
<variable
|
||||||
|
name="longClickListener"
|
||||||
|
type="android.view.View.OnLongClickListener"/>
|
||||||
<variable
|
<variable
|
||||||
name="detailsClickListener"
|
name="detailsClickListener"
|
||||||
type="android.view.View.OnClickListener"/>
|
type="android.view.View.OnClickListener"/>
|
||||||
|
@ -27,6 +30,7 @@
|
||||||
|
|
||||||
<RelativeLayout
|
<RelativeLayout
|
||||||
android:onClick="@{clickListener}"
|
android:onClick="@{clickListener}"
|
||||||
|
android:onLongClick="@{longClickListener}"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="50dp"
|
android:layout_height="50dp"
|
||||||
android:paddingTop="5dp"
|
android:paddingTop="5dp"
|
||||||
|
|
Loading…
Reference in a new issue