Add proper media review send tint.

fork-5.53.8
Alex Hart 2022-08-03 09:42:14 -03:00 zatwierdzone przez Greyson Parrelli
rodzic d7d923c820
commit 5f7b07147f
1 zmienionych plików z 21 dodań i 8 usunięć

Wyświetl plik

@ -39,6 +39,7 @@ import org.thoughtcrime.securesms.mediasend.v2.MediaValidator
import org.thoughtcrime.securesms.mediasend.v2.stories.StoriesMultiselectForwardActivity import org.thoughtcrime.securesms.mediasend.v2.stories.StoriesMultiselectForwardActivity
import org.thoughtcrime.securesms.mms.SentMediaQuality import org.thoughtcrime.securesms.mms.SentMediaQuality
import org.thoughtcrime.securesms.permissions.Permissions import org.thoughtcrime.securesms.permissions.Permissions
import org.thoughtcrime.securesms.recipients.Recipient
import org.thoughtcrime.securesms.util.LifecycleDisposable import org.thoughtcrime.securesms.util.LifecycleDisposable
import org.thoughtcrime.securesms.util.MediaUtil import org.thoughtcrime.securesms.util.MediaUtil
import org.thoughtcrime.securesms.util.adapter.mapping.MappingAdapter import org.thoughtcrime.securesms.util.adapter.mapping.MappingAdapter
@ -61,7 +62,7 @@ class MediaReviewFragment : Fragment(R.layout.v2_media_review_fragment) {
private lateinit var cropAndRotateButton: View private lateinit var cropAndRotateButton: View
private lateinit var qualityButton: ImageView private lateinit var qualityButton: ImageView
private lateinit var saveButton: View private lateinit var saveButton: View
private lateinit var sendButton: View private lateinit var sendButton: ImageView
private lateinit var addMediaButton: View private lateinit var addMediaButton: View
private lateinit var viewOnceButton: ViewSwitcher private lateinit var viewOnceButton: ViewSwitcher
private lateinit var viewOnceMessage: TextView private lateinit var viewOnceMessage: TextView
@ -219,7 +220,7 @@ class MediaReviewFragment : Fragment(R.layout.v2_media_review_fragment) {
state.selectedMedia.map { MediaReviewSelectedItem.Model(it, state.focusedMedia == it) } + MediaReviewAddItem.Model state.selectedMedia.map { MediaReviewSelectedItem.Model(it, state.focusedMedia == it) } + MediaReviewAddItem.Model
) )
presentSendButton(state.sendType) presentSendButton(state.sendType, state.recipient)
presentPager(state) presentPager(state)
presentAddMessageEntry(state.message) presentAddMessageEntry(state.message)
presentImageQualityToggle(state.quality) presentImageQualityToggle(state.quality)
@ -303,14 +304,26 @@ class MediaReviewFragment : Fragment(R.layout.v2_media_review_fragment) {
) )
} }
private fun presentSendButton(sendType: MessageSendType) { private fun presentSendButton(sendType: MessageSendType, recipient: Recipient?) {
val sendButtonTint = if (sendType.usesSignalTransport) { val sendButtonBackgroundTint = when {
R.color.signal_colorOnSecondaryContainer recipient != null -> recipient.chatColors.asSingleColor()
} else { sendType.usesSignalTransport -> ContextCompat.getColor(requireContext(), R.color.signal_colorOnSecondaryContainer)
R.color.core_grey_50 else -> ContextCompat.getColor(requireContext(), R.color.core_grey_50)
} }
ViewCompat.setBackgroundTintList(sendButton, ColorStateList.valueOf(ContextCompat.getColor(requireContext(), sendButtonTint))) val sendButtonForegroundDrawable = when {
recipient != null -> ContextCompat.getDrawable(requireContext(), R.drawable.ic_send_24)
else -> ContextCompat.getDrawable(requireContext(), R.drawable.ic_arrow_end_24)
}
val sendButtonForegroundTint = when {
recipient != null -> ContextCompat.getColor(requireContext(), R.color.signal_colorOnCustom)
else -> ContextCompat.getColor(requireContext(), R.color.signal_colorSecondaryContainer)
}
sendButton.setImageDrawable(sendButtonForegroundDrawable)
sendButton.setColorFilter(sendButtonForegroundTint)
ViewCompat.setBackgroundTintList(sendButton, ColorStateList.valueOf(sendButtonBackgroundTint))
} }
private fun presentPager(state: MediaSelectionState) { private fun presentPager(state: MediaSelectionState) {