@@ -29,6 +29,7 @@ import com.simplemobiletools.commons.helpers.SimpleContactsHelper
2929import com.simplemobiletools.commons.helpers.ensureBackgroundThread
3030import com.simplemobiletools.commons.views.MyRecyclerView
3131import com.simplemobiletools.smsmessenger.R
32+ import com.simplemobiletools.smsmessenger.activities.NewConversationActivity
3233import com.simplemobiletools.smsmessenger.activities.SimpleActivity
3334import com.simplemobiletools.smsmessenger.activities.ThreadActivity
3435import com.simplemobiletools.smsmessenger.dialogs.SelectTextDialog
@@ -68,6 +69,7 @@ class ThreadAdapter(
6869 findItem(R .id.cab_copy_to_clipboard).isVisible = isOneItemSelected && hasText
6970 findItem(R .id.cab_save_as).isVisible = isOneItemSelected && selectedItem?.attachment?.attachments?.size == 1
7071 findItem(R .id.cab_share).isVisible = isOneItemSelected && hasText
72+ findItem(R .id.cab_forward_message).isVisible = isOneItemSelected && hasText
7173 findItem(R .id.cab_select_text).isVisible = isOneItemSelected && hasText
7274 }
7375 }
@@ -81,6 +83,7 @@ class ThreadAdapter(
8183 R .id.cab_copy_to_clipboard -> copyToClipboard()
8284 R .id.cab_save_as -> saveAs()
8385 R .id.cab_share -> shareText()
86+ R .id.cab_forward_message -> forwardMessage()
8487 R .id.cab_select_text -> selectText()
8588 R .id.cab_delete -> askConfirmDelete()
8689 R .id.cab_select_all -> selectAll()
@@ -209,6 +212,15 @@ class ThreadAdapter(
209212 }
210213 }
211214
215+ private fun forwardMessage () {
216+ val message = getSelectedItems().firstOrNull() as ? Message ? : return
217+ Intent (activity, NewConversationActivity ::class .java).apply {
218+ action = Intent .ACTION_SEND
219+ putExtra(Intent .EXTRA_TEXT , message.body)
220+ activity.startActivity(this )
221+ }
222+ }
223+
212224 private fun getSelectedItems () = messages.filter { selectedKeys.contains((it as ? Message )?.hashCode() ? : 0 ) } as ArrayList <ThreadItem >
213225
214226 private fun isThreadDateTime (position : Int ) = messages.getOrNull(position) is ThreadDateTime
0 commit comments