mirror of
https://github.com/signalapp/Signal-Android.git
synced 2025-12-23 12:38:33 +00:00
@@ -1684,6 +1684,13 @@ open class RecipientTable(context: Context, databaseHelper: SignalDatabase) : Da
|
|||||||
return updated
|
return updated
|
||||||
}
|
}
|
||||||
|
|
||||||
|
fun containsId(id: RecipientId): Boolean {
|
||||||
|
return readableDatabase
|
||||||
|
.exists(TABLE_NAME)
|
||||||
|
.where("$ID = ?", id.serialize())
|
||||||
|
.run()
|
||||||
|
}
|
||||||
|
|
||||||
fun setReportingToken(id: RecipientId, reportingToken: ByteArray) {
|
fun setReportingToken(id: RecipientId, reportingToken: ByteArray) {
|
||||||
val values = ContentValues(1).apply {
|
val values = ContentValues(1).apply {
|
||||||
put(REPORTING_TOKEN, reportingToken)
|
put(REPORTING_TOKEN, reportingToken)
|
||||||
|
|||||||
@@ -637,6 +637,13 @@ class ThreadTable(context: Context, databaseHelper: SignalDatabase) : DatabaseTa
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
fun containsId(threadId: Long): Boolean {
|
||||||
|
return readableDatabase
|
||||||
|
.exists(TABLE_NAME)
|
||||||
|
.where("$ID = ?", threadId)
|
||||||
|
.run()
|
||||||
|
}
|
||||||
|
|
||||||
fun getFilteredConversationList(filter: List<RecipientId>, unreadOnly: Boolean): Cursor? {
|
fun getFilteredConversationList(filter: List<RecipientId>, unreadOnly: Boolean): Cursor? {
|
||||||
if (filter.isEmpty()) {
|
if (filter.isEmpty()) {
|
||||||
return null
|
return null
|
||||||
|
|||||||
@@ -55,8 +55,13 @@ public final class PendingRetryReceiptManager extends TimedEventManager<PendingR
|
|||||||
@WorkerThread
|
@WorkerThread
|
||||||
@Override
|
@Override
|
||||||
protected void executeEvent(@NonNull PendingRetryReceiptModel event) {
|
protected void executeEvent(@NonNull PendingRetryReceiptModel event) {
|
||||||
|
if (SignalDatabase.threads().containsId(event.getThreadId()) && SignalDatabase.recipients().containsId(event.getAuthor())) {
|
||||||
Log.w(TAG, "It's been " + (System.currentTimeMillis() - event.getReceivedTimestamp()) + " ms since this retry receipt was received. Showing an error.");
|
Log.w(TAG, "It's been " + (System.currentTimeMillis() - event.getReceivedTimestamp()) + " ms since this retry receipt was received. Showing an error.");
|
||||||
messageDatabase.insertBadDecryptMessage(event.getAuthor(), event.getAuthorDevice(), event.getSentTimestamp(), event.getReceivedTimestamp(), event.getThreadId());
|
messageDatabase.insertBadDecryptMessage(event.getAuthor(), event.getAuthorDevice(), event.getSentTimestamp(), event.getReceivedTimestamp(), event.getThreadId());
|
||||||
|
} else {
|
||||||
|
Log.w(TAG, "Would normally show an error, but the thread or recipient has since been deleted! ThreadId: " + event.getThreadId() + ", RecipientId: " + event.getAuthor());
|
||||||
|
}
|
||||||
|
|
||||||
pendingCache.delete(event);
|
pendingCache.delete(event);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user