mirror of
https://github.com/oxen-io/session-android.git
synced 2025-08-15 01:57:46 +00:00
Disappearing messages job update
This commit is contained in:
@@ -206,6 +206,12 @@ class DatabaseAttachmentProvider(context: Context, helper: SQLCipherOpenHelper)
|
||||
return messageDB.getMessageServerHashes(messageIDs)
|
||||
}
|
||||
|
||||
override fun getMessageTimestampForServerHash(serverHash: String): Long? {
|
||||
return DatabaseComponent.get(context).lokiMessageDatabase().getMessageIdForServerHash(serverHash)?.let {
|
||||
DatabaseComponent.get(context).mmsSmsDatabase().getMessage(it)?.timestamp
|
||||
}
|
||||
}
|
||||
|
||||
override fun getDatabaseAttachment(attachmentId: Long): DatabaseAttachment? {
|
||||
val attachmentDatabase = DatabaseComponent.get(context).attachmentDatabase()
|
||||
return attachmentDatabase.getAttachment(AttachmentId(attachmentId, 0))
|
||||
|
@@ -197,4 +197,9 @@ class LokiMessageDatabase(context: Context, helper: SQLCipherOpenHelper) : Datab
|
||||
database.update(messageThreadMappingTable, contentValues, "$threadID = ?", arrayOf(legacyThreadId.toString()))
|
||||
}
|
||||
|
||||
fun getMessageIdForServerHash(serverHash: String): Long? {
|
||||
return readableDatabase.get(messageHashTable, "$serverHash = ?", arrayOf(serverHash)) { cursor ->
|
||||
cursor.getLong(messageID)
|
||||
}
|
||||
}
|
||||
}
|
@@ -81,6 +81,12 @@ public class MmsSmsDatabase extends Database {
|
||||
super(context, databaseHelper);
|
||||
}
|
||||
|
||||
public @Nullable MessageRecord getMessage(long messageId) {
|
||||
try (Cursor cursor = queryTables(PROJECTION, MmsSmsColumns.ID + " = " + messageId, null, null)) {
|
||||
return readerFor(cursor).getNext();
|
||||
}
|
||||
}
|
||||
|
||||
public @Nullable MessageRecord getMessageForTimestamp(long timestamp) {
|
||||
try (Cursor cursor = queryTables(PROJECTION, MmsSmsColumns.NORMALIZED_DATE_SENT + " = " + timestamp, null, null)) {
|
||||
MmsSmsDatabase.Reader reader = readerFor(cursor);
|
||||
|
@@ -990,7 +990,7 @@ class Storage(context: Context, helper: SQLCipherOpenHelper) : Database(context,
|
||||
val smsDb = DatabaseComponent.get(context).smsDatabase()
|
||||
smsDb.readerFor(smsDb.expirationNotStartedMessages).use { reader ->
|
||||
while (reader.next != null) {
|
||||
if (reader.current.id in messageIds) {
|
||||
if (messageIds.isEmpty() || reader.current.id in messageIds) {
|
||||
expiringMessages.add(reader.current.id to reader.current.expiresIn)
|
||||
}
|
||||
}
|
||||
@@ -998,7 +998,7 @@ class Storage(context: Context, helper: SQLCipherOpenHelper) : Database(context,
|
||||
val mmsDb = DatabaseComponent.get(context).mmsDatabase()
|
||||
mmsDb.expireNotStartedMessages.use { reader ->
|
||||
while (reader.next != null) {
|
||||
if (reader.current.id in messageIds) {
|
||||
if (messageIds.isEmpty() || reader.current.id in messageIds) {
|
||||
expiringMessages.add(reader.current.id to reader.current.expiresIn)
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user