From e7ad77398fc9e25ff4d7f983e9f32f892d6dc558 Mon Sep 17 00:00:00 2001 From: Christian Ascheberg Date: Sun, 14 Aug 2016 07:55:43 +0200 Subject: [PATCH] fix ConversationItem recipients listener Fixes #4420 Closes #5615 // FREEBIE --- .../securesms/ConversationItem.java | 28 +++++++++++++------ 1 file changed, 19 insertions(+), 9 deletions(-) diff --git a/src/org/thoughtcrime/securesms/ConversationItem.java b/src/org/thoughtcrime/securesms/ConversationItem.java index 72b6bf1a3..1c4e902bb 100644 --- a/src/org/thoughtcrime/securesms/ConversationItem.java +++ b/src/org/thoughtcrime/securesms/ConversationItem.java @@ -39,10 +39,10 @@ import android.widget.LinearLayout; import android.widget.TextView; import android.widget.Toast; +import org.thoughtcrime.securesms.components.AlertView; import org.thoughtcrime.securesms.components.AudioView; import org.thoughtcrime.securesms.components.AvatarImageView; import org.thoughtcrime.securesms.components.DeliveryStatusView; -import org.thoughtcrime.securesms.components.AlertView; import org.thoughtcrime.securesms.components.ExpirationTimerView; import org.thoughtcrime.securesms.components.ThumbnailView; import org.thoughtcrime.securesms.crypto.MasterSecret; @@ -231,12 +231,7 @@ public class ConversationItem extends LinearLayout if (messageRecord.isOutgoing()) { bodyBubble.getBackground().setColorFilter(defaultBubbleColor, PorterDuff.Mode.MULTIPLY); mediaThumbnail.setBackgroundColorHint(defaultBubbleColor); - - if (DynamicTheme.LIGHT.equals(TextSecurePreferences.getTheme(context))) { - audioView.setTint(conversationRecipients.getColor().toConversationColor(context)); - } else { - audioView.setTint(Color.WHITE); - } + setAudioViewTint(messageRecord, conversationRecipients); } else { int color = recipient.getColor().toConversationColor(context); bodyBubble.getBackground().setColorFilter(color, PorterDuff.Mode.MULTIPLY); @@ -244,6 +239,16 @@ public class ConversationItem extends LinearLayout } } + private void setAudioViewTint(MessageRecord messageRecord, Recipients recipients) { + if (messageRecord.isOutgoing()) { + if (DynamicTheme.LIGHT.equals(TextSecurePreferences.getTheme(context))) { + audioView.setTint(recipients.getColor().toConversationColor(context)); + } else { + audioView.setTint(Color.WHITE); + } + } + } + private void setInteractionState(MessageRecord messageRecord) { setSelected(batchSelected.contains(messageRecord)); mediaThumbnail.setFocusable(!shouldInterceptClicks(messageRecord) && batchSelected.isEmpty()); @@ -493,8 +498,13 @@ public class ConversationItem extends LinearLayout } @Override - public void onModified(Recipients recipient) { - onModified(recipient.getPrimaryRecipient()); + public void onModified(final Recipients recipients) { + Util.runOnMain(new Runnable() { + @Override + public void run() { + setAudioViewTint(messageRecord, recipients); + } + }); } private class AttachmentDownloadClickListener implements SlideClickListener {