Skip to content

Commit 394a990

Browse files
committed
add text message forwarding
1 parent 5e97a97 commit 394a990

File tree

2 files changed

+16
-0
lines changed

2 files changed

+16
-0
lines changed

app/src/main/kotlin/com/simplemobiletools/smsmessenger/adapters/ThreadAdapter.kt

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@ import com.simplemobiletools.commons.helpers.SimpleContactsHelper
2929
import com.simplemobiletools.commons.helpers.ensureBackgroundThread
3030
import com.simplemobiletools.commons.views.MyRecyclerView
3131
import com.simplemobiletools.smsmessenger.R
32+
import com.simplemobiletools.smsmessenger.activities.NewConversationActivity
3233
import com.simplemobiletools.smsmessenger.activities.SimpleActivity
3334
import com.simplemobiletools.smsmessenger.activities.ThreadActivity
3435
import 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

app/src/main/res/menu/cab_thread.xml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,10 @@
2121
android:icon="@drawable/ic_save_vector"
2222
android:title="@string/save_as"
2323
app:showAsAction="ifRoom" />
24+
<item
25+
android:id="@+id/cab_forward_message"
26+
android:title="@string/forward_message"
27+
app:showAsAction="never" />
2428
<item
2529
android:id="@+id/cab_select_text"
2630
android:title="@string/select_text"

0 commit comments

Comments
 (0)