From 3776e86b833d6ab27230e0af4dbac5fae8b5b81e Mon Sep 17 00:00:00 2001 From: Greyson Parrelli Date: Fri, 26 Jan 2024 15:08:08 -0500 Subject: [PATCH] Update the types of messages we backup. --- .../securesms/backup/FullBackupExporter.java | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/app/src/main/java/org/thoughtcrime/securesms/backup/FullBackupExporter.java b/app/src/main/java/org/thoughtcrime/securesms/backup/FullBackupExporter.java index c1bfb3b23f..d8fca48c20 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/backup/FullBackupExporter.java +++ b/app/src/main/java/org/thoughtcrime/securesms/backup/FullBackupExporter.java @@ -580,18 +580,21 @@ public class FullBackupExporter extends FullBackupBase { } private static boolean isNonExpiringMessage(@NonNull Cursor cursor) { - long expiresIn = CursorUtil.requireLong(cursor, MessageTable.EXPIRES_IN); - boolean viewOnce = CursorUtil.requireBoolean(cursor, MessageTable.VIEW_ONCE); + long expireStarted = CursorUtil.requireLong(cursor, MessageTable.EXPIRE_STARTED); + long expiresIn = CursorUtil.requireLong(cursor, MessageTable.EXPIRES_IN); - if (expiresIn == 0 && !viewOnce) { + if (expireStarted == 0 || expiresIn == 0) { return true; } - return expiresIn > EXPIRATION_BACKUP_THRESHOLD; + long expiresAt = expireStarted + expiresIn; + long timeRemaining = expiresAt - System.currentTimeMillis(); + + return timeRemaining > EXPIRATION_BACKUP_THRESHOLD; } private static boolean isForNonExpiringMessage(@NonNull SQLiteDatabase db, long messageId) { - String[] columns = new String[] { MessageTable.EXPIRES_IN, MessageTable.VIEW_ONCE }; + String[] columns = new String[] { MessageTable.EXPIRE_STARTED, MessageTable.EXPIRES_IN }; String where = MessageTable.ID + " = ?"; String[] args = SqlUtil.buildArgs(messageId);