diff --git a/app/src/main/java/org/thoughtcrime/securesms/ContactSelectionListAdapter.kt b/app/src/main/java/org/thoughtcrime/securesms/ContactSelectionListAdapter.kt index bdf701658..a0e924b9c 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/ContactSelectionListAdapter.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/ContactSelectionListAdapter.kt @@ -1,11 +1,13 @@ package org.thoughtcrime.securesms import android.content.Context +import android.view.View import org.thoughtcrime.securesms.contacts.paged.ContactSearchAdapter import org.thoughtcrime.securesms.contacts.paged.ContactSearchConfiguration import org.thoughtcrime.securesms.contacts.paged.ContactSearchData import org.thoughtcrime.securesms.util.adapter.mapping.LayoutFactory import org.thoughtcrime.securesms.util.adapter.mapping.MappingModel +import org.thoughtcrime.securesms.util.adapter.mapping.MappingViewHolder class ContactSelectionListAdapter( context: Context, @@ -18,8 +20,8 @@ class ContactSelectionListAdapter( ) : ContactSearchAdapter(context, emptySet(), displayCheckBox, displaySmsTag, displayPhoneNumber, onClickCallbacks, longClickCallbacks, storyContextMenuCallbacks) { init { - registerFactory(NewGroupModel::class.java, LayoutFactory({ StaticMappingViewHolder(it, onClickCallbacks::onNewGroupClicked) }, R.layout.contact_selection_new_group_item)) - registerFactory(InviteToSignalModel::class.java, LayoutFactory({ StaticMappingViewHolder(it, onClickCallbacks::onInviteToSignalClicked) }, R.layout.contact_selection_invite_action_item)) + registerFactory(NewGroupModel::class.java, LayoutFactory({ NewGroupViewHolder(it, onClickCallbacks::onNewGroupClicked) }, R.layout.contact_selection_new_group_item)) + registerFactory(InviteToSignalModel::class.java, LayoutFactory({ InviteToSignalViewHolder(it, onClickCallbacks::onInviteToSignalClicked) }, R.layout.contact_selection_invite_action_item)) } class NewGroupModel : MappingModel { @@ -32,6 +34,22 @@ class ContactSelectionListAdapter( override fun areContentsTheSame(newItem: InviteToSignalModel): Boolean = true } + private class InviteToSignalViewHolder(itemView: View, onClickListener: () -> Unit) : MappingViewHolder(itemView) { + init { + itemView.setOnClickListener { onClickListener() } + } + + override fun bind(model: InviteToSignalModel) = Unit + } + + private class NewGroupViewHolder(itemView: View, onClickListener: () -> Unit) : MappingViewHolder(itemView) { + init { + itemView.setOnClickListener { onClickListener() } + } + + override fun bind(model: NewGroupModel) = Unit + } + class ArbitraryRepository : org.thoughtcrime.securesms.contacts.paged.ArbitraryRepository { enum class ArbitraryRow(val code: String) { diff --git a/app/src/main/java/org/thoughtcrime/securesms/StaticMappingViewHolder.kt b/app/src/main/java/org/thoughtcrime/securesms/StaticMappingViewHolder.kt deleted file mode 100644 index b1f4bea4c..000000000 --- a/app/src/main/java/org/thoughtcrime/securesms/StaticMappingViewHolder.kt +++ /dev/null @@ -1,13 +0,0 @@ -package org.thoughtcrime.securesms - -import android.view.View -import org.thoughtcrime.securesms.util.adapter.mapping.MappingModel -import org.thoughtcrime.securesms.util.adapter.mapping.MappingViewHolder - -class StaticMappingViewHolder>(itemView: View, onClickListener: () -> Unit) : MappingViewHolder(itemView) { - init { - itemView.setOnClickListener { onClickListener() } - } - - override fun bind(model: T) = Unit -}