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 {