mirror of
https://github.com/signalapp/Signal-Android.git
synced 2026-04-22 01:40:07 +01:00
Attempt to resend pending messages if job creation failed.
This commit is contained in:
committed by
Greyson Parrelli
parent
173983a1ab
commit
f540886bb8
@@ -146,6 +146,8 @@ import java.util.UUID
|
||||
import java.util.function.Function
|
||||
import kotlin.math.max
|
||||
import kotlin.math.min
|
||||
import kotlin.time.Duration.Companion.days
|
||||
import kotlin.time.Duration.Companion.milliseconds
|
||||
|
||||
open class MessageTable(context: Context?, databaseHelper: SignalDatabase) : DatabaseTable(context, databaseHelper), MessageTypes, RecipientIdDatabaseReference, ThreadIdDatabaseReference {
|
||||
|
||||
@@ -1997,6 +1999,19 @@ open class MessageTable(context: Context?, databaseHelper: SignalDatabase) : Dat
|
||||
}
|
||||
}
|
||||
|
||||
fun getRecentPendingMessages(): MmsReader {
|
||||
val now = System.currentTimeMillis()
|
||||
val oneDayAgo = now.milliseconds - 1.days
|
||||
val messageIds = readableDatabase
|
||||
.select(ID)
|
||||
.from(TABLE_NAME)
|
||||
.where("$DATE_SENT > ${oneDayAgo.inWholeMilliseconds} AND $DATE_SENT < $now AND ($TYPE & ${MessageTypes.BASE_TYPE_MASK}) = ${MessageTypes.BASE_SENDING_TYPE} AND $SCHEDULED_DATE = -1")
|
||||
.run()
|
||||
.readToList { it.requireLong(ID) }
|
||||
|
||||
return getMessages(messageIds)
|
||||
}
|
||||
|
||||
private fun getOriginalEditedMessageRecord(messageId: Long): Long {
|
||||
return readableDatabase.select(ID)
|
||||
.from(TABLE_NAME)
|
||||
@@ -5304,15 +5319,6 @@ open class MessageTable(context: Context?, databaseHelper: SignalDatabase) : Dat
|
||||
val type: Long
|
||||
)
|
||||
|
||||
enum class MessageStatus {
|
||||
PENDING,
|
||||
SENT,
|
||||
DELIVERED,
|
||||
READ,
|
||||
VIEWED,
|
||||
FAILED
|
||||
}
|
||||
|
||||
data class SyncMessageId(
|
||||
val recipientId: RecipientId,
|
||||
val timetamp: Long
|
||||
|
||||
Reference in New Issue
Block a user