Loading app/ui/legacy/src/main/java/com/fsck/k9/fragment/MessageListAdapter.kt +10 −3 Original line number Diff line number Diff line Loading @@ -55,9 +55,12 @@ class MessageListAdapter internal constructor( var messages: List<MessageListItem> = emptyList() set(value) { field = value messagesMap = value.associateBy { it.uniqueId } notifyDataSetChanged() } private var messagesMap = emptyMap<Long, MessageListItem>() var activeMessage: MessageReference? = null var selected: Set<Long> = emptySet() Loading @@ -71,14 +74,14 @@ class MessageListAdapter internal constructor( private val flagClickListener = OnClickListener { view: View -> val messageViewHolder = view.tag as MessageViewHolder val messageListItem = getItem(messageViewHolder.position) val messageListItem = getItemById(messageViewHolder.uniqueId) listItemListener.onToggleMessageFlag(messageListItem) } private val contactPictureClickListener = OnClickListener { view: View -> val parentView = view.parent.parent as View val messageViewHolder = parentView.tag as MessageViewHolder val messageListItem = getItem(messageViewHolder.position) val messageListItem = getItemById(messageViewHolder.uniqueId) listItemListener.onToggleMessageSelection(messageListItem) } Loading @@ -96,6 +99,10 @@ class MessageListAdapter internal constructor( override fun getItem(position: Int): MessageListItem = messages[position] private fun getItemById(uniqueId: Long): MessageListItem { return messagesMap[uniqueId]!! } override fun getView(position: Int, convertView: View?, parent: ViewGroup?): View { val message = getItem(position) val view: View = convertView ?: newView(parent) Loading Loading @@ -163,7 +170,7 @@ class MessageListAdapter internal constructor( if (appearance.stars) { holder.flagged.isChecked = isStarred } holder.position = position holder.uniqueId = uniqueId if (appearance.showContactPicture && holder.contactPicture.isVisible) { setContactPicture(holder.contactPicture, displayAddress) } Loading app/ui/legacy/src/main/java/com/fsck/k9/fragment/MessageViewHolder.kt +1 −1 Original line number Diff line number Diff line Loading @@ -7,7 +7,7 @@ import android.widget.TextView import com.fsck.k9.ui.R class MessageViewHolder(view: View) { var position = -1 var uniqueId: Long = -1L val selected: View = view.findViewById(R.id.selected) val contactPicture: ImageView = view.findViewById(R.id.contact_picture) Loading app/ui/legacy/src/main/java/com/fsck/k9/ui/messagelist/MessageListExtractor.kt +0 −2 Original line number Diff line number Diff line Loading @@ -22,7 +22,6 @@ class MessageListExtractor( uniqueIdColumn: Int, threadCountIncluded: Boolean ): MessageListItem { val position = cursor.position val accountUuid = cursor.getString(MLFProjectionInfo.ACCOUNT_UUID_COLUMN) val account = preferences.getAccount(accountUuid) ?: error("Account $accountUuid not found") Loading Loading @@ -60,7 +59,6 @@ class MessageListExtractor( } return MessageListItem( position, account, subject, threadCount, Loading app/ui/legacy/src/main/java/com/fsck/k9/ui/messagelist/MessageListItem.kt +0 −1 Original line number Diff line number Diff line Loading @@ -4,7 +4,6 @@ import com.fsck.k9.Account import com.fsck.k9.mail.Address data class MessageListItem( val position: Int, val account: Account, val subject: String?, val threadCount: Int, Loading app/ui/legacy/src/test/java/com/fsck/k9/fragment/MessageListAdapterTest.kt +0 −2 Original line number Diff line number Diff line Loading @@ -469,7 +469,6 @@ class MessageListAdapterTest : RobolectricTest() { } fun createMessageListItem( position: Int = 0, account: Account = Account(SOME_ACCOUNT_UUID), subject: String? = "irrelevant", threadCount: Int = 0, Loading @@ -492,7 +491,6 @@ class MessageListAdapterTest : RobolectricTest() { threadRoot: Long = 0L ): MessageListItem { return MessageListItem( position, account, subject, threadCount, Loading Loading
app/ui/legacy/src/main/java/com/fsck/k9/fragment/MessageListAdapter.kt +10 −3 Original line number Diff line number Diff line Loading @@ -55,9 +55,12 @@ class MessageListAdapter internal constructor( var messages: List<MessageListItem> = emptyList() set(value) { field = value messagesMap = value.associateBy { it.uniqueId } notifyDataSetChanged() } private var messagesMap = emptyMap<Long, MessageListItem>() var activeMessage: MessageReference? = null var selected: Set<Long> = emptySet() Loading @@ -71,14 +74,14 @@ class MessageListAdapter internal constructor( private val flagClickListener = OnClickListener { view: View -> val messageViewHolder = view.tag as MessageViewHolder val messageListItem = getItem(messageViewHolder.position) val messageListItem = getItemById(messageViewHolder.uniqueId) listItemListener.onToggleMessageFlag(messageListItem) } private val contactPictureClickListener = OnClickListener { view: View -> val parentView = view.parent.parent as View val messageViewHolder = parentView.tag as MessageViewHolder val messageListItem = getItem(messageViewHolder.position) val messageListItem = getItemById(messageViewHolder.uniqueId) listItemListener.onToggleMessageSelection(messageListItem) } Loading @@ -96,6 +99,10 @@ class MessageListAdapter internal constructor( override fun getItem(position: Int): MessageListItem = messages[position] private fun getItemById(uniqueId: Long): MessageListItem { return messagesMap[uniqueId]!! } override fun getView(position: Int, convertView: View?, parent: ViewGroup?): View { val message = getItem(position) val view: View = convertView ?: newView(parent) Loading Loading @@ -163,7 +170,7 @@ class MessageListAdapter internal constructor( if (appearance.stars) { holder.flagged.isChecked = isStarred } holder.position = position holder.uniqueId = uniqueId if (appearance.showContactPicture && holder.contactPicture.isVisible) { setContactPicture(holder.contactPicture, displayAddress) } Loading
app/ui/legacy/src/main/java/com/fsck/k9/fragment/MessageViewHolder.kt +1 −1 Original line number Diff line number Diff line Loading @@ -7,7 +7,7 @@ import android.widget.TextView import com.fsck.k9.ui.R class MessageViewHolder(view: View) { var position = -1 var uniqueId: Long = -1L val selected: View = view.findViewById(R.id.selected) val contactPicture: ImageView = view.findViewById(R.id.contact_picture) Loading
app/ui/legacy/src/main/java/com/fsck/k9/ui/messagelist/MessageListExtractor.kt +0 −2 Original line number Diff line number Diff line Loading @@ -22,7 +22,6 @@ class MessageListExtractor( uniqueIdColumn: Int, threadCountIncluded: Boolean ): MessageListItem { val position = cursor.position val accountUuid = cursor.getString(MLFProjectionInfo.ACCOUNT_UUID_COLUMN) val account = preferences.getAccount(accountUuid) ?: error("Account $accountUuid not found") Loading Loading @@ -60,7 +59,6 @@ class MessageListExtractor( } return MessageListItem( position, account, subject, threadCount, Loading
app/ui/legacy/src/main/java/com/fsck/k9/ui/messagelist/MessageListItem.kt +0 −1 Original line number Diff line number Diff line Loading @@ -4,7 +4,6 @@ import com.fsck.k9.Account import com.fsck.k9.mail.Address data class MessageListItem( val position: Int, val account: Account, val subject: String?, val threadCount: Int, Loading
app/ui/legacy/src/test/java/com/fsck/k9/fragment/MessageListAdapterTest.kt +0 −2 Original line number Diff line number Diff line Loading @@ -469,7 +469,6 @@ class MessageListAdapterTest : RobolectricTest() { } fun createMessageListItem( position: Int = 0, account: Account = Account(SOME_ACCOUNT_UUID), subject: String? = "irrelevant", threadCount: Int = 0, Loading @@ -492,7 +491,6 @@ class MessageListAdapterTest : RobolectricTest() { threadRoot: Long = 0L ): MessageListItem { return MessageListItem( position, account, subject, threadCount, Loading