mirror of
https://github.com/ArcaneChat/android.git
synced 2026-07-03 14:05:24 +02:00
highlight system messages in search results
This commit is contained in:
@@ -24,6 +24,8 @@ import java.util.Set;
|
||||
public abstract class BaseConversationItem extends LinearLayout
|
||||
implements BindableConversationItem
|
||||
{
|
||||
static long PULSE_HIGHLIGHT_MILLIS = 500;
|
||||
|
||||
protected DcMsg messageRecord;
|
||||
protected DcChat dcChat;
|
||||
protected TextView bodyText;
|
||||
@@ -43,11 +45,26 @@ public abstract class BaseConversationItem extends LinearLayout
|
||||
|
||||
protected void bind(@NonNull DcMsg messageRecord,
|
||||
@NonNull DcChat dcChat,
|
||||
@NonNull Set<DcMsg> batchSelected)
|
||||
@NonNull Set<DcMsg> batchSelected,
|
||||
boolean pulseHighlight)
|
||||
{
|
||||
this.messageRecord = messageRecord;
|
||||
this.dcChat = dcChat;
|
||||
this.batchSelected = batchSelected;
|
||||
setInteractionState(messageRecord, pulseHighlight);
|
||||
}
|
||||
|
||||
protected void setInteractionState(DcMsg messageRecord, boolean pulseHighlight) {
|
||||
if (batchSelected.contains(messageRecord)) {
|
||||
setBackgroundResource(R.drawable.conversation_item_background);
|
||||
setSelected(true);
|
||||
} else if (pulseHighlight) {
|
||||
setBackgroundResource(R.drawable.conversation_item_background_animated);
|
||||
setSelected(true);
|
||||
postDelayed(() -> setSelected(false), PULSE_HIGHLIGHT_MILLIS);
|
||||
} else {
|
||||
setSelected(false);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -83,7 +83,6 @@ public class ConversationItem extends BaseConversationItem
|
||||
private static final Rect SWIPE_RECT = new Rect();
|
||||
|
||||
private static final int MAX_MEASURE_CALLS = 3;
|
||||
static long PULSE_HIGHLIGHT_MILLIS = 500;
|
||||
|
||||
private DcContact dcContact;
|
||||
private Locale locale;
|
||||
@@ -163,7 +162,7 @@ public class ConversationItem extends BaseConversationItem
|
||||
@NonNull Recipient recipients,
|
||||
boolean pulseHighlight)
|
||||
{
|
||||
bind(messageRecord, dcChat, batchSelected);
|
||||
bind(messageRecord, dcChat, batchSelected, pulseHighlight);
|
||||
this.locale = locale;
|
||||
this.glideRequests = glideRequests;
|
||||
this.conversationRecipient = recipients;
|
||||
@@ -176,7 +175,6 @@ public class ConversationItem extends BaseConversationItem
|
||||
setGutterSizes(messageRecord, showSender);
|
||||
setMessageShape(messageRecord);
|
||||
setMediaAttributes(messageRecord, showSender);
|
||||
setInteractionState(messageRecord, pulseHighlight);
|
||||
setBodyText(messageRecord);
|
||||
setBubbleState(messageRecord);
|
||||
setContactPhoto();
|
||||
@@ -270,17 +268,9 @@ public class ConversationItem extends BaseConversationItem
|
||||
}
|
||||
}
|
||||
|
||||
private void setInteractionState(DcMsg messageRecord, boolean pulseHighlight) {
|
||||
if (batchSelected.contains(messageRecord)) {
|
||||
setBackgroundResource(R.drawable.conversation_item_background);
|
||||
setSelected(true);
|
||||
} else if (pulseHighlight) {
|
||||
setBackgroundResource(R.drawable.conversation_item_background_animated);
|
||||
setSelected(true);
|
||||
postDelayed(() -> setSelected(false), PULSE_HIGHLIGHT_MILLIS);
|
||||
} else {
|
||||
setSelected(false);
|
||||
}
|
||||
@Override
|
||||
protected void setInteractionState(DcMsg messageRecord, boolean pulseHighlight) {
|
||||
super.setInteractionState(messageRecord, pulseHighlight);
|
||||
|
||||
if (mediaThumbnailStub.resolved()) {
|
||||
mediaThumbnailStub.get().setFocusable(!shouldInterceptClicks(messageRecord) && batchSelected.isEmpty());
|
||||
|
||||
@@ -55,9 +55,8 @@ public class ConversationUpdateItem extends BaseConversationItem
|
||||
@NonNull Recipient conversationRecipient,
|
||||
boolean pulseUpdate)
|
||||
{
|
||||
bind(messageRecord, dcChat, batchSelected);
|
||||
bind(messageRecord, dcChat, batchSelected, pulseUpdate);
|
||||
setGenericInfoRecord(messageRecord);
|
||||
setSelected(batchSelected.contains(messageRecord));
|
||||
}
|
||||
|
||||
private void initializeAttributes() {
|
||||
|
||||
Reference in New Issue
Block a user