Merge branch 'refactor-sending' of github.com:hjubb/session-android into origin/refactor-sending

This commit is contained in:
jubb 2021-03-29 14:16:58 +11:00
commit d292c760c4
3 changed files with 25 additions and 7 deletions

View File

@ -121,7 +121,7 @@ class Storage(context: Context, helper: SQLCipherOpenHelper) : Database(context,
val mmsDatabase = DatabaseFactory.getMmsDatabase(context) val mmsDatabase = DatabaseFactory.getMmsDatabase(context)
val insertResult = if (message.sender == getUserPublicKey()) { val insertResult = if (message.sender == getUserPublicKey()) {
val mediaMessage = OutgoingMediaMessage.from(message, targetRecipient, pointerAttachments, quote.orNull(), linkPreviews.orNull().firstOrNull()) val mediaMessage = OutgoingMediaMessage.from(message, targetRecipient, pointerAttachments, quote.orNull(), linkPreviews.orNull()?.firstOrNull())
mmsDatabase.beginTransaction() mmsDatabase.beginTransaction()
mmsDatabase.insertSecureDecryptedMessageOutbox(mediaMessage, message.threadID ?: -1, message.sentTimestamp!!) mmsDatabase.insertSecureDecryptedMessageOutbox(mediaMessage, message.threadID ?: -1, message.sentTimestamp!!)
} else { } else {

View File

@ -3,13 +3,12 @@ package org.session.libsession.messaging.messages.visible
import android.util.Size import android.util.Size
import android.webkit.MimeTypeMap import android.webkit.MimeTypeMap
import com.google.protobuf.ByteString import com.google.protobuf.ByteString
import org.session.libsession.messaging.sending_receiving.attachments.DatabaseAttachment import org.session.libsession.messaging.sending_receiving.attachments.Attachment as SignalAttachment
import org.session.libsession.messaging.sending_receiving.attachments.PointerAttachment
import org.session.libsignal.libsignal.util.guava.Optional import org.session.libsignal.libsignal.util.guava.Optional
import org.session.libsignal.service.api.messages.SignalServiceAttachmentPointer import org.session.libsignal.service.api.messages.SignalServiceAttachmentPointer
import org.session.libsignal.service.internal.push.SignalServiceProtos import org.session.libsignal.service.internal.push.SignalServiceProtos
import org.session.libsignal.utilities.Base64
import java.io.File import java.io.File
import org.session.libsession.messaging.sending_receiving.attachments.Attachment as SignalAttachment
class Attachment { class Attachment {
@ -101,9 +100,7 @@ class Attachment {
fun toSignalAttachment(): SignalAttachment? { fun toSignalAttachment(): SignalAttachment? {
if (!isValid()) return null if (!isValid()) return null
return DatabaseAttachment(null, 0, false, false, contentType, 0, return PointerAttachment.forAttachment((this))
sizeInBytes?.toLong() ?: 0, if (fileName.isNullOrEmpty()) null else fileName, null, Base64.encodeBytes(key), null, digest, null, kind == Kind.VOICE_MESSAGE,
size?.width ?: 0, size?.height ?: 0, false, caption, url)
} }
fun toSignalPointer(): SignalServiceAttachmentPointer? { fun toSignalPointer(): SignalServiceAttachmentPointer? {

View File

@ -169,4 +169,25 @@ public class PointerAttachment extends Attachment {
thumbnail != null ? thumbnail.asPointer().getCaption().orNull() : null, thumbnail != null ? thumbnail.asPointer().getCaption().orNull() : null,
thumbnail != null ? thumbnail.asPointer().getUrl() : "")); thumbnail != null ? thumbnail.asPointer().getUrl() : ""));
} }
/**
* Converts a Session Attachment to a Signal Attachment
* @param attachment Session Attachment
* @return Signal Attachment
*/
public static Attachment forAttachment(org.session.libsession.messaging.messages.visible.Attachment attachment) {
return new PointerAttachment(attachment.getContentType(),
AttachmentTransferProgress.TRANSFER_PROGRESS_PENDING,
attachment.getSizeInBytes(),
attachment.getFileName(),
null, Base64.encodeBytes(attachment.getKey()),
null,
attachment.getDigest(),
null,
attachment.getKind() == org.session.libsession.messaging.messages.visible.Attachment.Kind.VOICE_MESSAGE,
attachment.getSize() != null ? attachment.getSize().getWidth() : 0,
attachment.getSize() != null ? attachment.getSize().getHeight() : 0,
attachment.getCaption(),
attachment.getUrl());
}
} }