From ae4c0d1242e029db2c5f5f5829ad2f82663f3ddb Mon Sep 17 00:00:00 2001 From: Sagar <85388413+Sagar0-0@users.noreply.github.com> Date: Fri, 2 May 2025 01:05:46 +0530 Subject: [PATCH] Add paging for getArchivedRecipients. --- .../securesms/database/ThreadTable.kt | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/app/src/main/java/org/thoughtcrime/securesms/database/ThreadTable.kt b/app/src/main/java/org/thoughtcrime/securesms/database/ThreadTable.kt index 629c942e04..79ff6f5248 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/database/ThreadTable.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/database/ThreadTable.kt @@ -962,9 +962,19 @@ class ThreadTable(context: Context, databaseHelper: SignalDatabase) : DatabaseTa } fun getArchivedRecipients(): Set { - return getArchivedConversationList(ConversationFilter.OFF).readToList { cursor -> - RecipientId.from(cursor.requireLong(RECIPIENT_ID)) - }.toSet() + var offset = 0L + val result = mutableSetOf() + + do { + val recipientIds = getArchivedConversationList(ConversationFilter.OFF, offset, 500).readToList { cursor -> + RecipientId.from(cursor.requireLong(RECIPIENT_ID)) + } + + result.addAll(recipientIds) + offset += recipientIds.size + } while (recipientIds.isNotEmpty()) + + return result } fun getInboxPositions(): Map {