mirror of
https://github.com/signalapp/Signal-Android.git
synced 2026-04-21 09:20:19 +01:00
Prevent thread trimming from gumming up the database.
This commit is contained in:
@@ -3322,24 +3322,18 @@ public class MessageTable extends DatabaseTable implements MessageTypes, Recipie
|
||||
SQLiteDatabase db = databaseHelper.getSignalWritableDatabase();
|
||||
String where = THREAD_ID + " = ? AND " + DATE_RECEIVED + " < " + date;
|
||||
|
||||
int count = db.delete(TABLE_NAME, where, SqlUtil.buildArgs(threadId));
|
||||
|
||||
if (count > 0) {
|
||||
OptimizeMessageSearchIndexJob.enqueue();
|
||||
}
|
||||
|
||||
return count;
|
||||
return db.delete(TABLE_NAME, where, SqlUtil.buildArgs(threadId));
|
||||
}
|
||||
|
||||
void deleteAbandonedMessages() {
|
||||
int deleteAbandonedMessages() {
|
||||
SQLiteDatabase db = databaseHelper.getSignalWritableDatabase();
|
||||
String where = THREAD_ID + " NOT IN (SELECT _id FROM " + ThreadTable.TABLE_NAME + ")";
|
||||
|
||||
int deletes = db.delete(TABLE_NAME, where, null);
|
||||
if (deletes > 0) {
|
||||
Log.i(TAG, "Deleted " + deletes + " abandoned messages");
|
||||
OptimizeMessageSearchIndexJob.enqueue();
|
||||
}
|
||||
return deletes;
|
||||
}
|
||||
|
||||
public void deleteRemotelyDeletedStory(long messageId) {
|
||||
|
||||
@@ -45,6 +45,7 @@ import org.thoughtcrime.securesms.database.model.databaseprotos.BodyRangeList
|
||||
import org.thoughtcrime.securesms.database.model.serialize
|
||||
import org.thoughtcrime.securesms.groups.BadGroupIdException
|
||||
import org.thoughtcrime.securesms.groups.GroupId
|
||||
import org.thoughtcrime.securesms.jobs.OptimizeMessageSearchIndexJob
|
||||
import org.thoughtcrime.securesms.keyvalue.SignalStore
|
||||
import org.thoughtcrime.securesms.mms.SlideDeck
|
||||
import org.thoughtcrime.securesms.mms.StickerSlide
|
||||
@@ -311,6 +312,7 @@ class ThreadTable(context: Context, databaseHelper: SignalDatabase) : DatabaseTa
|
||||
|
||||
notifyAttachmentListeners()
|
||||
notifyStickerPackListeners()
|
||||
OptimizeMessageSearchIndexJob.enqueue()
|
||||
}
|
||||
|
||||
fun trimThread(threadId: Long, length: Int, trimBeforeDate: Long) {
|
||||
@@ -333,6 +335,7 @@ class ThreadTable(context: Context, databaseHelper: SignalDatabase) : DatabaseTa
|
||||
|
||||
notifyAttachmentListeners()
|
||||
notifyStickerPackListeners()
|
||||
OptimizeMessageSearchIndexJob.enqueue()
|
||||
}
|
||||
|
||||
private fun trimThreadInternal(threadId: Long, length: Int, trimBeforeDate: Long) {
|
||||
|
||||
Reference in New Issue
Block a user