@@ -1008,11 +1008,11 @@ class LegacyMessageListFragment :
10081008 changeSort(nextSortType)
10091009 }
10101010
1011- private fun onDelete (messages : List <MessageReference >) {
1011+ private fun onDelete (messages : List <MessageReference >, count : Int ) {
10121012 if (interactionSettings.isConfirmDelete) {
10131013 // remember the message selection for #onCreateDialog(int)
10141014 activeMessages = messages
1015- showDialog(R .id.dialog_confirm_delete)
1015+ showDialog(R .id.dialog_confirm_delete, count )
10161016 } else {
10171017 onDeleteConfirmed(messages)
10181018 }
@@ -1056,15 +1056,14 @@ class LegacyMessageListFragment :
10561056 return currentFolder!! .databaseId == account!! .trashFolderId
10571057 }
10581058
1059- private fun showDialog (dialogId : Int ) {
1059+ private fun showDialog (dialogId : Int , selectionCount : Int = 1 ) {
10601060 val dialogFragment = when (dialogId) {
10611061 R .id.dialog_confirm_spam -> {
10621062 val title = getString(R .string.dialog_confirm_spam_title)
1063- val selectionSize = activeMessages!! .size
10641063 val message = resources.getQuantityString(
10651064 R .plurals.dialog_confirm_spam_message,
1066- selectionSize ,
1067- selectionSize ,
1065+ selectionCount ,
1066+ selectionCount ,
10681067 )
10691068 val confirmText = getString(R .string.dialog_confirm_spam_confirm_button)
10701069 val cancelText = getString(R .string.dialog_confirm_spam_cancel_button)
@@ -1073,11 +1072,10 @@ class LegacyMessageListFragment :
10731072
10741073 R .id.dialog_confirm_delete -> {
10751074 val title = getString(R .string.dialog_confirm_delete_title)
1076- val selectionSize = activeMessages!! .size
10771075 val message = resources.getQuantityString(
10781076 R .plurals.dialog_confirm_delete_messages,
1079- selectionSize ,
1080- selectionSize ,
1077+ selectionCount ,
1078+ selectionCount ,
10811079 )
10821080 val confirmText = getString(R .string.dialog_confirm_delete_confirm_button)
10831081 val cancelText = getString(R .string.dialog_confirm_delete_cancel_button)
@@ -1109,7 +1107,7 @@ class LegacyMessageListFragment :
11091107 }
11101108
11111109 else -> {
1112- throw RuntimeException (" Called showDialog(int) with unknown dialog id." )
1110+ throw RuntimeException (" Called showDialog(int, int ) with unknown dialog id." )
11131111 }
11141112 }
11151113
@@ -1662,11 +1660,11 @@ class LegacyMessageListFragment :
16621660 return messages.groupBy { accountManager.getAccount(it.accountUuid)!! }
16631661 }
16641662
1665- private fun onSpam (messages : List <MessageReference >) {
1663+ private fun onSpam (messages : List <MessageReference >, count : Int ) {
16661664 if (interactionSettings.isConfirmSpam) {
16671665 // remember the message selection for #onCreateDialog(int)
16681666 activeMessages = messages
1669- showDialog(R .id.dialog_confirm_spam)
1667+ showDialog(R .id.dialog_confirm_spam, count )
16701668 } else {
16711669 onSpamConfirmed(messages)
16721670 }
@@ -1903,9 +1901,12 @@ class LegacyMessageListFragment :
19031901 private val selectedMessages: List <MessageReference >
19041902 get() = adapter.selectedMessages.map { it.messageReference }
19051903
1904+ private val selectedMessagesCount
1905+ get() = adapter.selectedCount
1906+
19061907 override fun onDelete () {
19071908 selectedMessage?.let { message ->
1908- onDelete(listOf (message))
1909+ onDelete(listOf (message), selectedMessagesCount )
19091910 }
19101911 }
19111912
@@ -2254,11 +2255,11 @@ class LegacyMessageListFragment :
22542255 }
22552256
22562257 SwipeAction .Delete -> {
2257- onDelete(listOf (item.messageReference))
2258+ onDelete(listOf (item.messageReference), item.threadCount )
22582259 }
22592260
22602261 SwipeAction .Spam -> {
2261- onSpam(listOf (item.messageReference))
2262+ onSpam(listOf (item.messageReference), item.threadCount )
22622263 }
22632264
22642265 SwipeAction .Move -> {
@@ -2614,7 +2615,7 @@ class LegacyMessageListFragment :
26142615
26152616 val endSelectionMode = when (item.itemId) {
26162617 R .id.delete -> {
2617- onDelete(selectedMessages)
2618+ onDelete(selectedMessages, selectedMessagesCount )
26182619 true
26192620 }
26202621
@@ -2650,7 +2651,7 @@ class LegacyMessageListFragment :
26502651 }
26512652
26522653 R .id.spam -> {
2653- onSpam(selectedMessages)
2654+ onSpam(selectedMessages, selectedMessagesCount )
26542655 // TODO: Only finish action mode if all messages have been moved.
26552656 true
26562657 }
0 commit comments