From b6c033b0751e714f7bc992cf023dc30423c22d6d Mon Sep 17 00:00:00 2001 From: Alex Hart Date: Thu, 15 May 2025 13:52:18 -0300 Subject: [PATCH] Fix timer updating on chats list. --- .../securesms/conversation/ConversationUpdateTick.kt | 4 ++-- .../conversationlist/ConversationListFragment.java | 8 ++++---- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/app/src/main/java/org/thoughtcrime/securesms/conversation/ConversationUpdateTick.kt b/app/src/main/java/org/thoughtcrime/securesms/conversation/ConversationUpdateTick.kt index 7bf386577d..5d8b2295af 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/conversation/ConversationUpdateTick.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/conversation/ConversationUpdateTick.kt @@ -34,7 +34,7 @@ class ConversationUpdateTick( if (lastTick > 0) { val timeSinceLastTick = System.currentTimeMillis() - lastTick - if (timeSinceLastTick <= 0) { + if (timeSinceLastTick < 0) { Log.w(TAG, "Time since last tick is invalid. Reinitializing and posting update in $TIMEOUT ms") lastTick = System.currentTimeMillis() @@ -42,7 +42,7 @@ class ConversationUpdateTick( } val timeUntilNextTick = Util.clamp(TIMEOUT - timeSinceLastTick, 0, TIMEOUT) - if (timeSinceLastTick == 0L) { + if (timeUntilNextTick == 0L) { Log.i(TAG, "Last tick outside timeout period. Posting update immediately") handler.post(this::onTick) } else { diff --git a/app/src/main/java/org/thoughtcrime/securesms/conversationlist/ConversationListFragment.java b/app/src/main/java/org/thoughtcrime/securesms/conversationlist/ConversationListFragment.java index cef64d373a..2f8b619dfa 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/conversationlist/ConversationListFragment.java +++ b/app/src/main/java/org/thoughtcrime/securesms/conversationlist/ConversationListFragment.java @@ -118,6 +118,7 @@ import org.thoughtcrime.securesms.contacts.paged.ContactSearchKey; import org.thoughtcrime.securesms.contacts.paged.ContactSearchMediator; import org.thoughtcrime.securesms.contacts.paged.ContactSearchState; import org.thoughtcrime.securesms.conversation.ConversationIntents; +import org.thoughtcrime.securesms.conversation.ConversationUpdateTick; import org.thoughtcrime.securesms.conversationlist.chatfilter.ConversationFilterRequest; import org.thoughtcrime.securesms.conversationlist.chatfilter.ConversationFilterSource; import org.thoughtcrime.securesms.conversationlist.chatfilter.ConversationListFilterPullView; @@ -490,10 +491,6 @@ public class ConversationListFragment extends MainFragment implements ActionMode setAdapter(defaultAdapter); } - if (activeAdapter instanceof TimestampPayloadSupport) { - ((TimestampPayloadSupport) activeAdapter).notifyTimestampPayloadUpdate(); - } - SignalProxyUtil.startListeningToWebsocket(); if (SignalStore.rateLimit().needsRecaptcha()) { @@ -821,6 +818,9 @@ public class ConversationListFragment extends MainFragment implements ActionMode }); } }); + + ConversationUpdateTick conversationUpdateTick = new ConversationUpdateTick(() -> defaultAdapter.notifyTimestampPayloadUpdate()); + getViewLifecycleOwner().getLifecycle().addObserver(conversationUpdateTick); } @SuppressWarnings("rawtypes")