Add thread delete progress logs.
This commit is contained in:
parent
c2aceb2bd1
commit
c91123e8e8
2 changed files with 15 additions and 0 deletions
|
@ -1269,8 +1269,10 @@ public class ConversationListFragment extends MainFragment implements ActionMode
|
|||
|
||||
@Override
|
||||
protected Void doInBackground(Void... params) {
|
||||
Log.d(TAG, "[handleDelete] Deleting " + selectedConversations.size() + " chats");
|
||||
SignalDatabase.threads().deleteConversations(selectedConversations, true);
|
||||
AppDependencies.getMessageNotifier().updateNotification(requireActivity());
|
||||
Log.d(TAG, "[handleDelete] Delete complete");
|
||||
return null;
|
||||
}
|
||||
|
||||
|
|
|
@ -1261,11 +1261,13 @@ class ThreadTable(context: Context, databaseHelper: SignalDatabase) : DatabaseTa
|
|||
}
|
||||
|
||||
fun deleteConversations(selectedConversations: Set<Long>, syncThreadDeletes: Boolean = true) {
|
||||
Log.d(TAG, "[deleteConversations] Deleting ${selectedConversations.size} chats syncThreadDeletes: $syncThreadDeletes")
|
||||
val recipientIds = getRecipientIdsForThreadIds(selectedConversations)
|
||||
|
||||
val addressableMessages = mutableListOf<ThreadDeleteSyncInfo>()
|
||||
|
||||
val queries: List<SqlUtil.Query> = SqlUtil.buildCollectionQuery(ID, selectedConversations)
|
||||
Log.d(TAG, "[deleteConversations] Enter transaction")
|
||||
writableDatabase.withinTransaction { db ->
|
||||
if (syncThreadDeletes) {
|
||||
for (threadId in selectedConversations) {
|
||||
|
@ -1278,17 +1280,27 @@ class ThreadTable(context: Context, databaseHelper: SignalDatabase) : DatabaseTa
|
|||
|
||||
addressableMessages += ThreadDeleteSyncInfo(threadId, mostRecentMessages, mostRecentNonExpiring)
|
||||
}
|
||||
Log.d(TAG, "[deleteConversations] Retrieved sync thread delete addressable messages (${addressableMessages.size})")
|
||||
} else {
|
||||
Log.d(TAG, "[deleteConversations] No addressable messages needed")
|
||||
}
|
||||
|
||||
Log.d(TAG, "[deleteConversations] Deactivating threads")
|
||||
for (query in queries) {
|
||||
db.deactivateThread(query)
|
||||
}
|
||||
|
||||
Log.d(TAG, "[deleteConversations] Deleting messages in thread")
|
||||
messages.deleteMessagesInThread(selectedConversations)
|
||||
Log.d(TAG, "[deleteConversations] Trimming attachments")
|
||||
attachments.trimAllAbandonedAttachments()
|
||||
Log.d(TAG, "[deleteConversations] Deleting abandoned group receipts")
|
||||
groupReceipts.deleteAbandonedRows()
|
||||
Log.d(TAG, "[deleteConversations] Deleting abandoned mentions")
|
||||
mentions.deleteAbandonedMentions()
|
||||
Log.d(TAG, "[deleteConversations] Clearing drafts")
|
||||
drafts.clearDrafts(selectedConversations)
|
||||
Log.d(TAG, "[deleteConversations] Updating threadId cache")
|
||||
synchronized(threadIdCache) {
|
||||
for (recipientId in recipientIds) {
|
||||
threadIdCache.remove(recipientId)
|
||||
|
@ -1296,6 +1308,7 @@ class ThreadTable(context: Context, databaseHelper: SignalDatabase) : DatabaseTa
|
|||
}
|
||||
}
|
||||
|
||||
Log.d(TAG, "[deleteConversations] Enqueue jobs and notify listeners")
|
||||
DeleteAbandonedAttachmentsJob.enqueue()
|
||||
|
||||
if (syncThreadDeletes) {
|
||||
|
|
Loading…
Add table
Reference in a new issue