Skip to content

Commit

Permalink
Share message text to other apps
Browse files Browse the repository at this point in the history
Signed-off-by: Sowjanya Kota <sowjanya.kch@gmail.com>
  • Loading branch information
sowjanyakch committed Jan 2, 2024
1 parent e2aa396 commit 6f695e3
Show file tree
Hide file tree
Showing 2 changed files with 27 additions and 2 deletions.
12 changes: 12 additions & 0 deletions app/src/main/java/com/nextcloud/talk/chat/ChatActivity.kt
Original file line number Diff line number Diff line change
Expand Up @@ -347,6 +347,7 @@ class ChatActivity :
private var isVoicePreviewPlaying: Boolean = false

private var recorder: MediaRecorder? = null

private enum class MediaRecorderState {
INITIAL,
INITIALIZED,
Expand All @@ -356,6 +357,7 @@ class ChatActivity :
RELEASED,
ERROR
}

private var mediaRecorderState: MediaRecorderState = MediaRecorderState.INITIAL

private var voicePreviewMediaPlayer: MediaPlayer? = null
Expand Down Expand Up @@ -4518,6 +4520,16 @@ class ChatActivity :
Log.d(TAG, " |-----------------------------------------------")
}

fun shareMessageText(message: String) {
val sendIntent: Intent = Intent().apply {
action = Intent.ACTION_SEND
putExtra(Intent.EXTRA_TEXT, message)
type = "text/plain"
}
val shareIntent = Intent.createChooser(sendIntent, getString(R.string.share))
startActivity(shareIntent)
}

companion object {
private val TAG = ChatActivity::class.simpleName
private const val CONTENT_TYPE_CALL_STARTED: Byte = 1
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -79,6 +79,12 @@ class MessageActionsDialog(

private lateinit var popup: EmojiPopup

private val messageHasFileAttachment =
ChatMessage.MessageType.SINGLE_NC_ATTACHMENT_MESSAGE == message.getCalculateMessageType()

private val messageHasRegularText = ChatMessage.MessageType.REGULAR_TEXT_MESSAGE == message
.getCalculateMessageType() && !message.isDeleted

override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
NextcloudTalkApplication.sharedApplication?.componentApplication?.inject(this)
Expand Down Expand Up @@ -112,7 +118,7 @@ class MessageActionsDialog(
message.previousMessageId > NO_PREVIOUS_MESSAGE_ID &&
ChatMessage.MessageType.SYSTEM_MESSAGE != message.getCalculateMessageType()
)
initMenuShare(ChatMessage.MessageType.SINGLE_NC_ATTACHMENT_MESSAGE == message.getCalculateMessageType())
initMenuShare(messageHasFileAttachment || messageHasRegularText)
initMenuItemOpenNcApp(
ChatMessage.MessageType.SINGLE_NC_ATTACHMENT_MESSAGE == message.getCalculateMessageType()
)
Expand Down Expand Up @@ -330,13 +336,20 @@ class MessageActionsDialog(

dialogMessageActionsBinding.menuTranslateMessage.visibility = getVisibility(visible)
}

private fun initMenuShare(visible: Boolean) {
if (visible) {
if (messageHasFileAttachment) {
dialogMessageActionsBinding.menuShare.setOnClickListener {
chatActivity.checkIfSharable(message)
dismiss()
}
}
if (messageHasRegularText) {
dialogMessageActionsBinding.menuShare.setOnClickListener {
message.message?.let { messageText -> chatActivity.shareMessageText(messageText) }
dismiss()
}
}
dialogMessageActionsBinding.menuShare.visibility = getVisibility(visible)
}

Expand Down

0 comments on commit 6f695e3

Please sign in to comment.