diff --git a/app/src/main/java/org/thoughtcrime/securesms/database/AttachmentTable.kt b/app/src/main/java/org/thoughtcrime/securesms/database/AttachmentTable.kt index 29e4dfe418..50db514432 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/database/AttachmentTable.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/database/AttachmentTable.kt @@ -1044,6 +1044,7 @@ class AttachmentTable( @Throws(MmsException::class) fun insertAttachmentForPreUpload(attachment: Attachment): DatabaseAttachment { + Log.d(TAG, "Inserting attachment $attachment for pre-upload.") val result = insertAttachmentsForMessage(PREUPLOAD_MESSAGE_ID, listOf(attachment), emptyList()) if (result.values.isEmpty()) { diff --git a/app/src/main/java/org/thoughtcrime/securesms/jobs/PushSendJob.java b/app/src/main/java/org/thoughtcrime/securesms/jobs/PushSendJob.java index 07cf66e5bb..9a94086a42 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/jobs/PushSendJob.java +++ b/app/src/main/java/org/thoughtcrime/securesms/jobs/PushSendJob.java @@ -26,6 +26,7 @@ import org.signal.libsignal.zkgroup.InvalidInputException; import org.signal.libsignal.zkgroup.receipts.ReceiptCredentialPresentation; import org.thoughtcrime.securesms.TextSecureExpiredException; import org.thoughtcrime.securesms.attachments.Attachment; +import org.thoughtcrime.securesms.attachments.AttachmentId; import org.thoughtcrime.securesms.attachments.DatabaseAttachment; import org.thoughtcrime.securesms.blurhash.BlurHash; import org.thoughtcrime.securesms.contactshare.Contact; @@ -248,15 +249,17 @@ public abstract class PushSendJob extends SendJob { .toList()); return new HashSet<>(Stream.of(attachments).map(a -> { - AttachmentUploadJob attachmentUploadJob = new AttachmentUploadJob(((DatabaseAttachment) a).attachmentId); + final AttachmentId attachmentId = ((DatabaseAttachment) a).attachmentId; + Log.d(TAG, "Enqueueing job chain to upload " + attachmentId); + AttachmentUploadJob attachmentUploadJob = new AttachmentUploadJob(attachmentId); - jobManager.startChain(AttachmentCompressionJob.fromAttachment((DatabaseAttachment) a, false, -1)) - .then(attachmentUploadJob) - .enqueue(); + jobManager.startChain(AttachmentCompressionJob.fromAttachment((DatabaseAttachment) a, false, -1)) + .then(attachmentUploadJob) + .enqueue(); - return attachmentUploadJob.getId(); - }) - .toList()); + return attachmentUploadJob.getId(); + }) + .toList()); } protected @NonNull List getAttachmentPointersFor(List attachments) { diff --git a/app/src/main/java/org/thoughtcrime/securesms/mediasend/MediaUploadRepository.java b/app/src/main/java/org/thoughtcrime/securesms/mediasend/MediaUploadRepository.java index 52b6737562..56af8c3229 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/mediasend/MediaUploadRepository.java +++ b/app/src/main/java/org/thoughtcrime/securesms/mediasend/MediaUploadRepository.java @@ -67,7 +67,9 @@ public class MediaUploadRepository { public void startUpload(@NonNull Collection mediaItems, @Nullable Recipient recipient) { executor.execute(() -> { for (Media media : mediaItems) { + Log.d(TAG, "Canceling existing preuploads."); cancelUploadInternal(media); + Log.d(TAG, "Re-uploading media with recipient."); uploadMediaInternal(media, recipient); } }); @@ -85,7 +87,9 @@ public class MediaUploadRepository { boolean same = oldMedia.equals(newMedia) && hasSameTransformProperties(oldMedia, newMedia); if (!same || !uploadResults.containsKey(newMedia)) { + Log.d(TAG, "Canceling existing preuploads."); cancelUploadInternal(oldMedia); + Log.d(TAG, "Applying media updates."); uploadMediaInternal(newMedia, recipient); } } @@ -104,6 +108,7 @@ public class MediaUploadRepository { } public void cancelUpload(@NonNull Media media) { + Log.d(TAG, "User canceling media upload."); executor.execute(() -> cancelUploadInternal(media)); } diff --git a/app/src/main/java/org/thoughtcrime/securesms/mediasend/v2/MediaSelectionRepository.kt b/app/src/main/java/org/thoughtcrime/securesms/mediasend/v2/MediaSelectionRepository.kt index 65e55afbc3..958e40841e 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/mediasend/v2/MediaSelectionRepository.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/mediasend/v2/MediaSelectionRepository.kt @@ -104,7 +104,9 @@ class MediaSelectionRepository(context: Context) { val updatedMedia = oldToNewMediaMap.values.toList() for (media in updatedMedia) { - Log.w(TAG, media.uri.toString() + " : " + media.transformProperties.map { t: TransformProperties -> "" + t.videoTrim }.orElse("null")) + val uri: Uri = media.uri + val transformProperties: Boolean? = media.transformProperties.map { it.videoTrim }.orElse(null) + Log.w(TAG, "$uri : trimmed=$transformProperties") } val singleRecipient: Recipient? = singleContact?.let { Recipient.resolved(it.recipientId) } diff --git a/app/src/main/java/org/thoughtcrime/securesms/mediasend/v2/review/MediaReviewFragment.kt b/app/src/main/java/org/thoughtcrime/securesms/mediasend/v2/review/MediaReviewFragment.kt index ca54cd7a47..64b42f915a 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/mediasend/v2/review/MediaReviewFragment.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/mediasend/v2/review/MediaReviewFragment.kt @@ -189,12 +189,14 @@ class MediaReviewFragment : Fragment(R.layout.v2_media_review_fragment), Schedul val multiselectLauncher = registerForActivityResult(multiselectContract) { keys -> if (keys.isNotEmpty()) { + Log.d(TAG, "Performing send from multi-select activity result.") performSend(keys) } } val storiesLauncher = registerForActivityResult(storiesContract) { keys -> if (keys.isNotEmpty()) { + Log.d(TAG, "Performing send from stories activity result.") performSend(keys) } } @@ -243,11 +245,15 @@ class MediaReviewFragment : Fragment(R.layout.v2_media_review_fragment), Schedul } else if (sharedViewModel.isAddToGroupStoryFlow) { MaterialAlertDialogBuilder(requireContext()) .setMessage(getString(R.string.MediaReviewFragment__add_to_the_group_story, sharedViewModel.state.value!!.recipient!!.getDisplayName(requireContext()))) - .setPositiveButton(R.string.MediaReviewFragment__add_to_story) { _, _ -> performSend() } + .setPositiveButton(R.string.MediaReviewFragment__add_to_story) { _, _ -> + Log.d(TAG, "Performing send add to group story dialog.") + performSend() + } .setNegativeButton(android.R.string.cancel) { _, _ -> } .show() scheduledSendTime = null } else { + Log.d(TAG, "Performing send from send button.") performSend() } }