Fixed content issue

This commit is contained in:
Sylvain Berfini 2021-06-28 11:48:32 +02:00
parent 46d25ce4a9
commit f9fae8d4b1

View file

@ -64,6 +64,7 @@ class ChatMessageContentData(
get() { get() {
var count = 0 var count = 0
for (content in chatMessage.contents) { for (content in chatMessage.contents) {
val content = getContent()
if (content.isFileTransfer || content.isFile) { if (content.isFileTransfer || content.isFile) {
count += 1 count += 1
} }
@ -72,7 +73,10 @@ class ChatMessageContentData(
} }
var isFileEncrypted: Boolean = false var isFileEncrypted: Boolean = false
private lateinit var content: Content
private fun getContent(): Content {
return chatMessage.contents[contentIndex]
}
private val chatMessageListener: ChatMessageListenerStub = object : ChatMessageListenerStub() { private val chatMessageListener: ChatMessageListenerStub = object : ChatMessageListenerStub() {
override fun onFileTransferProgressIndication( override fun onFileTransferProgressIndication(
@ -81,7 +85,7 @@ class ChatMessageContentData(
offset: Int, offset: Int,
total: Int total: Int
) { ) {
if (c.filePath == content.filePath) { if (c.filePath == getContent().filePath) {
val percent = offset * 100 / total val percent = offset * 100 / total
Log.d("[Content] Download progress is: $offset / $total ($percent%)") Log.d("[Content] Download progress is: $offset / $total ($percent%)")
@ -100,7 +104,7 @@ class ChatMessageContentData(
Log.i("[Chat Message] File transfer done") Log.i("[Chat Message] File transfer done")
if (!message.isOutgoing && !message.isEphemeral) { if (!message.isOutgoing && !message.isEphemeral) {
Log.i("[Chat Message] Adding content to media store") Log.i("[Chat Message] Adding content to media store")
coreContext.addContentToMediaStore(content) coreContext.addContentToMediaStore(getContent())
} }
} }
} }
@ -128,6 +132,7 @@ class ChatMessageContentData(
} }
fun download() { fun download() {
val content = getContent()
val filePath = content.filePath val filePath = content.filePath
if (content.isFileTransfer && (filePath == null || filePath.isEmpty())) { if (content.isFileTransfer && (filePath == null || filePath.isEmpty())) {
val contentName = content.name val contentName = content.name
@ -143,11 +148,11 @@ class ChatMessageContentData(
} }
fun openFile() { fun openFile() {
listener?.onContentClicked(content) listener?.onContentClicked(getContent())
} }
private fun updateContent() { private fun updateContent() {
content = chatMessage.contents[contentIndex] val content = getContent()
isFileEncrypted = content.isFileEncrypted isFileEncrypted = content.isFileEncrypted
filePath.value = "" filePath.value = ""