From d40be0abf8363510b5f61c42c0fff750817299a8 Mon Sep 17 00:00:00 2001 From: Alex Hart Date: Mon, 25 Jul 2022 13:18:09 -0300 Subject: [PATCH] Maintain send button tinting in media preview. --- .../thoughtcrime/securesms/MediaPreviewActivity.java | 3 +++ .../forward/MultiselectForwardFragmentArgs.kt | 10 ++++++++-- 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/app/src/main/java/org/thoughtcrime/securesms/MediaPreviewActivity.java b/app/src/main/java/org/thoughtcrime/securesms/MediaPreviewActivity.java index 14dceb8bd..1bbfd11b2 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/MediaPreviewActivity.java +++ b/app/src/main/java/org/thoughtcrime/securesms/MediaPreviewActivity.java @@ -84,6 +84,8 @@ import java.util.Locale; import java.util.Map; import java.util.Objects; +import io.reactivex.rxjava3.subjects.BehaviorSubject; + /** * Activity for displaying media attachments in-app */ @@ -397,6 +399,7 @@ public final class MediaPreviewActivity extends PassphraseRequiredActivity if (mediaItem != null) { MultiselectForwardFragmentArgs.create( this, + threadId, mediaItem.uri, mediaItem.type, args -> MultiselectForwardFragment.showBottomSheet(getSupportFragmentManager(), args) diff --git a/app/src/main/java/org/thoughtcrime/securesms/conversation/mutiselect/forward/MultiselectForwardFragmentArgs.kt b/app/src/main/java/org/thoughtcrime/securesms/conversation/mutiselect/forward/MultiselectForwardFragmentArgs.kt index 8bdb27f29..cb7f1f299 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/conversation/mutiselect/forward/MultiselectForwardFragmentArgs.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/conversation/mutiselect/forward/MultiselectForwardFragmentArgs.kt @@ -15,6 +15,7 @@ import org.thoughtcrime.securesms.attachments.Attachment import org.thoughtcrime.securesms.conversation.ConversationMessage import org.thoughtcrime.securesms.conversation.mutiselect.Multiselect import org.thoughtcrime.securesms.conversation.mutiselect.MultiselectPart +import org.thoughtcrime.securesms.database.SignalDatabase import org.thoughtcrime.securesms.database.model.MmsMessageRecord import org.thoughtcrime.securesms.mediasend.Media import org.thoughtcrime.securesms.mms.PartAuthority @@ -50,7 +51,7 @@ data class MultiselectForwardFragmentArgs @JvmOverloads constructor( companion object { @JvmStatic - fun create(context: Context, mediaUri: Uri, mediaType: String, consumer: Consumer) { + fun create(context: Context, threadId: Long, mediaUri: Uri, mediaType: String, consumer: Consumer) { SignalExecutors.BOUNDED.execute { val mediaSize = MediaUtil.getMediaSize(context, mediaUri) val isMmsSupported = Multiselect.isMmsSupported(context, mediaUri, mediaType, mediaSize) @@ -59,12 +60,17 @@ data class MultiselectForwardFragmentArgs @JvmOverloads constructor( .withDataType(mediaType) .build() + val sendButtonTint: Int = threadId.takeIf { it > 0 } + ?.let { SignalDatabase.threads.getRecipientForThreadId(it) }?.chatColors?.asSingleColor() + ?: -1 + ThreadUtil.runOnMain { consumer.accept( MultiselectForwardFragmentArgs( isMmsSupported, listOf(multiShareArgs), - storySendRequirements = Stories.MediaTransform.SendRequirements.CAN_NOT_SEND + storySendRequirements = Stories.MediaTransform.SendRequirements.CAN_NOT_SEND, + sendButtonTint = sendButtonTint ) ) }