From dad9d469e182dac8019190f5dfeee1262f3b6e53 Mon Sep 17 00:00:00 2001 From: "B. Petersen" Date: Fri, 21 Sep 2018 21:27:28 +0200 Subject: [PATCH] allow pulsing positions in ConversationList --- .../thoughtcrime/securesms/ConversationAdapter.java | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/src/org/thoughtcrime/securesms/ConversationAdapter.java b/src/org/thoughtcrime/securesms/ConversationAdapter.java index 762a4c323..4a90b6b61 100644 --- a/src/org/thoughtcrime/securesms/ConversationAdapter.java +++ b/src/org/thoughtcrime/securesms/ConversationAdapter.java @@ -91,7 +91,7 @@ public class ConversationAdapter private ApplicationDcContext dcContext; private @NonNull int[] dcMsgList = new int[0]; - private int recordToPulseHighlight; + private int positionToPulseHighlight = -1; protected static class ViewHolder extends RecyclerView.ViewHolder { public ViewHolder(final @NonNull V itemView) { @@ -191,9 +191,13 @@ public class ConversationAdapter ConversationAdapter.ViewHolder holder = (ConversationAdapter.ViewHolder)viewHolder; Optional previous = position >= dcMsgList.length-1? Optional.absent() : Optional.of(getMsg(position+1)); Optional next = position <= 0? Optional.absent() : Optional.of(getMsg(position-1)); - boolean pulseHighlight = position == recordToPulseHighlight; + boolean pulseHighlight = position == positionToPulseHighlight; holder.getItem().bind(getMsg(position), previous, next, glideRequests, locale, batchSelected, recipient, pulseHighlight); + + if (pulseHighlight) { + positionToPulseHighlight = -1; + } } @Override @@ -283,8 +287,8 @@ public class ConversationAdapter } public void pulseHighlightItem(int position) { - if (position < getItemCount()) { - recordToPulseHighlight = position; + if (position>=0 && position < getItemCount()) { + positionToPulseHighlight = position; notifyItemChanged(position); } }