Prevent redraw on delayed seen

master
M66B 1 week ago
parent 512a2959fd
commit 8ef55ae3da

@ -1988,7 +1988,7 @@ public class AdapterMessage extends RecyclerView.Adapter<AdapterMessage.ViewHold
pbCalendarWait.setVisibility(View.GONE); pbCalendarWait.setVisibility(View.GONE);
} }
private void bindSeen(TupleMessageEx message) { void bindSeen(TupleMessageEx message) {
if (cards && shadow_unread && shadow_border) { if (cards && shadow_unread && shadow_border) {
boolean shadow = (message.unseen > 0); boolean shadow = (message.unseen > 0);
int color = (shadow int color = (shadow

@ -8438,8 +8438,22 @@ public class FragmentMessages extends FragmentBase
view.postDelayed(new RunnableEx("seen_delay") { view.postDelayed(new RunnableEx("seen_delay") {
@Override @Override
public void delegate() { public void delegate() {
if (values.containsKey("expanded") && values.get("expanded").contains(id)) if (values.containsKey("expanded") && values.get("expanded").contains(id)) {
int pos = adapter.getPositionForKey(id);
if (pos != NO_POSITION) {
TupleMessageEx message = adapter.getItemAtPosition(pos);
AdapterMessage.ViewHolder holder =
(AdapterMessage.ViewHolder) rvMessage.findViewHolderForAdapterPosition(pos);
if (message != null && holder != null) {
message.unseen = 0;
message.ui_seen = true;
message.visible_unseen = 0;
message.ui_unsnoozed = false;
holder.bindSeen(message);
}
}
taskExpand.execute(FragmentMessages.this, dargs, "messages:seen_delay"); taskExpand.execute(FragmentMessages.this, dargs, "messages:seen_delay");
}
} }
}, seen_delay); }, seen_delay);

Loading…
Cancel
Save