mirror of
https://github.com/signalapp/Signal-Android.git
synced 2026-07-13 17:23:56 +01:00
Rename SignalDatabase.sms/mms to SignalDatabase.messages
This commit is contained in:
+3
-3
@@ -72,7 +72,7 @@ class ConversationItemPreviewer {
|
||||
attachments = PointerAttachment.forPointers(Optional.of(attachments)),
|
||||
)
|
||||
|
||||
SignalDatabase.mms.insertSecureDecryptedMessageInbox(message, SignalDatabase.threads.getOrCreateThreadIdFor(other)).get()
|
||||
SignalDatabase.messages.insertSecureDecryptedMessageInbox(message, SignalDatabase.threads.getOrCreateThreadIdFor(other)).get()
|
||||
|
||||
ThreadUtil.sleep(1)
|
||||
}
|
||||
@@ -91,7 +91,7 @@ class ConversationItemPreviewer {
|
||||
attachments = PointerAttachment.forPointers(Optional.of(attachments)),
|
||||
)
|
||||
|
||||
val insert = SignalDatabase.mms.insertSecureDecryptedMessageInbox(message, SignalDatabase.threads.getOrCreateThreadIdFor(other)).get()
|
||||
val insert = SignalDatabase.messages.insertSecureDecryptedMessageInbox(message, SignalDatabase.threads.getOrCreateThreadIdFor(other)).get()
|
||||
|
||||
SignalDatabase.attachments.getAttachmentsForMessage(insert.messageId).forEachIndexed { index, attachment ->
|
||||
// if (index != 1) {
|
||||
@@ -117,7 +117,7 @@ class ConversationItemPreviewer {
|
||||
isSecure = true
|
||||
)
|
||||
|
||||
val insert = SignalDatabase.mms.insertMessageOutbox(
|
||||
val insert = SignalDatabase.messages.insertMessageOutbox(
|
||||
message,
|
||||
SignalDatabase.threads.getOrCreateThreadIdFor(other),
|
||||
false,
|
||||
|
||||
+1
-1
@@ -27,7 +27,7 @@ class MessageTableTest_gifts {
|
||||
|
||||
@Before
|
||||
fun setUp() {
|
||||
mms = SignalDatabase.mms
|
||||
mms = SignalDatabase.messages
|
||||
|
||||
mms.deleteAllThreads()
|
||||
|
||||
|
||||
@@ -53,13 +53,13 @@ object MmsHelper {
|
||||
message: OutgoingMessage,
|
||||
threadId: Long
|
||||
): Long {
|
||||
return SignalDatabase.mms.insertMessageOutbox(message, threadId, false, GroupReceiptTable.STATUS_UNKNOWN, null)
|
||||
return SignalDatabase.messages.insertMessageOutbox(message, threadId, false, GroupReceiptTable.STATUS_UNKNOWN, null)
|
||||
}
|
||||
|
||||
fun insert(
|
||||
message: IncomingMediaMessage,
|
||||
threadId: Long
|
||||
): Optional<MessageTable.InsertResult> {
|
||||
return SignalDatabase.mms.insertSecureDecryptedMessageInbox(message, threadId)
|
||||
return SignalDatabase.messages.insertSecureDecryptedMessageInbox(message, threadId)
|
||||
}
|
||||
}
|
||||
|
||||
+10
-10
@@ -37,7 +37,7 @@ class MmsTableTest_stories {
|
||||
|
||||
@Before
|
||||
fun setUp() {
|
||||
mms = SignalDatabase.mms
|
||||
mms = SignalDatabase.messages
|
||||
|
||||
mms.deleteAllThreads()
|
||||
|
||||
@@ -106,14 +106,14 @@ class MmsTableTest_stories {
|
||||
-1L
|
||||
).get().messageId
|
||||
|
||||
val messageBeforeMark = SignalDatabase.mms.getMessageRecord(messageId)
|
||||
val messageBeforeMark = SignalDatabase.messages.getMessageRecord(messageId)
|
||||
assertFalse(messageBeforeMark.incomingStoryViewedAtTimestamp > 0)
|
||||
|
||||
// WHEN
|
||||
SignalDatabase.mms.setIncomingMessageViewed(messageId)
|
||||
SignalDatabase.messages.setIncomingMessageViewed(messageId)
|
||||
|
||||
// THEN
|
||||
val messageAfterMark = SignalDatabase.mms.getMessageRecord(messageId)
|
||||
val messageAfterMark = SignalDatabase.messages.getMessageRecord(messageId)
|
||||
assertTrue(messageAfterMark.incomingStoryViewedAtTimestamp > 0)
|
||||
}
|
||||
|
||||
@@ -136,12 +136,12 @@ class MmsTableTest_stories {
|
||||
|
||||
val randomizedOrderedIds = messageIds.shuffled()
|
||||
randomizedOrderedIds.forEach {
|
||||
SignalDatabase.mms.setIncomingMessageViewed(it)
|
||||
SignalDatabase.messages.setIncomingMessageViewed(it)
|
||||
Thread.sleep(5)
|
||||
}
|
||||
|
||||
// WHEN
|
||||
val result = SignalDatabase.mms.getOrderedStoryRecipientsAndIds(false)
|
||||
val result = SignalDatabase.messages.getOrderedStoryRecipientsAndIds(false)
|
||||
val resultOrderedIds = result.map { it.messageId }
|
||||
|
||||
// THEN
|
||||
@@ -183,7 +183,7 @@ class MmsTableTest_stories {
|
||||
val interspersedIds: List<Long> = (0 until 10).map {
|
||||
Thread.sleep(5)
|
||||
if (it % 2 == 0) {
|
||||
SignalDatabase.mms.setIncomingMessageViewed(viewedIds[it / 2])
|
||||
SignalDatabase.messages.setIncomingMessageViewed(viewedIds[it / 2])
|
||||
viewedIds[it / 2]
|
||||
} else {
|
||||
MmsHelper.insert(
|
||||
@@ -195,7 +195,7 @@ class MmsTableTest_stories {
|
||||
}
|
||||
}
|
||||
|
||||
val result = SignalDatabase.mms.getOrderedStoryRecipientsAndIds(false)
|
||||
val result = SignalDatabase.messages.getOrderedStoryRecipientsAndIds(false)
|
||||
val resultOrderedIds = result.map { it.messageId }
|
||||
|
||||
assertEquals(unviewedIds.reversed() + interspersedIds.reversed(), resultOrderedIds)
|
||||
@@ -353,7 +353,7 @@ class MmsTableTest_stories {
|
||||
)
|
||||
|
||||
// WHEN
|
||||
val oldestTimestamp = SignalDatabase.mms.getOldestStorySendTimestamp(false)
|
||||
val oldestTimestamp = SignalDatabase.messages.getOldestStorySendTimestamp(false)
|
||||
|
||||
// THEN
|
||||
assertNull(oldestTimestamp)
|
||||
@@ -372,7 +372,7 @@ class MmsTableTest_stories {
|
||||
)
|
||||
|
||||
// WHEN
|
||||
val oldestTimestamp = SignalDatabase.mms.getOldestStorySendTimestamp(true)
|
||||
val oldestTimestamp = SignalDatabase.messages.getOldestStorySendTimestamp(true)
|
||||
|
||||
// THEN
|
||||
assertEquals(expected, oldestTimestamp)
|
||||
|
||||
+15
-15
@@ -393,13 +393,13 @@ class RecipientTableTest_getAndPossiblyMerge {
|
||||
val recipientIdE164: RecipientId = SignalDatabase.recipients.getOrInsertFromE164(E164_A)
|
||||
val recipientIdAciB: RecipientId = SignalDatabase.recipients.getOrInsertFromServiceId(ACI_B)
|
||||
|
||||
val smsId1: Long = SignalDatabase.sms.insertMessageInbox(smsMessage(sender = recipientIdAci, time = 0, body = "0")).get().messageId
|
||||
val smsId2: Long = SignalDatabase.sms.insertMessageInbox(smsMessage(sender = recipientIdE164, time = 1, body = "1")).get().messageId
|
||||
val smsId3: Long = SignalDatabase.sms.insertMessageInbox(smsMessage(sender = recipientIdAci, time = 2, body = "2")).get().messageId
|
||||
val smsId1: Long = SignalDatabase.messages.insertMessageInbox(smsMessage(sender = recipientIdAci, time = 0, body = "0")).get().messageId
|
||||
val smsId2: Long = SignalDatabase.messages.insertMessageInbox(smsMessage(sender = recipientIdE164, time = 1, body = "1")).get().messageId
|
||||
val smsId3: Long = SignalDatabase.messages.insertMessageInbox(smsMessage(sender = recipientIdAci, time = 2, body = "2")).get().messageId
|
||||
|
||||
val mmsId1: Long = SignalDatabase.mms.insertSecureDecryptedMessageInbox(mmsMessage(sender = recipientIdAci, time = 3, body = "3"), -1).get().messageId
|
||||
val mmsId2: Long = SignalDatabase.mms.insertSecureDecryptedMessageInbox(mmsMessage(sender = recipientIdE164, time = 4, body = "4"), -1).get().messageId
|
||||
val mmsId3: Long = SignalDatabase.mms.insertSecureDecryptedMessageInbox(mmsMessage(sender = recipientIdAci, time = 5, body = "5"), -1).get().messageId
|
||||
val mmsId1: Long = SignalDatabase.messages.insertSecureDecryptedMessageInbox(mmsMessage(sender = recipientIdAci, time = 3, body = "3"), -1).get().messageId
|
||||
val mmsId2: Long = SignalDatabase.messages.insertSecureDecryptedMessageInbox(mmsMessage(sender = recipientIdE164, time = 4, body = "4"), -1).get().messageId
|
||||
val mmsId3: Long = SignalDatabase.messages.insertSecureDecryptedMessageInbox(mmsMessage(sender = recipientIdAci, time = 5, body = "5"), -1).get().messageId
|
||||
|
||||
val threadIdAci: Long = SignalDatabase.threads.getThreadIdFor(recipientIdAci)!!
|
||||
val threadIdE164: Long = SignalDatabase.threads.getThreadIdFor(recipientIdE164)!!
|
||||
@@ -450,9 +450,9 @@ class RecipientTableTest_getAndPossiblyMerge {
|
||||
Assert.assertNull(SignalDatabase.threads.getThreadRecord(threadIdE164))
|
||||
|
||||
// SMS validation
|
||||
val sms1: MessageRecord = SignalDatabase.sms.getMessageRecord(smsId1)!!
|
||||
val sms2: MessageRecord = SignalDatabase.sms.getMessageRecord(smsId2)!!
|
||||
val sms3: MessageRecord = SignalDatabase.sms.getMessageRecord(smsId3)!!
|
||||
val sms1: MessageRecord = SignalDatabase.messages.getMessageRecord(smsId1)!!
|
||||
val sms2: MessageRecord = SignalDatabase.messages.getMessageRecord(smsId2)!!
|
||||
val sms3: MessageRecord = SignalDatabase.messages.getMessageRecord(smsId3)!!
|
||||
|
||||
assertEquals(retrievedId, sms1.recipient.id)
|
||||
assertEquals(retrievedId, sms2.recipient.id)
|
||||
@@ -463,9 +463,9 @@ class RecipientTableTest_getAndPossiblyMerge {
|
||||
assertEquals(retrievedThreadId, sms3.threadId)
|
||||
|
||||
// MMS validation
|
||||
val mms1: MessageRecord = SignalDatabase.mms.getMessageRecord(mmsId1)!!
|
||||
val mms2: MessageRecord = SignalDatabase.mms.getMessageRecord(mmsId2)!!
|
||||
val mms3: MessageRecord = SignalDatabase.mms.getMessageRecord(mmsId3)!!
|
||||
val mms1: MessageRecord = SignalDatabase.messages.getMessageRecord(mmsId1)!!
|
||||
val mms2: MessageRecord = SignalDatabase.messages.getMessageRecord(mmsId2)!!
|
||||
val mms3: MessageRecord = SignalDatabase.messages.getMessageRecord(mmsId3)!!
|
||||
|
||||
assertEquals(retrievedId, mms1.recipient.id)
|
||||
assertEquals(retrievedId, mms2.recipient.id)
|
||||
@@ -624,7 +624,7 @@ class RecipientTableTest_getAndPossiblyMerge {
|
||||
if (createThread) {
|
||||
// Create a thread and throw a dummy message in it so it doesn't get automatically deleted
|
||||
SignalDatabase.threads.getOrCreateThreadIdFor(Recipient.resolved(id))
|
||||
SignalDatabase.sms.insertMessageInbox(IncomingEncryptedMessage(IncomingTextMessage(id, 1, 0, 0, 0, "", Optional.empty(), 0, false, ""), ""))
|
||||
SignalDatabase.messages.insertMessageInbox(IncomingEncryptedMessage(IncomingTextMessage(id, 1, 0, 0, 0, "", Optional.empty(), 0, false, ""), ""))
|
||||
}
|
||||
}
|
||||
|
||||
@@ -667,12 +667,12 @@ class RecipientTableTest_getAndPossiblyMerge {
|
||||
}
|
||||
|
||||
fun expectChangeNumberEvent() {
|
||||
assertEquals(1, SignalDatabase.sms.getChangeNumberMessageCount(outputRecipientId))
|
||||
assertEquals(1, SignalDatabase.messages.getChangeNumberMessageCount(outputRecipientId))
|
||||
changeNumberExpected = true
|
||||
}
|
||||
|
||||
fun expectNoChangeNumberEvent() {
|
||||
assertEquals(0, SignalDatabase.sms.getChangeNumberMessageCount(outputRecipientId))
|
||||
assertEquals(0, SignalDatabase.messages.getChangeNumberMessageCount(outputRecipientId))
|
||||
changeNumberExpected = false
|
||||
}
|
||||
|
||||
|
||||
+1
-1
@@ -45,7 +45,7 @@ class SmsDatabaseTest_collapseJoinRequestEventsIfPossible {
|
||||
@Before
|
||||
fun setUp() {
|
||||
recipients = SignalDatabase.recipients
|
||||
sms = SignalDatabase.sms
|
||||
sms = SignalDatabase.messages
|
||||
|
||||
SignalStore.account().setAci(localAci)
|
||||
SignalStore.account().setPni(localPni)
|
||||
|
||||
@@ -184,7 +184,7 @@ class StorySendTableTest {
|
||||
@Test
|
||||
fun getRemoteDeleteRecipients_overlapWithPreviousDeletes() {
|
||||
storySends.insert(messageId1, recipients1to10, 200, false, distributionId1)
|
||||
SignalDatabase.mms.markAsRemoteDelete(messageId1)
|
||||
SignalDatabase.messages.markAsRemoteDelete(messageId1)
|
||||
|
||||
storySends.insert(messageId2, recipients6to15, 200, true, distributionId2)
|
||||
|
||||
@@ -281,7 +281,7 @@ class StorySendTableTest {
|
||||
fun givenTwoStoriesAndOneIsRemoteDeleted_whenIGetFullSentStorySyncManifestForStory2_thenIExpectNonNullResult() {
|
||||
storySends.insert(messageId1, recipients1to10, 200, false, distributionId1)
|
||||
storySends.insert(messageId2, recipients1to10, 200, true, distributionId2)
|
||||
SignalDatabase.mms.markAsRemoteDelete(messageId1)
|
||||
SignalDatabase.messages.markAsRemoteDelete(messageId1)
|
||||
|
||||
val manifest = storySends.getFullSentStorySyncManifest(messageId2, 200)!!
|
||||
|
||||
@@ -294,7 +294,7 @@ class StorySendTableTest {
|
||||
storySends.insert(messageId1, recipients1to10, 200, false, distributionId1)
|
||||
storySends.insert(messageId1, recipients11to20, 200, false, distributionId1)
|
||||
storySends.insert(messageId2, recipients1to10, 200, true, distributionId2)
|
||||
SignalDatabase.mms.markAsRemoteDelete(messageId1)
|
||||
SignalDatabase.messages.markAsRemoteDelete(messageId1)
|
||||
|
||||
val recipientIds = storySends.getRecipientIdsForManifestUpdate(200, messageId1)
|
||||
|
||||
@@ -306,7 +306,7 @@ class StorySendTableTest {
|
||||
storySends.insert(messageId1, recipients1to10, 200, false, distributionId1)
|
||||
storySends.insert(messageId2, recipients1to10, 200, true, distributionId2)
|
||||
storySends.insert(messageId2, recipients11to20, 200, true, distributionId2)
|
||||
SignalDatabase.mms.markAsRemoteDelete(messageId1)
|
||||
SignalDatabase.messages.markAsRemoteDelete(messageId1)
|
||||
val recipientIds = storySends.getRecipientIdsForManifestUpdate(200, messageId1)
|
||||
|
||||
val results = storySends.getSentStorySyncManifestForUpdate(200, recipientIds)
|
||||
@@ -319,7 +319,7 @@ class StorySendTableTest {
|
||||
fun givenTwoStoriesAndTheOneThatAllowedRepliesIsRemoteDeleted_whenIGetPartialSentStorySyncManifest_thenIExpectAllowRepliesToBeTrue() {
|
||||
storySends.insert(messageId1, recipients1to10, 200, false, distributionId1)
|
||||
storySends.insert(messageId2, recipients1to10, 200, true, distributionId2)
|
||||
SignalDatabase.mms.markAsRemoteDelete(messageId2)
|
||||
SignalDatabase.messages.markAsRemoteDelete(messageId2)
|
||||
val recipientIds = storySends.getRecipientIdsForManifestUpdate(200, messageId1)
|
||||
|
||||
val results = storySends.getSentStorySyncManifestForUpdate(200, recipientIds)
|
||||
@@ -377,7 +377,7 @@ class StorySendTableTest {
|
||||
|
||||
storySends.applySentStoryManifest(remote, 200)
|
||||
|
||||
SignalDatabase.mms.getMessageRecord(messageId5)
|
||||
SignalDatabase.messages.getMessageRecord(messageId5)
|
||||
fail("Expected messageId5 to no longer exist.")
|
||||
}
|
||||
|
||||
@@ -402,7 +402,7 @@ class StorySendTableTest {
|
||||
|
||||
storySends.applySentStoryManifest(remote, 200)
|
||||
|
||||
assertFalse(SignalDatabase.mms.getMessageRecord(messageId4).isRemoteDelete)
|
||||
assertFalse(SignalDatabase.messages.getMessageRecord(messageId4).isRemoteDelete)
|
||||
}
|
||||
|
||||
@Test
|
||||
|
||||
+3
-3
@@ -34,7 +34,7 @@ class ThreadTableTest_pinned {
|
||||
SignalDatabase.threads.pinConversations(listOf(threadId))
|
||||
|
||||
// WHEN
|
||||
SignalDatabase.mms.deleteMessage(messageId)
|
||||
SignalDatabase.messages.deleteMessage(messageId)
|
||||
|
||||
// THEN
|
||||
val pinned = SignalDatabase.threads.getPinnedThreadIds()
|
||||
@@ -49,7 +49,7 @@ class ThreadTableTest_pinned {
|
||||
SignalDatabase.threads.pinConversations(listOf(threadId))
|
||||
|
||||
// WHEN
|
||||
SignalDatabase.mms.deleteMessage(messageId)
|
||||
SignalDatabase.messages.deleteMessage(messageId)
|
||||
|
||||
// THEN
|
||||
val unarchivedCount = SignalDatabase.threads.getUnarchivedConversationListCount(ConversationFilter.OFF)
|
||||
@@ -64,7 +64,7 @@ class ThreadTableTest_pinned {
|
||||
SignalDatabase.threads.pinConversations(listOf(threadId))
|
||||
|
||||
// WHEN
|
||||
SignalDatabase.mms.deleteMessage(messageId)
|
||||
SignalDatabase.messages.deleteMessage(messageId)
|
||||
|
||||
// THEN
|
||||
SignalDatabase.threads.getUnarchivedConversationList(ConversationFilter.OFF, true, 0, 1).use {
|
||||
|
||||
+8
-8
@@ -30,12 +30,12 @@ class MessageContentProcessor__handleStoryMessageTest : MessageContentProcessorT
|
||||
|
||||
@Before
|
||||
fun setUp() {
|
||||
SignalDatabase.mms.deleteAllThreads()
|
||||
SignalDatabase.messages.deleteAllThreads()
|
||||
}
|
||||
|
||||
@After
|
||||
fun tearDown() {
|
||||
SignalDatabase.mms.deleteAllThreads()
|
||||
SignalDatabase.messages.deleteAllThreads()
|
||||
}
|
||||
|
||||
@Test
|
||||
@@ -77,11 +77,11 @@ class MessageContentProcessor__handleStoryMessageTest : MessageContentProcessorT
|
||||
it.requireLong(MessageTable.ID)
|
||||
}
|
||||
|
||||
val replyRecord = SignalDatabase.mms.getMessageRecord(replyId) as MediaMmsMessageRecord
|
||||
val replyRecord = SignalDatabase.messages.getMessageRecord(replyId) as MediaMmsMessageRecord
|
||||
assertEquals(ParentStoryId.DirectReply(storyMessageId).serialize(), replyRecord.parentStoryId!!.serialize())
|
||||
assertEquals(expectedBody, replyRecord.body)
|
||||
|
||||
SignalDatabase.mms.deleteAllThreads()
|
||||
SignalDatabase.messages.deleteAllThreads()
|
||||
}
|
||||
|
||||
@Test
|
||||
@@ -137,19 +137,19 @@ class MessageContentProcessor__handleStoryMessageTest : MessageContentProcessorT
|
||||
|
||||
runTestWithContent(storyContent)
|
||||
|
||||
val replyId = SignalDatabase.mms.getStoryReplies(insertResult.get().messageId).use { cursor ->
|
||||
val replyId = SignalDatabase.messages.getStoryReplies(insertResult.get().messageId).use { cursor ->
|
||||
assertEquals(1, cursor.count)
|
||||
cursor.moveToFirst()
|
||||
cursor.requireLong(MessageTable.ID)
|
||||
}
|
||||
|
||||
val replyRecord = SignalDatabase.mms.getMessageRecord(replyId) as MediaMmsMessageRecord
|
||||
val replyRecord = SignalDatabase.messages.getMessageRecord(replyId) as MediaMmsMessageRecord
|
||||
assertEquals(ParentStoryId.GroupReply(insertResult.get().messageId).serialize(), replyRecord.parentStoryId?.serialize())
|
||||
assertEquals(threadForGroup, replyRecord.threadId)
|
||||
assertEquals(expectedBody, replyRecord.body)
|
||||
|
||||
SignalDatabase.mms.deleteGroupStoryReplies(insertResult.get().messageId)
|
||||
SignalDatabase.mms.deleteAllThreads()
|
||||
SignalDatabase.messages.deleteGroupStoryReplies(insertResult.get().messageId)
|
||||
SignalDatabase.messages.deleteAllThreads()
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
+1
-1
@@ -23,7 +23,7 @@ class MessageContentProcessor__handleTextMessageTest : MessageContentProcessorTe
|
||||
testSubject.doProcess(content = content!!)
|
||||
|
||||
// THEN
|
||||
val record = SignalDatabase.sms.getMessageRecord(1)
|
||||
val record = SignalDatabase.messages.getMessageRecord(1)
|
||||
val threadSize = SignalDatabase.mmsSms.getConversationCount(record.threadId)
|
||||
assertEquals(1, threadSize)
|
||||
|
||||
|
||||
@@ -34,7 +34,7 @@ class SignalDatabaseRule(
|
||||
|
||||
private fun deleteAllThreads() {
|
||||
if (deleteAllThreadsOnEachRun) {
|
||||
SignalDatabase.mms.deleteAllThreads()
|
||||
SignalDatabase.messages.deleteAllThreads()
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
+1
-1
@@ -33,7 +33,7 @@ class ViewGiftRepository {
|
||||
fun getGiftBadge(messageId: Long): Observable<GiftBadge> {
|
||||
return Observable.create { emitter ->
|
||||
fun refresh() {
|
||||
val record = SignalDatabase.mms.getMessageRecord(messageId)
|
||||
val record = SignalDatabase.messages.getMessageRecord(messageId)
|
||||
val giftBadge: GiftBadge = (record as MmsMessageRecord).giftBadge!!
|
||||
|
||||
emitter.onNext(giftBadge)
|
||||
|
||||
@@ -361,9 +361,9 @@ public class ConversationItemFooter extends ConstraintLayout {
|
||||
boolean mms = messageRecord.isMms();
|
||||
|
||||
if (mms) {
|
||||
SignalDatabase.mms().markExpireStarted(id);
|
||||
SignalDatabase.messages().markExpireStarted(id);
|
||||
} else {
|
||||
SignalDatabase.sms().markExpireStarted(id);
|
||||
SignalDatabase.messages().markExpireStarted(id);
|
||||
}
|
||||
|
||||
expirationManager.scheduleDeletion(id, mms, messageRecord.getExpiresIn());
|
||||
|
||||
+2
-2
@@ -8,8 +8,8 @@ import org.thoughtcrime.securesms.database.SignalDatabase
|
||||
import org.thoughtcrime.securesms.util.FeatureFlags
|
||||
|
||||
class SmsSettingsRepository(
|
||||
private val smsDatabase: MessageTable = SignalDatabase.sms,
|
||||
private val mmsDatabase: MessageTable = SignalDatabase.mms
|
||||
private val smsDatabase: MessageTable = SignalDatabase.messages,
|
||||
private val mmsDatabase: MessageTable = SignalDatabase.messages
|
||||
) {
|
||||
fun getSmsExportState(): Single<SmsExportState> {
|
||||
if (!FeatureFlags.smsExporter()) {
|
||||
|
||||
+1
-1
@@ -48,7 +48,7 @@ class InternalSettingsRepository(context: Context) {
|
||||
imageHeight = 720
|
||||
)
|
||||
|
||||
SignalDatabase.sms.insertBoostRequestMessage(recipientId, threadId)
|
||||
SignalDatabase.messages.insertBoostRequestMessage(recipientId, threadId)
|
||||
|
||||
if (insertResult != null) {
|
||||
SignalDatabase.attachments.getAttachmentsForMessage(insertResult.messageId)
|
||||
|
||||
+2
-2
@@ -242,13 +242,13 @@ class InternalConversationSettingsFragment : DSLSettingsFragment(
|
||||
val splitRecipient: Recipient = Recipient.resolved(splitRecipientId)
|
||||
val splitThreadId: Long = SignalDatabase.threads.getOrCreateThreadIdFor(splitRecipient)
|
||||
|
||||
val messageId: Long = SignalDatabase.sms.insertMessageOutbox(
|
||||
val messageId: Long = SignalDatabase.messages.insertMessageOutbox(
|
||||
OutgoingMessage.text(splitRecipient, "Test Message ${System.currentTimeMillis()}", 0),
|
||||
splitThreadId,
|
||||
false,
|
||||
null
|
||||
)
|
||||
SignalDatabase.sms.markAsSent(messageId, true)
|
||||
SignalDatabase.messages.markAsSent(messageId, true)
|
||||
|
||||
SignalDatabase.threads.update(splitThreadId, true)
|
||||
|
||||
|
||||
+1
-1
@@ -239,7 +239,7 @@ final class VoiceNotePlaybackPreparer implements MediaSessionConnector.Playbac
|
||||
|
||||
private @NonNull List<MediaItem> loadMediaItemsForSinglePlayback(long messageId) {
|
||||
try {
|
||||
MessageRecord messageRecord = SignalDatabase.mms()
|
||||
MessageRecord messageRecord = SignalDatabase.messages()
|
||||
.getMessageRecord(messageId);
|
||||
|
||||
if (!MessageRecordUtil.hasAudio(messageRecord)) {
|
||||
|
||||
+1
-1
@@ -256,7 +256,7 @@ public class VoiceNotePlaybackService extends MediaBrowserServiceCompat {
|
||||
}
|
||||
long messageId = extras.getLong(VoiceNoteMediaItemFactory.EXTRA_MESSAGE_ID);
|
||||
RecipientId recipientId = RecipientId.from(extras.getString(VoiceNoteMediaItemFactory.EXTRA_INDIVIDUAL_RECIPIENT_ID));
|
||||
MessageTable messageDatabase = SignalDatabase.mms();
|
||||
MessageTable messageDatabase = SignalDatabase.messages();
|
||||
|
||||
MessageTable.MarkedMessageInfo markedMessageInfo = messageDatabase.setIncomingMessageViewed(messageId);
|
||||
|
||||
|
||||
@@ -193,7 +193,7 @@ object ContactDiscovery {
|
||||
Recipient.resolvedList(newUserIds)
|
||||
.filter { !it.isSelf && it.hasAUserSetDisplayName(context) && !hasSession(it.id) }
|
||||
.map { IncomingJoinedMessage(it.id) }
|
||||
.map { SignalDatabase.sms.insertMessageInbox(it) }
|
||||
.map { SignalDatabase.messages.insertMessageInbox(it) }
|
||||
.filter { it.isPresent }
|
||||
.map { it.get() }
|
||||
.forEach { result ->
|
||||
|
||||
+1
-1
@@ -167,7 +167,7 @@ public class ConversationDataSource implements PagedDataSource<MessageId, Conver
|
||||
@Override
|
||||
public @Nullable ConversationMessage load(@NonNull MessageId messageId) {
|
||||
Stopwatch stopwatch = new Stopwatch("load(" + messageId + "), thread " + threadId);
|
||||
MessageTable database = messageId.isMms() ? SignalDatabase.mms() : SignalDatabase.sms();
|
||||
MessageTable database = messageId.isMms() ? SignalDatabase.messages() : SignalDatabase.messages();
|
||||
MessageRecord record = database.getMessageRecordOrNull(messageId.getId());
|
||||
|
||||
if (record instanceof MediaMmsMessageRecord &&
|
||||
|
||||
@@ -1060,13 +1060,7 @@ public class ConversationFragment extends LoggingFragment implements Multiselect
|
||||
@Override
|
||||
protected Void doInBackground(Void... voids) {
|
||||
for (MessageRecord messageRecord : messageRecords) {
|
||||
boolean threadDeleted;
|
||||
|
||||
if (messageRecord.isMms()) {
|
||||
threadDeleted = SignalDatabase.mms().deleteMessage(messageRecord.getId());
|
||||
} else {
|
||||
threadDeleted = SignalDatabase.sms().deleteMessage(messageRecord.getId());
|
||||
}
|
||||
boolean threadDeleted = SignalDatabase.messages().deleteMessage(messageRecord.getId());
|
||||
|
||||
if (threadDeleted) {
|
||||
threadId = -1;
|
||||
@@ -1372,7 +1366,7 @@ public class ConversationFragment extends LoggingFragment implements Multiselect
|
||||
|
||||
private void scrollToNextMention() {
|
||||
SimpleTask.run(getViewLifecycleOwner().getLifecycle(), () -> {
|
||||
return SignalDatabase.mms().getOldestUnreadMentionDetails(threadId);
|
||||
return SignalDatabase.messages().getOldestUnreadMentionDetails(threadId);
|
||||
}, (pair) -> {
|
||||
if (pair != null) {
|
||||
jumpToMessage(pair.first(), pair.second(), () -> {});
|
||||
|
||||
@@ -2560,8 +2560,8 @@ public final class ConversationItem extends RelativeLayout implements BindableCo
|
||||
if (message > -1) builder.setMessage(message);
|
||||
|
||||
builder.setPositiveButton(R.string.yes, (dialogInterface, i) -> {
|
||||
MessageTable db = messageRecord.isMms() ? SignalDatabase.mms()
|
||||
: SignalDatabase.sms();
|
||||
MessageTable db = messageRecord.isMms() ? SignalDatabase.messages()
|
||||
: SignalDatabase.messages();
|
||||
|
||||
db.markAsInsecure(messageRecord.getId());
|
||||
db.markAsOutbox(messageRecord.getId());
|
||||
@@ -2579,9 +2579,9 @@ public final class ConversationItem extends RelativeLayout implements BindableCo
|
||||
|
||||
builder.setNegativeButton(R.string.no, (dialogInterface, i) -> {
|
||||
if (messageRecord.isMms()) {
|
||||
SignalDatabase.mms().markAsSentFailed(messageRecord.getId());
|
||||
SignalDatabase.messages().markAsSentFailed(messageRecord.getId());
|
||||
} else {
|
||||
SignalDatabase.sms().markAsSentFailed(messageRecord.getId());
|
||||
SignalDatabase.messages().markAsSentFailed(messageRecord.getId());
|
||||
}
|
||||
});
|
||||
builder.show();
|
||||
|
||||
+2
-2
@@ -115,7 +115,7 @@ class ConversationRepository {
|
||||
|
||||
void markGiftBadgeRevealed(long messageId) {
|
||||
SignalExecutors.BOUNDED_IO.execute(() -> {
|
||||
List<MessageTable.MarkedMessageInfo> markedMessageInfo = SignalDatabase.mms().setOutgoingGiftsRevealed(Collections.singletonList(messageId));
|
||||
List<MessageTable.MarkedMessageInfo> markedMessageInfo = SignalDatabase.messages().setOutgoingGiftsRevealed(Collections.singletonList(messageId));
|
||||
if (!markedMessageInfo.isEmpty()) {
|
||||
Log.d(TAG, "Marked gift badge revealed. Sending view sync message.");
|
||||
MultiDeviceViewedUpdateJob.enqueue(
|
||||
@@ -208,7 +208,7 @@ class ConversationRepository {
|
||||
}
|
||||
|
||||
if (RecipientUtil.isSmsOnly(threadId, recipient) && (!recipient.isMmsGroup() || Util.isDefaultSmsProvider(context))) {
|
||||
SignalDatabase.sms().insertSmsExportMessage(recipient.getId(), threadId);
|
||||
SignalDatabase.messages().insertSmsExportMessage(recipient.getId(), threadId);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
+1
-1
@@ -89,7 +89,7 @@ public class MessageCountsViewModel extends ViewModel {
|
||||
}
|
||||
|
||||
private int getUnreadMentionsCount(@NonNull Context context, long threadId) {
|
||||
return SignalDatabase.mms().getUnreadMentionCount(threadId);
|
||||
return SignalDatabase.messages().getUnreadMentionCount(threadId);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
+2
-2
@@ -49,9 +49,9 @@ class MessageQuotesRepository {
|
||||
val rootMessageId: MessageId = SignalDatabase.mmsSms.getRootOfQuoteChain(messageId)
|
||||
|
||||
var originalRecord: MessageRecord? = if (rootMessageId.mms) {
|
||||
SignalDatabase.mms.getMessageRecordOrNull(rootMessageId.id)
|
||||
SignalDatabase.messages.getMessageRecordOrNull(rootMessageId.id)
|
||||
} else {
|
||||
SignalDatabase.sms.getMessageRecordOrNull(rootMessageId.id)
|
||||
SignalDatabase.messages.getMessageRecordOrNull(rootMessageId.id)
|
||||
}
|
||||
|
||||
if (originalRecord == null) {
|
||||
|
||||
+5
-10
@@ -18,7 +18,6 @@ import org.thoughtcrime.securesms.crypto.ReentrantSessionLock;
|
||||
import org.thoughtcrime.securesms.crypto.storage.SignalIdentityKeyStore;
|
||||
import org.thoughtcrime.securesms.database.IdentityTable;
|
||||
import org.thoughtcrime.securesms.database.MessageTable;
|
||||
import org.thoughtcrime.securesms.database.MmsSmsTable;
|
||||
import org.thoughtcrime.securesms.database.NoSuchMessageException;
|
||||
import org.thoughtcrime.securesms.database.SignalDatabase;
|
||||
import org.thoughtcrime.securesms.database.model.IdentityRecord;
|
||||
@@ -63,9 +62,7 @@ public final class SafetyNumberChangeRepository {
|
||||
public Single<TrustAndVerifyResult> trustOrVerifyChangedRecipientsAndResendRx(@NonNull List<SafetyNumberRecipient> safetyNumberRecipients, @NonNull MessageId messageId) {
|
||||
Log.d(TAG, "Trust or verify changed recipients and resend message: " + messageId + " for: " + Util.join(safetyNumberRecipients, ","));
|
||||
return Single.fromCallable(() -> {
|
||||
MessageRecord messageRecord = messageId.isMms() ? SignalDatabase.mms().getMessageRecord(messageId.getId())
|
||||
: SignalDatabase.sms().getMessageRecord(messageId.getId());
|
||||
|
||||
MessageRecord messageRecord = SignalDatabase.messages().getMessageRecord(messageId.getId());
|
||||
return trustOrVerifyChangedRecipientsAndResendInternal(fromSafetyNumberRecipients(safetyNumberRecipients), messageRecord);
|
||||
}).subscribeOn(Schedulers.io());
|
||||
}
|
||||
@@ -113,7 +110,7 @@ public final class SafetyNumberChangeRepository {
|
||||
@WorkerThread
|
||||
private @Nullable MessageRecord getMessageRecord(Long messageId, String messageType) {
|
||||
try {
|
||||
return SignalDatabase.mms().getMessageRecord(messageId);
|
||||
return SignalDatabase.messages().getMessageRecord(messageId);
|
||||
} catch (NoSuchMessageException e) {
|
||||
Log.i(TAG, e);
|
||||
}
|
||||
@@ -178,16 +175,14 @@ public final class SafetyNumberChangeRepository {
|
||||
@WorkerThread
|
||||
private void processOutgoingMessageRecord(@NonNull List<ChangedRecipient> changedRecipients, @NonNull MessageRecord messageRecord) {
|
||||
Log.d(TAG, "processOutgoingMessageRecord");
|
||||
MessageTable smsDatabase = SignalDatabase.sms();
|
||||
MessageTable mmsDatabase = SignalDatabase.mms();
|
||||
Set<RecipientId> resendIds = new HashSet<>();
|
||||
Set<RecipientId> resendIds = new HashSet<>();
|
||||
|
||||
for (ChangedRecipient changedRecipient : changedRecipients) {
|
||||
RecipientId id = changedRecipient.getRecipient().getId();
|
||||
IdentityKey identityKey = changedRecipient.getIdentityRecord().getIdentityKey();
|
||||
|
||||
if (messageRecord.isMms()) {
|
||||
mmsDatabase.removeMismatchedIdentity(messageRecord.getId(), id, identityKey);
|
||||
SignalDatabase.messages().removeMismatchedIdentity(messageRecord.getId(), id, identityKey);
|
||||
|
||||
if (messageRecord.getRecipient().isDistributionList() || messageRecord.getRecipient().isPushGroup()) {
|
||||
resendIds.add(id);
|
||||
@@ -195,7 +190,7 @@ public final class SafetyNumberChangeRepository {
|
||||
MessageSender.resend(context, messageRecord);
|
||||
}
|
||||
} else {
|
||||
smsDatabase.removeMismatchedIdentity(messageRecord.getId(), id, identityKey);
|
||||
SignalDatabase.messages().removeMismatchedIdentity(messageRecord.getId(), id, identityKey);
|
||||
|
||||
MessageSender.resend(context, messageRecord);
|
||||
}
|
||||
|
||||
@@ -235,7 +235,7 @@ public class AttachmentTable extends DatabaseTable {
|
||||
values.put(TRANSFER_STATE, TRANSFER_PROGRESS_FAILED);
|
||||
|
||||
database.update(TABLE_NAME, values, PART_ID_WHERE + " AND " + TRANSFER_STATE + " < " + TRANSFER_PROGRESS_PERMANENT_FAILURE, attachmentId.toStrings());
|
||||
notifyConversationListeners(SignalDatabase.mms().getThreadIdForMessage(mmsId));
|
||||
notifyConversationListeners(SignalDatabase.messages().getThreadIdForMessage(mmsId));
|
||||
}
|
||||
|
||||
public void setTransferProgressPermanentFailure(AttachmentId attachmentId, long mmsId)
|
||||
@@ -246,7 +246,7 @@ public class AttachmentTable extends DatabaseTable {
|
||||
values.put(TRANSFER_STATE, TRANSFER_PROGRESS_PERMANENT_FAILURE);
|
||||
|
||||
database.update(TABLE_NAME, values, PART_ID_WHERE, attachmentId.toStrings());
|
||||
notifyConversationListeners(SignalDatabase.mms().getThreadIdForMessage(mmsId));
|
||||
notifyConversationListeners(SignalDatabase.messages().getThreadIdForMessage(mmsId));
|
||||
}
|
||||
|
||||
public @Nullable DatabaseAttachment getAttachment(@NonNull AttachmentId attachmentId)
|
||||
@@ -438,7 +438,7 @@ public class AttachmentTable extends DatabaseTable {
|
||||
db.update(TABLE_NAME, values, MMS_ID + " = ?", new String[] { mmsId + "" });
|
||||
notifyAttachmentListeners();
|
||||
|
||||
long threadId = SignalDatabase.mms().getThreadIdForMessage(mmsId);
|
||||
long threadId = SignalDatabase.messages().getThreadIdForMessage(mmsId);
|
||||
if (threadId > 0) {
|
||||
notifyConversationListeners(threadId);
|
||||
}
|
||||
@@ -641,9 +641,9 @@ public class AttachmentTable extends DatabaseTable {
|
||||
//noinspection ResultOfMethodCallIgnored
|
||||
dataInfo.file.delete();
|
||||
} else {
|
||||
long threadId = SignalDatabase.mms().getThreadIdForMessage(mmsId);
|
||||
long threadId = SignalDatabase.messages().getThreadIdForMessage(mmsId);
|
||||
|
||||
if (!SignalDatabase.mms().isStory(mmsId)) {
|
||||
if (!SignalDatabase.messages().isStory(mmsId)) {
|
||||
SignalDatabase.threads().updateSnippetUriSilently(threadId, PartAuthority.getAttachmentDataUri(attachmentId));
|
||||
}
|
||||
|
||||
@@ -1000,7 +1000,7 @@ public class AttachmentTable extends DatabaseTable {
|
||||
values.put(TRANSFER_STATE, TRANSFER_PROGRESS_DONE);
|
||||
database.update(TABLE_NAME, values, PART_ID_WHERE, ((DatabaseAttachment)attachment).getAttachmentId().toStrings());
|
||||
|
||||
notifyConversationListeners(SignalDatabase.mms().getThreadIdForMessage(messageId));
|
||||
notifyConversationListeners(SignalDatabase.messages().getThreadIdForMessage(messageId));
|
||||
}
|
||||
|
||||
public void setTransferState(long messageId, @NonNull Attachment attachment, int transferState) {
|
||||
@@ -1017,7 +1017,7 @@ public class AttachmentTable extends DatabaseTable {
|
||||
|
||||
values.put(TRANSFER_STATE, transferState);
|
||||
database.update(TABLE_NAME, values, PART_ID_WHERE, attachmentId.toStrings());
|
||||
notifyConversationListeners(SignalDatabase.mms().getThreadIdForMessage(messageId));
|
||||
notifyConversationListeners(SignalDatabase.messages().getThreadIdForMessage(messageId));
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -785,7 +785,7 @@ public class GroupTable extends DatabaseTable implements RecipientIdDatabaseRefe
|
||||
|
||||
update(groupMasterKey, decryptedGroup);
|
||||
|
||||
SignalDatabase.sms().insertGroupV1MigrationEvents(record.getRecipientId(),
|
||||
SignalDatabase.messages().insertGroupV1MigrationEvents(record.getRecipientId(),
|
||||
threadId,
|
||||
new GroupMigrationMembershipChange(pendingMembers, droppedMembers));
|
||||
|
||||
@@ -805,8 +805,8 @@ public class GroupTable extends DatabaseTable implements RecipientIdDatabaseRefe
|
||||
RecipientTable recipientTable = SignalDatabase.recipients();
|
||||
RecipientId groupRecipientId = recipientTable.getOrInsertFromGroupId(groupId);
|
||||
Optional<GroupRecord> existingGroup = getGroup(groupId);
|
||||
String title = decryptedGroup.getTitle();
|
||||
ContentValues contentValues = new ContentValues();
|
||||
String title = decryptedGroup.getTitle();
|
||||
ContentValues contentValues = new ContentValues();
|
||||
|
||||
if (existingGroup.isPresent() && existingGroup.get().getUnmigratedV1Members().size() > 0 && existingGroup.get().isV2Group()) {
|
||||
Set<RecipientId> unmigratedV1Members = new HashSet<>(existingGroup.get().getUnmigratedV1Members());
|
||||
|
||||
@@ -1111,7 +1111,7 @@ public class MessageTable extends DatabaseTable implements MmsSmsColumns, Recipi
|
||||
values.putNull(BODY);
|
||||
|
||||
boolean updated = SQLiteDatabaseExtensionsKt.withinTransaction(getWritableDatabase(), db -> {
|
||||
if (SignalDatabase.sms().hasSmsExportMessage(threadId)) {
|
||||
if (SignalDatabase.messages().hasSmsExportMessage(threadId)) {
|
||||
return false;
|
||||
} else {
|
||||
db.insert(TABLE_NAME, null, values);
|
||||
|
||||
@@ -142,8 +142,8 @@ public class MmsSmsTable extends DatabaseTable {
|
||||
}
|
||||
|
||||
private @NonNull Pair<RecipientId, Long> getGroupAddedBy(long threadId, long lastQuitChecked) {
|
||||
MessageTable mmsDatabase = SignalDatabase.mms();
|
||||
MessageTable smsDatabase = SignalDatabase.sms();
|
||||
MessageTable mmsDatabase = SignalDatabase.messages();
|
||||
MessageTable smsDatabase = SignalDatabase.messages();
|
||||
long latestQuit = mmsDatabase.getLatestGroupQuitTimestamp(threadId, lastQuitChecked);
|
||||
RecipientId id = smsDatabase.getOldestGroupUpdateSender(threadId, latestQuit);
|
||||
|
||||
@@ -185,9 +185,9 @@ public class MmsSmsTable extends DatabaseTable {
|
||||
}
|
||||
|
||||
public @NonNull List<MessageRecord> getMessagesAfterVoiceNoteInclusive(long messageId, long limit) throws NoSuchMessageException {
|
||||
MessageRecord origin = SignalDatabase.mms().getMessageRecord(messageId);
|
||||
List<MessageRecord> mms = SignalDatabase.mms().getMessagesInThreadAfterInclusive(origin.getThreadId(), origin.getDateReceived(), limit);
|
||||
List<MessageRecord> sms = SignalDatabase.sms().getMessagesInThreadAfterInclusive(origin.getThreadId(), origin.getDateReceived(), limit);
|
||||
MessageRecord origin = SignalDatabase.messages().getMessageRecord(messageId);
|
||||
List<MessageRecord> mms = SignalDatabase.messages().getMessagesInThreadAfterInclusive(origin.getThreadId(), origin.getDateReceived(), limit);
|
||||
List<MessageRecord> sms = SignalDatabase.messages().getMessagesInThreadAfterInclusive(origin.getThreadId(), origin.getDateReceived(), limit);
|
||||
|
||||
mms.addAll(sms);
|
||||
Collections.sort(mms, Comparator.comparingLong(DisplayRecord::getDateReceived));
|
||||
@@ -214,7 +214,7 @@ public class MmsSmsTable extends DatabaseTable {
|
||||
try (Cursor cursor = getConversationSnippetCursor(threadId)) {
|
||||
if (cursor.moveToFirst()) {
|
||||
long id = CursorUtil.requireLong(cursor, MmsSmsColumns.ID);
|
||||
return SignalDatabase.mms().getMessageRecord(id);
|
||||
return SignalDatabase.messages().getMessageRecord(id);
|
||||
} else {
|
||||
throw new NoSuchMessageException("no message");
|
||||
}
|
||||
@@ -283,7 +283,7 @@ public class MmsSmsTable extends DatabaseTable {
|
||||
|
||||
MmsMessageRecord targetMessage;
|
||||
try {
|
||||
targetMessage = (MmsMessageRecord) SignalDatabase.mms().getMessageRecord(id.getId());
|
||||
targetMessage = (MmsMessageRecord) SignalDatabase.messages().getMessageRecord(id.getId());
|
||||
} catch (NoSuchMessageException e) {
|
||||
throw new IllegalArgumentException("Invalid message ID!");
|
||||
}
|
||||
@@ -312,7 +312,7 @@ public class MmsSmsTable extends DatabaseTable {
|
||||
public List<MessageRecord> getAllMessagesThatQuote(@NonNull MessageId id) {
|
||||
MessageRecord targetMessage;
|
||||
try {
|
||||
targetMessage = id.isMms() ? SignalDatabase.mms().getMessageRecord(id.getId()) : SignalDatabase.sms().getMessageRecord(id.getId());
|
||||
targetMessage = id.isMms() ? SignalDatabase.messages().getMessageRecord(id.getId()) : SignalDatabase.messages().getMessageRecord(id.getId());
|
||||
} catch (NoSuchMessageException e) {
|
||||
throw new IllegalArgumentException("Invalid message ID!");
|
||||
}
|
||||
@@ -361,8 +361,8 @@ public class MmsSmsTable extends DatabaseTable {
|
||||
}
|
||||
|
||||
public boolean checkMessageExists(@NonNull MessageRecord messageRecord) {
|
||||
MessageTable db = messageRecord.isMms() ? SignalDatabase.mms()
|
||||
: SignalDatabase.sms();
|
||||
MessageTable db = messageRecord.isMms() ? SignalDatabase.messages()
|
||||
: SignalDatabase.messages();
|
||||
|
||||
try (Cursor cursor = db.getMessageCursor(messageRecord.getId())) {
|
||||
return cursor != null && cursor.getCount() > 0;
|
||||
@@ -374,7 +374,7 @@ public class MmsSmsTable extends DatabaseTable {
|
||||
return 0;
|
||||
}
|
||||
|
||||
return SignalDatabase.mms().getSecureMessageCount(threadId);
|
||||
return SignalDatabase.messages().getSecureMessageCount(threadId);
|
||||
}
|
||||
|
||||
public int getOutgoingSecureConversationCount(long threadId) {
|
||||
@@ -382,23 +382,23 @@ public class MmsSmsTable extends DatabaseTable {
|
||||
return 0;
|
||||
}
|
||||
|
||||
return SignalDatabase.mms().getOutgoingSecureMessageCount(threadId);
|
||||
return SignalDatabase.messages().getOutgoingSecureMessageCount(threadId);
|
||||
}
|
||||
|
||||
public int getConversationCount(long threadId) {
|
||||
return SignalDatabase.mms().getMessageCountForThread(threadId);
|
||||
return SignalDatabase.messages().getMessageCountForThread(threadId);
|
||||
}
|
||||
|
||||
public int getConversationCount(long threadId, long beforeTime) {
|
||||
return SignalDatabase.mms().getMessageCountForThread(threadId, beforeTime);
|
||||
return SignalDatabase.messages().getMessageCountForThread(threadId, beforeTime);
|
||||
}
|
||||
|
||||
public int getInsecureSentCount(long threadId) {
|
||||
return SignalDatabase.mms().getInsecureMessagesSentForThread(threadId);
|
||||
return SignalDatabase.messages().getInsecureMessagesSentForThread(threadId);
|
||||
}
|
||||
|
||||
public int getInsecureMessageCountForInsights() {
|
||||
return SignalDatabase.mms().getInsecureMessageCountForInsights();
|
||||
return SignalDatabase.messages().getInsecureMessageCountForInsights();
|
||||
}
|
||||
|
||||
public int getUnexportedInsecureMessagesCount() {
|
||||
@@ -406,11 +406,11 @@ public class MmsSmsTable extends DatabaseTable {
|
||||
}
|
||||
|
||||
public int getUnexportedInsecureMessagesCount(long threadId) {
|
||||
return SignalDatabase.mms().getUnexportedInsecureMessagesCount(threadId);
|
||||
return SignalDatabase.messages().getUnexportedInsecureMessagesCount(threadId);
|
||||
}
|
||||
|
||||
public int getIncomingMeaningfulMessageCountSince(long threadId, long afterTime) {
|
||||
return SignalDatabase.mms().getIncomingMeaningfulMessageCountSince(threadId, afterTime);
|
||||
return SignalDatabase.messages().getIncomingMeaningfulMessageCountSince(threadId, afterTime);
|
||||
}
|
||||
|
||||
public int getMessageCountBeforeDate(long date) {
|
||||
@@ -426,8 +426,8 @@ public class MmsSmsTable extends DatabaseTable {
|
||||
}
|
||||
|
||||
public int getSecureMessageCountForInsights() {
|
||||
int count = SignalDatabase.sms().getSecureMessageCountForInsights();
|
||||
count += SignalDatabase.mms().getSecureMessageCountForInsights();
|
||||
int count = SignalDatabase.messages().getSecureMessageCountForInsights();
|
||||
count += SignalDatabase.messages().getSecureMessageCountForInsights();
|
||||
|
||||
return count;
|
||||
}
|
||||
@@ -437,15 +437,15 @@ public class MmsSmsTable extends DatabaseTable {
|
||||
return false;
|
||||
}
|
||||
|
||||
return SignalDatabase.sms().hasMeaningfulMessage(threadId) ||
|
||||
SignalDatabase.mms().hasMeaningfulMessage(threadId);
|
||||
return SignalDatabase.messages().hasMeaningfulMessage(threadId) ||
|
||||
SignalDatabase.messages().hasMeaningfulMessage(threadId);
|
||||
}
|
||||
|
||||
public long getThreadId(MessageId messageId) {
|
||||
if (messageId.isMms()) {
|
||||
return SignalDatabase.mms().getThreadIdForMessage(messageId.getId());
|
||||
return SignalDatabase.messages().getThreadIdForMessage(messageId.getId());
|
||||
} else {
|
||||
return SignalDatabase.sms().getThreadIdForMessage(messageId.getId());
|
||||
return SignalDatabase.messages().getThreadIdForMessage(messageId.getId());
|
||||
}
|
||||
}
|
||||
|
||||
@@ -454,9 +454,9 @@ public class MmsSmsTable extends DatabaseTable {
|
||||
*/
|
||||
@Deprecated
|
||||
public long getThreadForMessageId(long messageId) {
|
||||
long id = SignalDatabase.sms().getThreadIdForMessage(messageId);
|
||||
long id = SignalDatabase.messages().getThreadIdForMessage(messageId);
|
||||
|
||||
if (id == -1) return SignalDatabase.mms().getThreadIdForMessage(messageId);
|
||||
if (id == -1) return SignalDatabase.messages().getThreadIdForMessage(messageId);
|
||||
else return id;
|
||||
}
|
||||
|
||||
@@ -617,14 +617,14 @@ public class MmsSmsTable extends DatabaseTable {
|
||||
private @NonNull Set<MessageUpdate> incrementReceiptCountInternal(SyncMessageId syncMessageId, long timestamp, MessageTable.ReceiptType receiptType, @NonNull MessageTable.MessageQualifier messageQualifier) {
|
||||
Set<MessageUpdate> messageUpdates = new HashSet<>();
|
||||
|
||||
messageUpdates.addAll(SignalDatabase.sms().incrementReceiptCount(syncMessageId, timestamp, receiptType, messageQualifier));
|
||||
messageUpdates.addAll(SignalDatabase.mms().incrementReceiptCount(syncMessageId, timestamp, receiptType, messageQualifier));
|
||||
messageUpdates.addAll(SignalDatabase.messages().incrementReceiptCount(syncMessageId, timestamp, receiptType, messageQualifier));
|
||||
messageUpdates.addAll(SignalDatabase.messages().incrementReceiptCount(syncMessageId, timestamp, receiptType, messageQualifier));
|
||||
|
||||
return messageUpdates;
|
||||
}
|
||||
|
||||
public void updateViewedStories(@NonNull Set<SyncMessageId> syncMessageIds) {
|
||||
SignalDatabase.mms().updateViewedStories(syncMessageIds);
|
||||
SignalDatabase.messages().updateViewedStories(syncMessageIds);
|
||||
}
|
||||
|
||||
private @NonNull MessageExportState getMessageExportState(@NonNull MessageId messageId) throws NoSuchMessageException {
|
||||
@@ -708,12 +708,12 @@ public class MmsSmsTable extends DatabaseTable {
|
||||
try {
|
||||
for (ReadMessage readMessage : readMessages) {
|
||||
RecipientId authorId = Recipient.externalPush(readMessage.getSender()).getId();
|
||||
TimestampReadResult textResult = SignalDatabase.sms().setTimestampReadFromSyncMessage(new SyncMessageId(authorId, readMessage.getTimestamp()),
|
||||
proposedExpireStarted,
|
||||
threadToLatestRead);
|
||||
TimestampReadResult mediaResult = SignalDatabase.mms().setTimestampReadFromSyncMessage(new SyncMessageId(authorId, readMessage.getTimestamp()),
|
||||
TimestampReadResult textResult = SignalDatabase.messages().setTimestampReadFromSyncMessage(new SyncMessageId(authorId, readMessage.getTimestamp()),
|
||||
proposedExpireStarted,
|
||||
threadToLatestRead);
|
||||
TimestampReadResult mediaResult = SignalDatabase.messages().setTimestampReadFromSyncMessage(new SyncMessageId(authorId, readMessage.getTimestamp()),
|
||||
proposedExpireStarted,
|
||||
threadToLatestRead);
|
||||
|
||||
expiringText.addAll(textResult.expiring);
|
||||
expiringMedia.addAll(mediaResult.expiring);
|
||||
@@ -801,7 +801,7 @@ public class MmsSmsTable extends DatabaseTable {
|
||||
}
|
||||
|
||||
boolean hasReceivedAnyCallsSince(long threadId, long timestamp) {
|
||||
return SignalDatabase.sms().hasReceivedAnyCallsSince(threadId, timestamp);
|
||||
return SignalDatabase.messages().hasReceivedAnyCallsSince(threadId, timestamp);
|
||||
}
|
||||
|
||||
|
||||
@@ -857,27 +857,27 @@ public class MmsSmsTable extends DatabaseTable {
|
||||
}
|
||||
|
||||
public void setNotifiedTimestamp(long timestamp, @NonNull List<Long> smsIds, @NonNull List<Long> mmsIds) {
|
||||
SignalDatabase.sms().setNotifiedTimestamp(timestamp, smsIds);
|
||||
SignalDatabase.mms().setNotifiedTimestamp(timestamp, mmsIds);
|
||||
SignalDatabase.messages().setNotifiedTimestamp(timestamp, smsIds);
|
||||
SignalDatabase.messages().setNotifiedTimestamp(timestamp, mmsIds);
|
||||
}
|
||||
|
||||
public int deleteMessagesInThreadBeforeDate(long threadId, long trimBeforeDate) {
|
||||
Log.d(TAG, "deleteMessagesInThreadBeforeData(" + threadId + ", " + trimBeforeDate + ")");
|
||||
int deletes = SignalDatabase.sms().deleteMessagesInThreadBeforeDate(threadId, trimBeforeDate);
|
||||
deletes += SignalDatabase.mms().deleteMessagesInThreadBeforeDate(threadId, trimBeforeDate);
|
||||
int deletes = SignalDatabase.messages().deleteMessagesInThreadBeforeDate(threadId, trimBeforeDate);
|
||||
deletes += SignalDatabase.messages().deleteMessagesInThreadBeforeDate(threadId, trimBeforeDate);
|
||||
return deletes;
|
||||
}
|
||||
|
||||
public void deleteAbandonedMessages() {
|
||||
Log.d(TAG, "deleteAbandonedMessages()");
|
||||
SignalDatabase.sms().deleteAbandonedMessages();
|
||||
SignalDatabase.mms().deleteAbandonedMessages();
|
||||
SignalDatabase.messages().deleteAbandonedMessages();
|
||||
SignalDatabase.messages().deleteAbandonedMessages();
|
||||
}
|
||||
|
||||
public @NonNull List<MessageTable.ReportSpamData> getReportSpamMessageServerData(long threadId, long timestamp, int limit) {
|
||||
List<MessageTable.ReportSpamData> data = new ArrayList<>();
|
||||
data.addAll(SignalDatabase.sms().getReportSpamMessageServerGuids(threadId, timestamp));
|
||||
data.addAll(SignalDatabase.mms().getReportSpamMessageServerGuids(threadId, timestamp));
|
||||
data.addAll(SignalDatabase.messages().getReportSpamMessageServerGuids(threadId, timestamp));
|
||||
data.addAll(SignalDatabase.messages().getReportSpamMessageServerGuids(threadId, timestamp));
|
||||
return data.stream()
|
||||
.sorted((l, r) -> -Long.compare(l.getDateReceived(), r.getDateReceived()))
|
||||
.limit(limit)
|
||||
|
||||
@@ -34,7 +34,6 @@ import org.thoughtcrime.securesms.recipients.RecipientId;
|
||||
import org.thoughtcrime.securesms.util.Base64;
|
||||
import org.signal.core.util.CursorUtil;
|
||||
import org.signal.core.util.SqlUtil;
|
||||
import org.thoughtcrime.securesms.util.FeatureFlags;
|
||||
import org.thoughtcrime.securesms.util.livedata.LiveDataUtil;
|
||||
import org.whispersystems.signalservice.api.payments.Money;
|
||||
import org.whispersystems.signalservice.api.util.UuidUtil;
|
||||
@@ -649,7 +648,7 @@ public final class PaymentTable extends DatabaseTable implements RecipientIdData
|
||||
private void notifyUuidChanged(@Nullable UUID uuid) {
|
||||
if (uuid != null) {
|
||||
ApplicationDependencies.getDatabaseObserver().notifyPaymentListeners(uuid);
|
||||
MessageId messageId = SignalDatabase.mms().getPaymentMessage(uuid);
|
||||
MessageId messageId = SignalDatabase.messages().getPaymentMessage(uuid);
|
||||
if (messageId != null) {
|
||||
ApplicationDependencies.getDatabaseObserver().notifyMessageUpdateObservers(messageId);
|
||||
}
|
||||
|
||||
@@ -124,9 +124,9 @@ class ReactionTable(context: Context, databaseHelper: SignalDatabase) : Database
|
||||
writableDatabase.insert(TABLE_NAME, null, values)
|
||||
|
||||
if (messageId.mms) {
|
||||
SignalDatabase.mms.updateReactionsUnread(writableDatabase, messageId.id, hasReactions(messageId), false)
|
||||
SignalDatabase.messages.updateReactionsUnread(writableDatabase, messageId.id, hasReactions(messageId), false)
|
||||
} else {
|
||||
SignalDatabase.sms.updateReactionsUnread(writableDatabase, messageId.id, hasReactions(messageId), false)
|
||||
SignalDatabase.messages.updateReactionsUnread(writableDatabase, messageId.id, hasReactions(messageId), false)
|
||||
}
|
||||
|
||||
writableDatabase.setTransactionSuccessful()
|
||||
@@ -146,9 +146,9 @@ class ReactionTable(context: Context, databaseHelper: SignalDatabase) : Database
|
||||
writableDatabase.delete(TABLE_NAME, query, args)
|
||||
|
||||
if (messageId.mms) {
|
||||
SignalDatabase.mms.updateReactionsUnread(writableDatabase, messageId.id, hasReactions(messageId), true)
|
||||
SignalDatabase.messages.updateReactionsUnread(writableDatabase, messageId.id, hasReactions(messageId), true)
|
||||
} else {
|
||||
SignalDatabase.sms.updateReactionsUnread(writableDatabase, messageId.id, hasReactions(messageId), true)
|
||||
SignalDatabase.messages.updateReactionsUnread(writableDatabase, messageId.id, hasReactions(messageId), true)
|
||||
}
|
||||
|
||||
writableDatabase.setTransactionSuccessful()
|
||||
|
||||
@@ -2440,7 +2440,7 @@ open class RecipientTable(context: Context, databaseHelper: SignalDatabase) : Da
|
||||
}
|
||||
is PnpOperation.ChangeNumberInsert -> {
|
||||
if (changeSet.id is PnpIdResolver.PnpNoopId) {
|
||||
SignalDatabase.sms.insertNumberChangeMessages(changeSet.id.recipientId)
|
||||
SignalDatabase.messages.insertNumberChangeMessages(changeSet.id.recipientId)
|
||||
} else {
|
||||
throw IllegalStateException("There's a change number event on a newly-inserted recipient?")
|
||||
}
|
||||
@@ -3558,7 +3558,7 @@ open class RecipientTable(context: Context, databaseHelper: SignalDatabase) : Da
|
||||
mergeEvent.previousE164 = secondaryRecord.e164
|
||||
}
|
||||
|
||||
SignalDatabase.sms.insertThreadMergeEvent(primaryRecord.id, threadMerge.threadId, mergeEvent.build())
|
||||
SignalDatabase.messages.insertThreadMergeEvent(primaryRecord.id, threadMerge.threadId, mergeEvent.build())
|
||||
}
|
||||
|
||||
// Recipient
|
||||
|
||||
@@ -38,10 +38,10 @@ open class SignalDatabase(private val context: Application, databaseSecret: Data
|
||||
),
|
||||
SignalDatabaseOpenHelper {
|
||||
|
||||
val mms: MessageTable = MessageTable(context, this)
|
||||
val attachments: AttachmentTable = AttachmentTable(context, this, attachmentSecret)
|
||||
val media: MediaTable = MediaTable(context, this)
|
||||
val thread: ThreadTable = ThreadTable(context, this)
|
||||
val messageTable: MessageTable = MessageTable(context, this)
|
||||
val attachmentTable: AttachmentTable = AttachmentTable(context, this, attachmentSecret)
|
||||
val mediaTable: MediaTable = MediaTable(context, this)
|
||||
val threadTable: ThreadTable = ThreadTable(context, this)
|
||||
val mmsSmsTable: MmsSmsTable = MmsSmsTable(context, this)
|
||||
val identityTable: IdentityTable = IdentityTable(context, this)
|
||||
val draftTable: DraftTable = DraftTable(context, this)
|
||||
@@ -277,8 +277,8 @@ open class SignalDatabase(private val context: Application, databaseSecret: Data
|
||||
database.withinTransaction { db ->
|
||||
instance!!.onUpgrade(db, db.getVersion(), -1)
|
||||
instance!!.markCurrent(db)
|
||||
instance!!.mms.deleteAbandonedMessages()
|
||||
instance!!.mms.trimEntriesForExpiredMessages()
|
||||
instance!!.messageTable.deleteAbandonedMessages()
|
||||
instance!!.messageTable.trimEntriesForExpiredMessages()
|
||||
instance!!.reactionTable.deleteAbandonedReactions()
|
||||
instance!!.rawWritableDatabase.execSQL("DROP TABLE IF EXISTS key_value")
|
||||
instance!!.rawWritableDatabase.execSQL("DROP TABLE IF EXISTS megaphone")
|
||||
@@ -346,7 +346,7 @@ open class SignalDatabase(private val context: Application, databaseSecret: Data
|
||||
@get:JvmStatic
|
||||
@get:JvmName("attachments")
|
||||
val attachments: AttachmentTable
|
||||
get() = instance!!.attachments
|
||||
get() = instance!!.attachmentTable
|
||||
|
||||
@get:JvmStatic
|
||||
@get:JvmName("avatarPicker")
|
||||
@@ -406,7 +406,7 @@ open class SignalDatabase(private val context: Application, databaseSecret: Data
|
||||
@get:JvmStatic
|
||||
@get:JvmName("media")
|
||||
val media: MediaTable
|
||||
get() = instance!!.media
|
||||
get() = instance!!.mediaTable
|
||||
|
||||
@get:JvmStatic
|
||||
@get:JvmName("mentions")
|
||||
@@ -414,9 +414,9 @@ open class SignalDatabase(private val context: Application, databaseSecret: Data
|
||||
get() = instance!!.mentionTable
|
||||
|
||||
@get:JvmStatic
|
||||
@get:JvmName("messageSearch")
|
||||
val messageSearch: SearchTable
|
||||
get() = instance!!.searchTable
|
||||
@get:JvmName("messages")
|
||||
val messages: MessageTable
|
||||
get() = instance!!.messageTable
|
||||
|
||||
@get:JvmStatic
|
||||
@get:JvmName("messageLog")
|
||||
@@ -424,9 +424,9 @@ open class SignalDatabase(private val context: Application, databaseSecret: Data
|
||||
get() = instance!!.messageSendLogTables
|
||||
|
||||
@get:JvmStatic
|
||||
@get:JvmName("mms")
|
||||
val mms: MessageTable
|
||||
get() = instance!!.mms
|
||||
@get:JvmName("messageSearch")
|
||||
val messageSearch: SearchTable
|
||||
get() = instance!!.searchTable
|
||||
|
||||
@get:JvmStatic
|
||||
@get:JvmName("mmsSms")
|
||||
@@ -453,6 +453,11 @@ open class SignalDatabase(private val context: Application, databaseSecret: Data
|
||||
val oneTimePreKeys: OneTimePreKeyTable
|
||||
get() = instance!!.preKeyDatabase
|
||||
|
||||
@get:JvmStatic
|
||||
@get:JvmName("pendingPniSignatureMessages")
|
||||
val pendingPniSignatureMessages: PendingPniSignatureMessageTable
|
||||
get() = instance!!.pendingPniSignatureMessageTable
|
||||
|
||||
@get:Deprecated("This only exists to migrate from legacy storage. There shouldn't be any new usages.")
|
||||
@get:JvmStatic
|
||||
@get:JvmName("push")
|
||||
@@ -469,15 +474,10 @@ open class SignalDatabase(private val context: Application, databaseSecret: Data
|
||||
val signedPreKeys: SignedPreKeyTable
|
||||
get() = instance!!.signedPreKeyTable
|
||||
|
||||
@get:JvmStatic
|
||||
@get:JvmName("sms")
|
||||
val sms: MessageTable
|
||||
get() = instance!!.mms
|
||||
|
||||
@get:JvmStatic
|
||||
@get:JvmName("threads")
|
||||
val threads: ThreadTable
|
||||
get() = instance!!.thread
|
||||
get() = instance!!.threadTable
|
||||
|
||||
@get:JvmStatic
|
||||
@get:JvmName("reactions")
|
||||
@@ -523,10 +523,5 @@ open class SignalDatabase(private val context: Application, databaseSecret: Data
|
||||
@get:JvmName("remoteMegaphones")
|
||||
val remoteMegaphones: RemoteMegaphoneTable
|
||||
get() = instance!!.remoteMegaphoneTable
|
||||
|
||||
@get:JvmStatic
|
||||
@get:JvmName("pendingPniSignatureMessages")
|
||||
val pendingPniSignatureMessages: PendingPniSignatureMessageTable
|
||||
get() = instance!!.pendingPniSignatureMessageTable
|
||||
}
|
||||
}
|
||||
|
||||
@@ -311,8 +311,8 @@ class StorySendTable(context: Context, databaseHelper: SignalDatabase) : Databas
|
||||
|
||||
val messagesWithoutAnyReceivers = localRows.map { it.messageId }.distinct() - remoteRows.map { it.messageId }.distinct()
|
||||
messagesWithoutAnyReceivers.forEach {
|
||||
SignalDatabase.mms.markAsRemoteDelete(it)
|
||||
SignalDatabase.mms.deleteRemotelyDeletedStory(it)
|
||||
SignalDatabase.messages.markAsRemoteDelete(it)
|
||||
SignalDatabase.messages.deleteRemotelyDeletedStory(it)
|
||||
}
|
||||
|
||||
writableDatabase.setTransactionSuccessful()
|
||||
|
||||
@@ -33,10 +33,9 @@ import org.thoughtcrime.securesms.database.SignalDatabase.Companion.drafts
|
||||
import org.thoughtcrime.securesms.database.SignalDatabase.Companion.groupReceipts
|
||||
import org.thoughtcrime.securesms.database.SignalDatabase.Companion.mentions
|
||||
import org.thoughtcrime.securesms.database.SignalDatabase.Companion.messageLog
|
||||
import org.thoughtcrime.securesms.database.SignalDatabase.Companion.mms
|
||||
import org.thoughtcrime.securesms.database.SignalDatabase.Companion.messages
|
||||
import org.thoughtcrime.securesms.database.SignalDatabase.Companion.mmsSms
|
||||
import org.thoughtcrime.securesms.database.SignalDatabase.Companion.recipients
|
||||
import org.thoughtcrime.securesms.database.SignalDatabase.Companion.sms
|
||||
import org.thoughtcrime.securesms.database.model.MediaMmsMessageRecord
|
||||
import org.thoughtcrime.securesms.database.model.MessageRecord
|
||||
import org.thoughtcrime.securesms.database.model.MmsMessageRecord
|
||||
@@ -376,14 +375,12 @@ class ThreadTable(context: Context, databaseHelper: SignalDatabase) : DatabaseTa
|
||||
)
|
||||
.run()
|
||||
|
||||
val smsRecords = sms.setAllMessagesRead()
|
||||
val mmsRecords = mms.setAllMessagesRead()
|
||||
val messageRecords: List<MarkedMessageInfo> = messages.setAllMessagesRead()
|
||||
|
||||
sms.setAllReactionsSeen()
|
||||
mms.setAllReactionsSeen()
|
||||
messages.setAllReactionsSeen()
|
||||
notifyConversationListListeners()
|
||||
|
||||
return smsRecords + mmsRecords
|
||||
return messageRecords
|
||||
}
|
||||
|
||||
fun hasCalledSince(recipient: Recipient, timestamp: Long): Boolean {
|
||||
@@ -396,7 +393,7 @@ class ThreadTable(context: Context, databaseHelper: SignalDatabase) : DatabaseTa
|
||||
|
||||
fun setEntireThreadRead(threadId: Long): List<MarkedMessageInfo> {
|
||||
setRead(threadId, false)
|
||||
return sms.setEntireThreadRead(threadId) + mms.setEntireThreadRead(threadId)
|
||||
return messages.setEntireThreadRead(threadId)
|
||||
}
|
||||
|
||||
fun setRead(threadId: Long, lastSeen: Boolean): List<MarkedMessageInfo> {
|
||||
@@ -428,26 +425,23 @@ class ThreadTable(context: Context, databaseHelper: SignalDatabase) : DatabaseTa
|
||||
}
|
||||
|
||||
private fun setGroupStoryReadSince(threadId: Long, groupStoryId: Long, sinceTimestamp: Long): List<MarkedMessageInfo> {
|
||||
return mms.setGroupStoryMessagesReadSince(threadId, groupStoryId, sinceTimestamp)
|
||||
return messages.setGroupStoryMessagesReadSince(threadId, groupStoryId, sinceTimestamp)
|
||||
}
|
||||
|
||||
fun setReadSince(threadIdToSinceTimestamp: Map<Long, Long>, lastSeen: Boolean): List<MarkedMessageInfo> {
|
||||
val smsRecords: MutableList<MarkedMessageInfo> = LinkedList()
|
||||
val mmsRecords: MutableList<MarkedMessageInfo> = LinkedList()
|
||||
val messageRecords: MutableList<MarkedMessageInfo> = LinkedList()
|
||||
var needsSync = false
|
||||
|
||||
writableDatabase.withinTransaction { db ->
|
||||
for ((threadId, sinceTimestamp) in threadIdToSinceTimestamp) {
|
||||
val previous = getThreadRecord(threadId)
|
||||
|
||||
smsRecords += sms.setMessagesReadSince(threadId, sinceTimestamp)
|
||||
mmsRecords += mms.setMessagesReadSince(threadId, sinceTimestamp)
|
||||
messageRecords += messages.setMessagesReadSince(threadId, sinceTimestamp)
|
||||
|
||||
sms.setReactionsSeen(threadId, sinceTimestamp)
|
||||
mms.setReactionsSeen(threadId, sinceTimestamp)
|
||||
messages.setReactionsSeen(threadId, sinceTimestamp)
|
||||
|
||||
val unreadCount = mmsSms.getUnreadCount(threadId)
|
||||
val unreadMentionsCount = mms.getUnreadMentionCount(threadId)
|
||||
val unreadMentionsCount = messages.getUnreadMentionCount(threadId)
|
||||
|
||||
val contentValues = contentValuesOf(
|
||||
READ to ReadStatus.READ.serialize(),
|
||||
@@ -478,7 +472,7 @@ class ThreadTable(context: Context, databaseHelper: SignalDatabase) : DatabaseTa
|
||||
StorageSyncHelper.scheduleSyncForDataChange()
|
||||
}
|
||||
|
||||
return smsRecords + mmsRecords
|
||||
return messageRecords
|
||||
}
|
||||
|
||||
fun setForcedUnread(threadIds: Collection<Long>) {
|
||||
@@ -1024,8 +1018,7 @@ class ThreadTable(context: Context, databaseHelper: SignalDatabase) : DatabaseTa
|
||||
val recipientIdForThreadId = getRecipientIdForThreadId(threadId)
|
||||
|
||||
writableDatabase.withinTransaction { db ->
|
||||
sms.deleteThread(threadId)
|
||||
mms.deleteThread(threadId)
|
||||
messages.deleteThread(threadId)
|
||||
drafts.clearDrafts(threadId)
|
||||
db.delete(TABLE_NAME)
|
||||
.where("$ID = ?", threadId)
|
||||
@@ -1041,8 +1034,7 @@ class ThreadTable(context: Context, databaseHelper: SignalDatabase) : DatabaseTa
|
||||
val recipientIdsForThreadIds = getRecipientIdsForThreadIds(selectedConversations)
|
||||
|
||||
writableDatabase.withinTransaction { db ->
|
||||
sms.deleteThreads(selectedConversations)
|
||||
mms.deleteThreads(selectedConversations)
|
||||
messages.deleteThreads(selectedConversations)
|
||||
drafts.clearDrafts(selectedConversations)
|
||||
|
||||
SqlUtil.buildCollectionQuery(ID, selectedConversations)
|
||||
@@ -1057,8 +1049,7 @@ class ThreadTable(context: Context, databaseHelper: SignalDatabase) : DatabaseTa
|
||||
fun deleteAllConversations() {
|
||||
writableDatabase.withinTransaction { db ->
|
||||
messageLog.deleteAll()
|
||||
sms.deleteAllThreads()
|
||||
mms.deleteAllThreads()
|
||||
messages.deleteAllThreads()
|
||||
drafts.clearAllDrafts()
|
||||
db.delete(TABLE_NAME, null, null)
|
||||
}
|
||||
@@ -1178,7 +1169,7 @@ class ThreadTable(context: Context, databaseHelper: SignalDatabase) : DatabaseTa
|
||||
fun updateReadState(threadId: Long) {
|
||||
val previous = getThreadRecord(threadId)
|
||||
val unreadCount = mmsSms.getUnreadCount(threadId)
|
||||
val unreadMentionsCount = mms.getUnreadMentionCount(threadId)
|
||||
val unreadMentionsCount = messages.getUnreadMentionCount(threadId)
|
||||
|
||||
writableDatabase
|
||||
.update(TABLE_NAME)
|
||||
@@ -1266,7 +1257,7 @@ class ThreadTable(context: Context, databaseHelper: SignalDatabase) : DatabaseTa
|
||||
values.put(READ, ReadStatus.FORCED_UNREAD.serialize())
|
||||
} else if (threadId != null) {
|
||||
val unreadCount = mmsSms.getUnreadCount(threadId)
|
||||
val unreadMentionsCount = mms.getUnreadMentionCount(threadId)
|
||||
val unreadMentionsCount = messages.getUnreadMentionCount(threadId)
|
||||
|
||||
values.put(READ, if (unreadCount == 0) ReadStatus.READ.serialize() else ReadStatus.UNREAD.serialize())
|
||||
values.put(UNREAD_COUNT, unreadCount)
|
||||
@@ -1315,7 +1306,7 @@ class ThreadTable(context: Context, databaseHelper: SignalDatabase) : DatabaseTa
|
||||
val meaningfulMessages = mmsSms.hasMeaningfulMessage(threadId)
|
||||
|
||||
val isPinned = getPinnedThreadIds().contains(threadId)
|
||||
val shouldDelete = allowDeletion && !isPinned && !mms.containsStories(threadId)
|
||||
val shouldDelete = allowDeletion && !isPinned && !messages.containsStories(threadId)
|
||||
|
||||
if (!meaningfulMessages) {
|
||||
if (shouldDelete) {
|
||||
|
||||
@@ -45,7 +45,7 @@ enum class StoryViewState {
|
||||
private fun getState(recipientId: RecipientId): Observable<StoryViewState> {
|
||||
return Observable.create<StoryViewState> { emitter ->
|
||||
fun refresh() {
|
||||
emitter.onNext(SignalDatabase.mms.getStoryViewState(recipientId))
|
||||
emitter.onNext(SignalDatabase.messages.getStoryViewState(recipientId))
|
||||
}
|
||||
|
||||
val storyObserver = DatabaseObserver.Observer {
|
||||
|
||||
@@ -21,8 +21,8 @@ import kotlin.time.Duration.Companion.milliseconds
|
||||
* we "page" through the unexported messages to reduce chances of exceeding that limit.
|
||||
*/
|
||||
class SignalSmsExportReader(
|
||||
private val smsDatabase: MessageTable = SignalDatabase.sms,
|
||||
private val mmsDatabase: MessageTable = SignalDatabase.mms
|
||||
private val smsDatabase: MessageTable = SignalDatabase.messages,
|
||||
private val mmsDatabase: MessageTable = SignalDatabase.messages
|
||||
) : Iterable<ExportableMessage>, Closeable {
|
||||
|
||||
companion object {
|
||||
|
||||
@@ -83,13 +83,13 @@ class SignalSmsExportService : SmsExportService() {
|
||||
}
|
||||
|
||||
override fun clearPreviousExportState() {
|
||||
SignalDatabase.sms.clearExportState()
|
||||
SignalDatabase.mms.clearExportState()
|
||||
SignalDatabase.messages.clearExportState()
|
||||
SignalDatabase.messages.clearExportState()
|
||||
}
|
||||
|
||||
override fun prepareForExport() {
|
||||
SignalDatabase.sms.clearInsecureMessageExportedErrorStatus()
|
||||
SignalDatabase.mms.clearInsecureMessageExportedErrorStatus()
|
||||
SignalDatabase.messages.clearInsecureMessageExportedErrorStatus()
|
||||
SignalDatabase.messages.clearInsecureMessageExportedErrorStatus()
|
||||
}
|
||||
|
||||
override fun getUnexportedMessageCount(): Int {
|
||||
|
||||
+1
-1
@@ -48,7 +48,7 @@ class ExportSmsPartiallyCompleteFragment : LoggingFragment(R.layout.export_sms_p
|
||||
|
||||
SimpleTask.runWhenValid(
|
||||
viewLifecycleOwner.lifecycle,
|
||||
{ SignalDatabase.sms.getUnexportedInsecureMessagesEstimatedSize() + SignalDatabase.mms.getUnexportedInsecureMessagesEstimatedSize() },
|
||||
{ SignalDatabase.messages.getUnexportedInsecureMessagesEstimatedSize() + SignalDatabase.messages.getUnexportedInsecureMessagesEstimatedSize() },
|
||||
{ totalSize ->
|
||||
binding.bullet1Text.setText(getString(R.string.ExportSmsPartiallyComplete__ensure_you_have_an_additional_s_free_on_your_phone_to_export_your_messages, Formatter.formatFileSize(requireContext(), totalSize)))
|
||||
}
|
||||
|
||||
+1
-1
@@ -30,7 +30,7 @@ class ExportingSmsRepository(private val context: Application = ApplicationDepen
|
||||
storageManagerFreeSpace ?: internalStorageFile.usableSpace
|
||||
}
|
||||
|
||||
SmsExportSizeEstimations(internalFreeSpace, SignalDatabase.sms.getUnexportedInsecureMessagesEstimatedSize() + SignalDatabase.mms.getUnexportedInsecureMessagesEstimatedSize())
|
||||
SmsExportSizeEstimations(internalFreeSpace, SignalDatabase.messages.getUnexportedInsecureMessagesEstimatedSize() + SignalDatabase.messages.getUnexportedInsecureMessagesEstimatedSize())
|
||||
}.subscribeOn(Schedulers.io())
|
||||
}
|
||||
|
||||
|
||||
@@ -19,8 +19,8 @@ object SmsExportDialogs {
|
||||
}
|
||||
.setNegativeButton(R.string.RemoveSmsMessagesDialogFragment__remove_messages) { _, _ ->
|
||||
SignalExecutors.BOUNDED.execute {
|
||||
SignalDatabase.sms.deleteExportedMessages()
|
||||
SignalDatabase.mms.deleteExportedMessages()
|
||||
SignalDatabase.messages.deleteExportedMessages()
|
||||
SignalDatabase.messages.deleteExportedMessages()
|
||||
}
|
||||
Snackbar.make(view, R.string.SmsSettingsFragment__removing_sms_messages_from_signal, Snackbar.LENGTH_SHORT).show()
|
||||
}
|
||||
|
||||
@@ -1283,8 +1283,8 @@ final class GroupManagerV2 {
|
||||
} else {
|
||||
long threadId = SignalDatabase.threads().getOrCreateValidThreadId(outgoingMessage.getRecipient(), -1, outgoingMessage.getDistributionType());
|
||||
try {
|
||||
long messageId = SignalDatabase.mms().insertMessageOutbox(outgoingMessage, threadId, false, null);
|
||||
SignalDatabase.mms().markAsSent(messageId, true);
|
||||
long messageId = SignalDatabase.messages().insertMessageOutbox(outgoingMessage, threadId, false, null);
|
||||
SignalDatabase.messages().markAsSent(messageId, true);
|
||||
SignalDatabase.threads().update(threadId, true);
|
||||
} catch (MmsException e) {
|
||||
throw new AssertionError(e);
|
||||
|
||||
+3
-3
@@ -515,7 +515,7 @@ public class GroupsV2StateProcessor {
|
||||
OutgoingMessage leaveMessage = OutgoingMessage.groupUpdateMessage(groupRecipient, decryptedGroupV2Context, System.currentTimeMillis());
|
||||
|
||||
try {
|
||||
MessageTable mmsDatabase = SignalDatabase.mms();
|
||||
MessageTable mmsDatabase = SignalDatabase.messages();
|
||||
ThreadTable threadTable = SignalDatabase.threads();
|
||||
long threadId = threadTable.getOrCreateThreadIdFor(groupRecipient);
|
||||
long id = mmsDatabase.insertMessageOutbox(leaveMessage, threadId, false, null);
|
||||
@@ -738,7 +738,7 @@ public class GroupsV2StateProcessor {
|
||||
|
||||
if (outgoing) {
|
||||
try {
|
||||
MessageTable mmsDatabase = SignalDatabase.mms();
|
||||
MessageTable mmsDatabase = SignalDatabase.messages();
|
||||
ThreadTable threadTable = SignalDatabase.threads();
|
||||
RecipientId recipientId = recipientTable.getOrInsertFromGroupId(groupId);
|
||||
Recipient recipient = Recipient.resolved(recipientId);
|
||||
@@ -752,7 +752,7 @@ public class GroupsV2StateProcessor {
|
||||
Log.w(TAG, e);
|
||||
}
|
||||
} else {
|
||||
MessageTable smsDatabase = SignalDatabase.sms();
|
||||
MessageTable smsDatabase = SignalDatabase.messages();
|
||||
RecipientId sender = RecipientId.from(editor.get());
|
||||
IncomingTextMessage incoming = new IncomingTextMessage(sender, -1, timestamp, timestamp, timestamp, "", Optional.of(groupId), 0, false, null);
|
||||
IncomingGroupUpdateMessage groupMessage = new IncomingGroupUpdateMessage(incoming, decryptedGroupV2Context);
|
||||
|
||||
@@ -121,7 +121,7 @@ public final class AttachmentDownloadJob extends BaseJob {
|
||||
public void onRun() throws Exception {
|
||||
doWork();
|
||||
|
||||
if (!SignalDatabase.mms().isStory(messageId)) {
|
||||
if (!SignalDatabase.messages().isStory(messageId)) {
|
||||
ApplicationDependencies.getMessageNotifier().updateNotification(context, ConversationId.forConversation(0));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -121,7 +121,7 @@ public class AutomaticSessionResetJob extends BaseJob {
|
||||
}
|
||||
|
||||
private void insertLocalMessage() {
|
||||
MessageTable.InsertResult result = SignalDatabase.sms().insertChatSessionRefreshedMessage(recipientId, deviceId, sentTimestamp);
|
||||
MessageTable.InsertResult result = SignalDatabase.messages().insertChatSessionRefreshedMessage(recipientId, deviceId, sentTimestamp);
|
||||
ApplicationDependencies.getMessageNotifier().updateNotification(context, ConversationId.forConversation(result.getThreadId()));
|
||||
}
|
||||
|
||||
|
||||
@@ -138,14 +138,14 @@ public class DonationReceiptRedemptionJob extends BaseJob {
|
||||
SignalStore.donationsValues().markSubscriptionRedemptionFailed();
|
||||
MultiDeviceSubscriptionSyncRequestJob.enqueue();
|
||||
} else if (giftMessageId != NO_ID) {
|
||||
SignalDatabase.mms().markGiftRedemptionFailed(giftMessageId);
|
||||
SignalDatabase.messages().markGiftRedemptionFailed(giftMessageId);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onAdded() {
|
||||
if (giftMessageId != NO_ID) {
|
||||
SignalDatabase.mms().markGiftRedemptionStarted(giftMessageId);
|
||||
SignalDatabase.messages().markGiftRedemptionStarted(giftMessageId);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -205,8 +205,8 @@ public class DonationReceiptRedemptionJob extends BaseJob {
|
||||
SignalStore.donationsValues().clearSubscriptionReceiptCredential();
|
||||
} else if (giftMessageId != NO_ID) {
|
||||
Log.d(TAG, "Marking gift redemption completed for " + giftMessageId);
|
||||
SignalDatabase.mms().markGiftRedemptionCompleted(giftMessageId);
|
||||
MessageTable.MarkedMessageInfo markedMessageInfo = SignalDatabase.mms().setIncomingMessageViewed(giftMessageId);
|
||||
SignalDatabase.messages().markGiftRedemptionCompleted(giftMessageId);
|
||||
MessageTable.MarkedMessageInfo markedMessageInfo = SignalDatabase.messages().setIncomingMessageViewed(giftMessageId);
|
||||
if (markedMessageInfo != null) {
|
||||
Log.d(TAG, "Marked gift message viewed for " + giftMessageId);
|
||||
MultiDeviceViewedUpdateJob.enqueue(Collections.singletonList(markedMessageInfo.getSyncMessageId()));
|
||||
@@ -250,7 +250,7 @@ public class DonationReceiptRedemptionJob extends BaseJob {
|
||||
}
|
||||
|
||||
private @Nullable ReceiptCredentialPresentation getPresentationFromGiftMessage() throws InvalidInputException, NoSuchMessageException {
|
||||
MessageRecord messageRecord = SignalDatabase.mms().getMessageRecord(giftMessageId);
|
||||
MessageRecord messageRecord = SignalDatabase.messages().getMessageRecord(giftMessageId);
|
||||
|
||||
if (MessageRecordUtil.hasGiftBadge(messageRecord)) {
|
||||
GiftBadge giftBadge = MessageRecordUtil.requireGiftBadge(messageRecord);
|
||||
|
||||
@@ -98,7 +98,7 @@ public class MmsDownloadJob extends BaseJob {
|
||||
@Override
|
||||
public void onAdded() {
|
||||
if (automatic && KeyCachingService.isLocked(context)) {
|
||||
SignalDatabase.mms().markIncomingNotificationReceived(threadId);
|
||||
SignalDatabase.messages().markIncomingNotificationReceived(threadId);
|
||||
ApplicationDependencies.getMessageNotifier().updateNotification(context);
|
||||
}
|
||||
}
|
||||
@@ -109,7 +109,7 @@ public class MmsDownloadJob extends BaseJob {
|
||||
throw new NotReadyException();
|
||||
}
|
||||
|
||||
MessageTable database = SignalDatabase.mms();
|
||||
MessageTable database = SignalDatabase.messages();
|
||||
Optional<MessageTable.MmsNotificationInfo> notification = database.getNotification(messageId);
|
||||
|
||||
if (!notification.isPresent()) {
|
||||
@@ -169,7 +169,7 @@ public class MmsDownloadJob extends BaseJob {
|
||||
|
||||
@Override
|
||||
public void onFailure() {
|
||||
MessageTable database = SignalDatabase.mms();
|
||||
MessageTable database = SignalDatabase.messages();
|
||||
database.markDownloadState(messageId, MessageTable.MmsStatus.DOWNLOAD_SOFT_FAILURE);
|
||||
|
||||
if (automatic) {
|
||||
@@ -188,7 +188,7 @@ public class MmsDownloadJob extends BaseJob {
|
||||
int subscriptionId, @Nullable RecipientId notificationFrom)
|
||||
throws MmsException
|
||||
{
|
||||
MessageTable database = SignalDatabase.mms();
|
||||
MessageTable database = SignalDatabase.messages();
|
||||
Optional<GroupId> group = Optional.empty();
|
||||
Set<RecipientId> members = new HashSet<>();
|
||||
String body = null;
|
||||
@@ -259,7 +259,7 @@ public class MmsDownloadJob extends BaseJob {
|
||||
|
||||
private void handleDownloadError(long messageId, long threadId, int downloadStatus, boolean automatic)
|
||||
{
|
||||
MessageTable db = SignalDatabase.mms();
|
||||
MessageTable db = SignalDatabase.messages();
|
||||
|
||||
db.markDownloadState(messageId, downloadStatus);
|
||||
|
||||
|
||||
@@ -76,7 +76,7 @@ public class MmsReceiveJob extends BaseJob {
|
||||
} else if (isNotification(pdu) && isSelf(pdu)) {
|
||||
Log.w(TAG, "Received an MMS from ourselves! Ignoring.");
|
||||
} else if (isNotification(pdu)) {
|
||||
MessageTable database = SignalDatabase.mms();
|
||||
MessageTable database = SignalDatabase.messages();
|
||||
Pair<Long, Long> messageAndThreadId = database.insertMessageInbox((NotificationInd)pdu, subscriptionId);
|
||||
|
||||
Log.i(TAG, "Inserted received MMS notification...");
|
||||
|
||||
@@ -80,7 +80,7 @@ public final class MmsSendJob extends SendJob {
|
||||
/** Enqueues compression jobs for attachments and finally the MMS send job. */
|
||||
@WorkerThread
|
||||
public static void enqueue(@NonNull Context context, @NonNull JobManager jobManager, long messageId) {
|
||||
MessageTable database = SignalDatabase.mms();
|
||||
MessageTable database = SignalDatabase.messages();
|
||||
OutgoingMessage message;
|
||||
|
||||
try {
|
||||
@@ -117,12 +117,12 @@ public final class MmsSendJob extends SendJob {
|
||||
|
||||
@Override
|
||||
public void onAdded() {
|
||||
SignalDatabase.mms().markAsSending(messageId);
|
||||
SignalDatabase.messages().markAsSending(messageId);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onSend() throws MmsException, NoSuchMessageException, IOException {
|
||||
MessageTable database = SignalDatabase.mms();
|
||||
MessageTable database = SignalDatabase.messages();
|
||||
OutgoingMessage message = database.getOutgoingMessage(messageId);
|
||||
|
||||
if (database.isSent(messageId)) {
|
||||
@@ -164,7 +164,7 @@ public final class MmsSendJob extends SendJob {
|
||||
@Override
|
||||
public void onFailure() {
|
||||
Log.i(TAG, JobLogger.format(this, "onFailure() messageId: " + messageId));
|
||||
SignalDatabase.mms().markAsSentFailed(messageId);
|
||||
SignalDatabase.messages().markAsSentFailed(messageId);
|
||||
notifyMediaMessageDeliveryFailed(context, messageId);
|
||||
}
|
||||
|
||||
@@ -344,7 +344,7 @@ public final class MmsSendJob extends SendJob {
|
||||
}
|
||||
|
||||
private void notifyMediaMessageDeliveryFailed(Context context, long messageId) {
|
||||
long threadId = SignalDatabase.mms().getThreadIdForMessage(messageId);
|
||||
long threadId = SignalDatabase.messages().getThreadIdForMessage(messageId);
|
||||
Recipient recipient = SignalDatabase.threads().getRecipientForThreadId(threadId);
|
||||
|
||||
if (recipient != null) {
|
||||
|
||||
@@ -65,7 +65,7 @@ class MultiDeviceStorySendSyncJob private constructor(parameters: Parameters, pr
|
||||
throw RetryableException()
|
||||
}
|
||||
|
||||
SignalDatabase.mms.deleteRemotelyDeletedStory(deletedMessageId)
|
||||
SignalDatabase.messages.deleteRemotelyDeletedStory(deletedMessageId)
|
||||
}
|
||||
|
||||
override fun onShouldRetry(e: Exception): Boolean {
|
||||
|
||||
@@ -96,7 +96,7 @@ public final class PushDistributionListSendJob extends PushSendJob {
|
||||
throw new AssertionError("Not a distribution list! MessageId: " + messageId);
|
||||
}
|
||||
|
||||
OutgoingMessage message = SignalDatabase.mms().getOutgoingMessage(messageId);
|
||||
OutgoingMessage message = SignalDatabase.messages().getOutgoingMessage(messageId);
|
||||
|
||||
if (!message.getStoryType().isStory()) {
|
||||
throw new AssertionError("Only story messages are currently supported! MessageId: " + messageId);
|
||||
@@ -112,7 +112,7 @@ public final class PushDistributionListSendJob extends PushSendJob {
|
||||
jobManager.add(new PushDistributionListSendJob(messageId, destination, !attachmentUploadIds.isEmpty(), filterRecipientIds), attachmentUploadIds, attachmentUploadIds.isEmpty() ? null : destination.toQueueKey());
|
||||
} catch (NoSuchMessageException | MmsException e) {
|
||||
Log.w(TAG, "Failed to enqueue message.", e);
|
||||
SignalDatabase.mms().markAsSentFailed(messageId);
|
||||
SignalDatabase.messages().markAsSentFailed(messageId);
|
||||
notifyMediaMessageDeliveryFailed(context, messageId);
|
||||
}
|
||||
}
|
||||
@@ -131,14 +131,14 @@ public final class PushDistributionListSendJob extends PushSendJob {
|
||||
|
||||
@Override
|
||||
public void onAdded() {
|
||||
SignalDatabase.mms().markAsSending(messageId);
|
||||
SignalDatabase.messages().markAsSending(messageId);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onPushSend()
|
||||
throws IOException, MmsException, NoSuchMessageException, RetryLaterException
|
||||
{
|
||||
MessageTable database = SignalDatabase.mms();
|
||||
MessageTable database = SignalDatabase.messages();
|
||||
OutgoingMessage message = database.getOutgoingMessage(messageId);
|
||||
Set<NetworkFailure> existingNetworkFailures = new HashSet<>(message.getNetworkFailures());
|
||||
Set<IdentityKeyMismatch> existingIdentityMismatches = new HashSet<>(message.getIdentityKeyMismatches());
|
||||
@@ -187,7 +187,7 @@ public final class PushDistributionListSendJob extends PushSendJob {
|
||||
|
||||
@Override
|
||||
public void onFailure() {
|
||||
SignalDatabase.mms().markAsSentFailed(messageId);
|
||||
SignalDatabase.messages().markAsSentFailed(messageId);
|
||||
}
|
||||
|
||||
private List<SendMessageResult> deliver(@NonNull OutgoingMessage message, @NonNull List<Recipient> destinations)
|
||||
|
||||
@@ -112,7 +112,7 @@ public final class PushGroupSendJob extends PushSendJob {
|
||||
throw new AssertionError("Not a group!");
|
||||
}
|
||||
|
||||
MessageTable database = SignalDatabase.mms();
|
||||
MessageTable database = SignalDatabase.messages();
|
||||
OutgoingMessage message = database.getOutgoingMessage(messageId);
|
||||
Set<String> attachmentUploadIds = enqueueCompressingAndUploadAttachmentsChains(jobManager, message);
|
||||
|
||||
@@ -128,7 +128,7 @@ public final class PushGroupSendJob extends PushSendJob {
|
||||
|
||||
} catch (NoSuchMessageException | MmsException e) {
|
||||
Log.w(TAG, "Failed to enqueue message.", e);
|
||||
SignalDatabase.mms().markAsSentFailed(messageId);
|
||||
SignalDatabase.messages().markAsSentFailed(messageId);
|
||||
notifyMediaMessageDeliveryFailed(context, messageId);
|
||||
}
|
||||
}
|
||||
@@ -151,7 +151,7 @@ public final class PushGroupSendJob extends PushSendJob {
|
||||
|
||||
@Override
|
||||
public void onAdded() {
|
||||
SignalDatabase.mms().markAsSending(messageId);
|
||||
SignalDatabase.messages().markAsSending(messageId);
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -160,7 +160,7 @@ public final class PushGroupSendJob extends PushSendJob {
|
||||
{
|
||||
SignalLocalMetrics.GroupMessageSend.onJobStarted(messageId);
|
||||
|
||||
MessageTable database = SignalDatabase.mms();
|
||||
MessageTable database = SignalDatabase.messages();
|
||||
OutgoingMessage message = database.getOutgoingMessage(messageId);
|
||||
long threadId = database.getMessageRecord(messageId).getThreadId();
|
||||
Set<NetworkFailure> existingNetworkFailures = new HashSet<>(message.getNetworkFailures());
|
||||
@@ -231,7 +231,7 @@ public final class PushGroupSendJob extends PushSendJob {
|
||||
|
||||
@Override
|
||||
public void onFailure() {
|
||||
SignalDatabase.mms().markAsSentFailed(messageId);
|
||||
SignalDatabase.messages().markAsSentFailed(messageId);
|
||||
}
|
||||
|
||||
private List<SendMessageResult> deliver(OutgoingMessage message, @NonNull Recipient groupRecipient, @NonNull List<Recipient> destinations)
|
||||
@@ -325,7 +325,7 @@ public final class PushGroupSendJob extends PushSendJob {
|
||||
|
||||
if (message.getParentStoryId() != null) {
|
||||
try {
|
||||
MessageRecord storyRecord = SignalDatabase.mms().getMessageRecord(message.getParentStoryId().asMessageId().getId());
|
||||
MessageRecord storyRecord = SignalDatabase.messages().getMessageRecord(message.getParentStoryId().asMessageId().getId());
|
||||
Recipient recipient = storyRecord.isOutgoing() ? Recipient.self() : storyRecord.getIndividualRecipient();
|
||||
|
||||
destinations = destinations.stream()
|
||||
@@ -381,7 +381,7 @@ public final class PushGroupSendJob extends PushSendJob {
|
||||
@NonNull Set<IdentityKeyMismatch> existingIdentityMismatches)
|
||||
throws RetryLaterException, ProofRequiredException
|
||||
{
|
||||
MessageTable database = SignalDatabase.mms();
|
||||
MessageTable database = SignalDatabase.messages();
|
||||
RecipientAccessList accessList = new RecipientAccessList(target);
|
||||
|
||||
List<NetworkFailure> networkFailures = Stream.of(results).filter(SendMessageResult::isNetworkFailure).map(result -> new NetworkFailure(accessList.requireIdByAddress(result.getAddress()))).toList();
|
||||
|
||||
@@ -83,7 +83,7 @@ public class PushMediaSendJob extends PushSendJob {
|
||||
throw new AssertionError("No ServiceId!");
|
||||
}
|
||||
|
||||
MessageTable database = SignalDatabase.mms();
|
||||
MessageTable database = SignalDatabase.messages();
|
||||
OutgoingMessage message = database.getOutgoingMessage(messageId);
|
||||
Set<String> attachmentUploadIds = enqueueCompressingAndUploadAttachmentsChains(jobManager, message);
|
||||
|
||||
@@ -91,7 +91,7 @@ public class PushMediaSendJob extends PushSendJob {
|
||||
|
||||
} catch (NoSuchMessageException | MmsException e) {
|
||||
Log.w(TAG, "Failed to enqueue message.", e);
|
||||
SignalDatabase.mms().markAsSentFailed(messageId);
|
||||
SignalDatabase.messages().markAsSentFailed(messageId);
|
||||
notifyMediaMessageDeliveryFailed(context, messageId);
|
||||
}
|
||||
}
|
||||
@@ -108,7 +108,7 @@ public class PushMediaSendJob extends PushSendJob {
|
||||
|
||||
@Override
|
||||
public void onAdded() {
|
||||
SignalDatabase.mms().markAsSending(messageId);
|
||||
SignalDatabase.messages().markAsSending(messageId);
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -116,7 +116,7 @@ public class PushMediaSendJob extends PushSendJob {
|
||||
throws IOException, MmsException, NoSuchMessageException, UndeliverableMessageException, RetryLaterException
|
||||
{
|
||||
ExpiringMessageManager expirationManager = ApplicationDependencies.getExpiringMessageManager();
|
||||
MessageTable database = SignalDatabase.mms();
|
||||
MessageTable database = SignalDatabase.messages();
|
||||
OutgoingMessage message = database.getOutgoingMessage(messageId);
|
||||
long threadId = database.getMessageRecord(messageId).getThreadId();
|
||||
|
||||
@@ -187,7 +187,7 @@ public class PushMediaSendJob extends PushSendJob {
|
||||
|
||||
@Override
|
||||
public void onFailure() {
|
||||
SignalDatabase.mms().markAsSentFailed(messageId);
|
||||
SignalDatabase.messages().markAsSentFailed(messageId);
|
||||
notifyMediaMessageDeliveryFailed(context, messageId);
|
||||
}
|
||||
|
||||
@@ -234,7 +234,7 @@ public class PushMediaSendJob extends PushSendJob {
|
||||
|
||||
if (message.getParentStoryId() != null) {
|
||||
try {
|
||||
MessageRecord storyRecord = SignalDatabase.mms().getMessageRecord(message.getParentStoryId().asMessageId().getId());
|
||||
MessageRecord storyRecord = SignalDatabase.messages().getMessageRecord(message.getParentStoryId().asMessageId().getId());
|
||||
Recipient storyRecipient = storyRecord.isOutgoing() ? Recipient.self() : storyRecord.getRecipient();
|
||||
|
||||
SignalServiceDataMessage.StoryContext storyContext = new SignalServiceDataMessage.StoryContext(storyRecipient.requireServiceId(), storyRecord.getDateSent());
|
||||
|
||||
@@ -290,9 +290,9 @@ public abstract class PushSendJob extends SendJob {
|
||||
}
|
||||
|
||||
protected static void notifyMediaMessageDeliveryFailed(Context context, long messageId) {
|
||||
long threadId = SignalDatabase.mms().getThreadIdForMessage(messageId);
|
||||
long threadId = SignalDatabase.messages().getThreadIdForMessage(messageId);
|
||||
Recipient recipient = SignalDatabase.threads().getRecipientForThreadId(threadId);
|
||||
ParentStoryId.GroupReply groupReplyStoryId = SignalDatabase.mms().getParentStoryIdForGroupReply(messageId);
|
||||
ParentStoryId.GroupReply groupReplyStoryId = SignalDatabase.messages().getParentStoryIdForGroupReply(messageId);
|
||||
|
||||
if (threadId != -1 && recipient != null) {
|
||||
ApplicationDependencies.getMessageNotifier().notifyMessageDeliveryFailed(context, recipient, ConversationId.fromThreadAndReply(threadId, groupReplyStoryId));
|
||||
@@ -504,9 +504,9 @@ public abstract class PushSendJob extends SendJob {
|
||||
|
||||
Log.w(TAG, "[Proof Required] Marking message as rate-limited. (id: " + messageId + ", mms: " + isMms + ", thread: " + threadId + ")");
|
||||
if (isMms) {
|
||||
SignalDatabase.mms().markAsRateLimited(messageId);
|
||||
SignalDatabase.messages().markAsRateLimited(messageId);
|
||||
} else {
|
||||
SignalDatabase.sms().markAsRateLimited(messageId);
|
||||
SignalDatabase.messages().markAsRateLimited(messageId);
|
||||
}
|
||||
|
||||
if (proofRequired.getOptions().contains(ProofRequiredException.Option.RECAPTCHA)) {
|
||||
@@ -514,7 +514,7 @@ public abstract class PushSendJob extends SendJob {
|
||||
SignalStore.rateLimit().markNeedsRecaptcha(proofRequired.getToken());
|
||||
|
||||
if (recipient != null) {
|
||||
ParentStoryId.GroupReply groupReply = SignalDatabase.mms().getParentStoryIdForGroupReply(messageId);
|
||||
ParentStoryId.GroupReply groupReply = SignalDatabase.messages().getParentStoryIdForGroupReply(messageId);
|
||||
ApplicationDependencies.getMessageNotifier().notifyProofRequired(context, recipient, ConversationId.fromThreadAndReply(threadId, groupReply));
|
||||
} else {
|
||||
Log.w(TAG, "[Proof Required] No recipient! Couldn't notify.");
|
||||
|
||||
@@ -67,8 +67,8 @@ public class ReactionSendJob extends BaseJob {
|
||||
boolean remove)
|
||||
throws NoSuchMessageException
|
||||
{
|
||||
MessageRecord message = messageId.isMms() ? SignalDatabase.mms().getMessageRecord(messageId.getId())
|
||||
: SignalDatabase.sms().getSmsMessage(messageId.getId());
|
||||
MessageRecord message = messageId.isMms() ? SignalDatabase.messages().getMessageRecord(messageId.getId())
|
||||
: SignalDatabase.messages().getSmsMessage(messageId.getId());
|
||||
|
||||
Recipient conversationRecipient = SignalDatabase.threads().getRecipientForThreadId(message.getThreadId());
|
||||
|
||||
@@ -143,9 +143,9 @@ public class ReactionSendJob extends BaseJob {
|
||||
MessageRecord message;
|
||||
|
||||
if (messageId.isMms()) {
|
||||
message = SignalDatabase.mms().getMessageRecord(messageId.getId());
|
||||
message = SignalDatabase.messages().getMessageRecord(messageId.getId());
|
||||
} else {
|
||||
message = SignalDatabase.sms().getSmsMessage(messageId.getId());
|
||||
message = SignalDatabase.messages().getSmsMessage(messageId.getId());
|
||||
}
|
||||
|
||||
Recipient targetAuthor = message.isOutgoing() ? Recipient.self() : message.getIndividualRecipient();
|
||||
|
||||
@@ -27,7 +27,6 @@ import org.thoughtcrime.securesms.recipients.RecipientId;
|
||||
import org.thoughtcrime.securesms.recipients.RecipientUtil;
|
||||
import org.thoughtcrime.securesms.transport.RetryLaterException;
|
||||
import org.thoughtcrime.securesms.util.GroupUtil;
|
||||
import org.thoughtcrime.securesms.util.MessageRecordUtil;
|
||||
import org.thoughtcrime.securesms.util.Util;
|
||||
import org.whispersystems.signalservice.api.crypto.ContentHint;
|
||||
import org.whispersystems.signalservice.api.crypto.UntrustedIdentityException;
|
||||
@@ -60,8 +59,8 @@ public class RemoteDeleteSendJob extends BaseJob {
|
||||
public static @NonNull JobManager.Chain create(long messageId, boolean isMms)
|
||||
throws NoSuchMessageException
|
||||
{
|
||||
MessageRecord message = isMms ? SignalDatabase.mms().getMessageRecord(messageId)
|
||||
: SignalDatabase.sms().getSmsMessage(messageId);
|
||||
MessageRecord message = isMms ? SignalDatabase.messages().getMessageRecord(messageId)
|
||||
: SignalDatabase.messages().getSmsMessage(messageId);
|
||||
|
||||
Recipient conversationRecipient = SignalDatabase.threads().getRecipientForThreadId(message.getThreadId());
|
||||
|
||||
@@ -139,11 +138,11 @@ public class RemoteDeleteSendJob extends BaseJob {
|
||||
MessageRecord message;
|
||||
|
||||
if (isMms) {
|
||||
db = SignalDatabase.mms();
|
||||
message = SignalDatabase.mms().getMessageRecord(messageId);
|
||||
db = SignalDatabase.messages();
|
||||
message = SignalDatabase.messages().getMessageRecord(messageId);
|
||||
} else {
|
||||
db = SignalDatabase.sms();
|
||||
message = SignalDatabase.sms().getSmsMessage(messageId);
|
||||
db = SignalDatabase.messages();
|
||||
message = SignalDatabase.messages().getSmsMessage(messageId);
|
||||
}
|
||||
|
||||
long targetSentTimestamp = message.getDateSent();
|
||||
|
||||
@@ -469,7 +469,7 @@ public class RetrieveProfileJob extends BaseJob {
|
||||
!remoteDisplayName.equals(localDisplayName))
|
||||
{
|
||||
Log.i(TAG, "Writing a profile name change event for " + recipient.getId());
|
||||
SignalDatabase.sms().insertProfileNameChangeMessages(recipient, remoteDisplayName, localDisplayName);
|
||||
SignalDatabase.messages().insertProfileNameChangeMessages(recipient, remoteDisplayName, localDisplayName);
|
||||
} else {
|
||||
Log.i(TAG, String.format(Locale.US, "Name changed, but wasn't relevant to write an event. blocked: %s, group: %s, self: %s, firstSet: %s, displayChange: %s",
|
||||
recipient.isBlocked(), recipient.isGroup(), recipient.isSelf(), localDisplayName.isEmpty(), !remoteDisplayName.equals(localDisplayName)));
|
||||
|
||||
@@ -227,7 +227,7 @@ class RetrieveRemoteAnnouncementsJob private constructor(private val force: Bool
|
||||
|
||||
if (addedNewNotes) {
|
||||
ThreadUtil.sleep(5)
|
||||
SignalDatabase.sms.insertBoostRequestMessage(values.releaseChannelRecipientId!!, threadId)
|
||||
SignalDatabase.messages.insertBoostRequestMessage(values.releaseChannelRecipientId!!, threadId)
|
||||
}
|
||||
|
||||
values.highestVersionNoteReceived = highestVersion
|
||||
|
||||
@@ -38,7 +38,7 @@ class SendPaymentsActivatedJob(parameters: Parameters) : BaseJob(parameters) {
|
||||
return
|
||||
}
|
||||
|
||||
val threadIds: List<Long> = SignalDatabase.mms.getIncomingPaymentRequestThreads()
|
||||
val threadIds: List<Long> = SignalDatabase.messages.getIncomingPaymentRequestThreads()
|
||||
|
||||
for (threadId in threadIds) {
|
||||
val recipient = SignalDatabase.threads.getRecipientForThreadId(threadId)
|
||||
|
||||
@@ -139,7 +139,7 @@ public class SendViewedReceiptJob extends BaseJob {
|
||||
|
||||
List<MessageId> foundMessageIds = new LinkedList<>();
|
||||
List<Long> messageSentTimestamps = new LinkedList<>();
|
||||
List<StoryType> storyTypes = SignalDatabase.mms().getStoryTypes(this.messageIds);
|
||||
List<StoryType> storyTypes = SignalDatabase.messages().getStoryTypes(this.messageIds);
|
||||
|
||||
for (int i = 0; i < storyTypes.size(); i++) {
|
||||
StoryType storyType = storyTypes.get(i);
|
||||
|
||||
@@ -154,7 +154,7 @@ public class SmsReceiveJob extends BaseJob {
|
||||
}
|
||||
|
||||
private Optional<InsertResult> storeMessage(IncomingTextMessage message) throws MigrationPendingException {
|
||||
MessageTable database = SignalDatabase.sms();
|
||||
MessageTable database = SignalDatabase.messages();
|
||||
database.ensureMigration();
|
||||
|
||||
if (TextSecurePreferences.getNeedsSqlCipherMigration(context)) {
|
||||
|
||||
@@ -70,7 +70,7 @@ public class SmsSendJob extends SendJob {
|
||||
|
||||
@Override
|
||||
public void onAdded() {
|
||||
SignalDatabase.sms().markAsSending(messageId);
|
||||
SignalDatabase.messages().markAsSending(messageId);
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -80,7 +80,7 @@ public class SmsSendJob extends SendJob {
|
||||
throw new TooManyRetriesException();
|
||||
}
|
||||
|
||||
MessageTable database = SignalDatabase.sms();
|
||||
MessageTable database = SignalDatabase.messages();
|
||||
SmsMessageRecord record = database.getSmsMessage(messageId);
|
||||
|
||||
if (!record.isPending() && !record.isFailed()) {
|
||||
@@ -98,7 +98,7 @@ public class SmsSendJob extends SendJob {
|
||||
log(TAG, String.valueOf(record.getDateSent()), "Sent message: " + messageId);
|
||||
} catch (UndeliverableMessageException ude) {
|
||||
warn(TAG, ude);
|
||||
SignalDatabase.sms().markAsSentFailed(record.getId());
|
||||
SignalDatabase.messages().markAsSentFailed(record.getId());
|
||||
ApplicationDependencies.getMessageNotifier().notifyMessageDeliveryFailed(context, record.getRecipient(), ConversationId.fromMessageRecord(record));
|
||||
}
|
||||
}
|
||||
@@ -111,10 +111,10 @@ public class SmsSendJob extends SendJob {
|
||||
@Override
|
||||
public void onFailure() {
|
||||
warn(TAG, "onFailure() messageId: " + messageId);
|
||||
long threadId = SignalDatabase.sms().getThreadIdForMessage(messageId);
|
||||
long threadId = SignalDatabase.messages().getThreadIdForMessage(messageId);
|
||||
Recipient recipient = SignalDatabase.threads().getRecipientForThreadId(threadId);
|
||||
|
||||
SignalDatabase.sms().markAsSentFailed(messageId);
|
||||
SignalDatabase.messages().markAsSentFailed(messageId);
|
||||
|
||||
if (threadId != -1 && recipient != null) {
|
||||
ApplicationDependencies.getMessageNotifier().notifyMessageDeliveryFailed(context, recipient, ConversationId.forConversation(threadId));
|
||||
|
||||
@@ -92,12 +92,12 @@ public class SmsSentJob extends BaseJob {
|
||||
}
|
||||
|
||||
private void handleDeliveredResult(long messageId, int result) {
|
||||
SignalDatabase.sms().markSmsStatus(messageId, result);
|
||||
SignalDatabase.messages().markSmsStatus(messageId, result);
|
||||
}
|
||||
|
||||
private void handleSentResult(long messageId, int result) {
|
||||
try {
|
||||
MessageTable database = SignalDatabase.sms();
|
||||
MessageTable database = SignalDatabase.messages();
|
||||
SmsMessageRecord record = database.getSmsMessage(messageId);
|
||||
|
||||
switch (result) {
|
||||
|
||||
@@ -78,9 +78,9 @@ class StoryOnboardingDownloadJob private constructor(parameters: Parameters) : B
|
||||
throw Exception("No release channel recipient.")
|
||||
}
|
||||
|
||||
SignalDatabase.mms.getAllStoriesFor(releaseChannelRecipientId, -1).use { reader ->
|
||||
SignalDatabase.messages.getAllStoriesFor(releaseChannelRecipientId, -1).use { reader ->
|
||||
reader.forEach { messageRecord ->
|
||||
SignalDatabase.mms.deleteMessage(messageRecord.id)
|
||||
SignalDatabase.messages.deleteMessage(messageRecord.id)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -144,7 +144,7 @@ class StoryOnboardingDownloadJob private constructor(parameters: Parameters) : B
|
||||
if (insertResults.size != ONBOARDING_IMAGE_COUNT) {
|
||||
Log.w(TAG, "Failed to insert some search results. Deleting the ones we added and trying again later.")
|
||||
insertResults.forEach {
|
||||
SignalDatabase.mms.deleteMessage(it.messageId)
|
||||
SignalDatabase.messages.deleteMessage(it.messageId)
|
||||
}
|
||||
|
||||
throw RetryLaterException()
|
||||
|
||||
@@ -30,8 +30,8 @@ class LongMessageRepository {
|
||||
private final MessageTable smsDatabase;
|
||||
|
||||
LongMessageRepository() {
|
||||
this.mmsDatabase = SignalDatabase.mms();
|
||||
this.smsDatabase = SignalDatabase.sms();
|
||||
this.mmsDatabase = SignalDatabase.messages();
|
||||
this.smsDatabase = SignalDatabase.messages();
|
||||
}
|
||||
|
||||
void getMessage(@NonNull Context context, long messageId, boolean isMms, @NonNull Callback<Optional<LongMessage>> callback) {
|
||||
|
||||
@@ -91,7 +91,7 @@ class MediaPreviewRepository {
|
||||
fun getMessagePositionIntent(context: Context, messageId: Long): Single<Intent> {
|
||||
return Single.fromCallable {
|
||||
val stopwatch = Stopwatch("Message Position Intent")
|
||||
val messageRecord: MessageRecord = SignalDatabase.mms.getMessageRecord(messageId)
|
||||
val messageRecord: MessageRecord = SignalDatabase.messages.getMessageRecord(messageId)
|
||||
stopwatch.split("get message record")
|
||||
|
||||
val threadId: Long = messageRecord.threadId
|
||||
|
||||
@@ -564,7 +564,7 @@ class MediaPreviewV2Fragment : LoggingFragment(R.layout.fragment_media_preview_v
|
||||
fun canRemotelyDelete(attachment: DatabaseAttachment): Boolean {
|
||||
val mmsId = attachment.mmsId
|
||||
val attachmentCount = SignalDatabase.attachments.getAttachmentsForMessage(mmsId).size
|
||||
return attachmentCount <= 1 && RemoteDeleteUtil.isValidSend(listOf(SignalDatabase.mms.getMessageRecord(mmsId)), System.currentTimeMillis())
|
||||
return attachmentCount <= 1 && RemoteDeleteUtil.isValidSend(listOf(SignalDatabase.messages.getMessageRecord(mmsId)), System.currentTimeMillis())
|
||||
}
|
||||
|
||||
private fun editMediaItem(currentItem: MediaTable.MediaRecord) {
|
||||
|
||||
+2
-3
@@ -13,7 +13,6 @@ import org.thoughtcrime.securesms.conversation.ConversationMessage.ConversationM
|
||||
import org.thoughtcrime.securesms.database.DatabaseObserver;
|
||||
import org.thoughtcrime.securesms.database.GroupTable;
|
||||
import org.thoughtcrime.securesms.database.GroupReceiptTable;
|
||||
import org.thoughtcrime.securesms.database.MmsSmsTable;
|
||||
import org.thoughtcrime.securesms.database.NoSuchMessageException;
|
||||
import org.thoughtcrime.securesms.database.SignalDatabase;
|
||||
import org.thoughtcrime.securesms.database.documents.IdentityKeyMismatch;
|
||||
@@ -57,8 +56,8 @@ public final class MessageDetailsRepository {
|
||||
return Observable.<MessageDetails>create(emitter -> {
|
||||
DatabaseObserver.MessageObserver messageObserver = mId -> {
|
||||
try {
|
||||
MessageRecord messageRecord = messageId.isMms() ? SignalDatabase.mms().getMessageRecord(messageId.getId())
|
||||
: SignalDatabase.sms().getMessageRecord(messageId.getId());
|
||||
MessageRecord messageRecord = messageId.isMms() ? SignalDatabase.messages().getMessageRecord(messageId.getId())
|
||||
: SignalDatabase.messages().getMessageRecord(messageId.getId());
|
||||
|
||||
MessageDetails messageDetails = getRecipientDeliveryStatusesInternal(messageRecord);
|
||||
|
||||
|
||||
+1
-1
@@ -34,7 +34,7 @@ final class MessageRecordLiveData extends LiveData<MessageRecord> {
|
||||
|
||||
@WorkerThread
|
||||
private synchronized void retrieveMessageRecordActual() {
|
||||
retrieve(messageId.isMms() ? SignalDatabase.mms() : SignalDatabase.sms());
|
||||
retrieve(messageId.isMms() ? SignalDatabase.messages() : SignalDatabase.messages());
|
||||
}
|
||||
|
||||
@WorkerThread
|
||||
|
||||
+1
-1
@@ -150,7 +150,7 @@ final class MessageRequestRepository {
|
||||
ApplicationDependencies.getMessageNotifier().updateNotification(context);
|
||||
MarkReadReceiver.process(context, messageIds);
|
||||
|
||||
List<MessageTable.MarkedMessageInfo> viewedInfos = SignalDatabase.mms().getViewedIncomingMessages(threadId);
|
||||
List<MessageTable.MarkedMessageInfo> viewedInfos = SignalDatabase.messages().getViewedIncomingMessages(threadId);
|
||||
|
||||
SendViewedReceiptJob.enqueue(threadId, liveRecipient.getId(), viewedInfos);
|
||||
|
||||
|
||||
+38
-38
@@ -468,8 +468,8 @@ public final class MessageContentProcessor {
|
||||
TimeUnit.SECONDS.toMillis(message.getExpiresInSeconds()),
|
||||
uuid);
|
||||
|
||||
Optional<InsertResult> insertResult = SignalDatabase.mms().insertSecureDecryptedMessageInbox(mediaMessage, -1);
|
||||
smsMessageId.ifPresent(smsId -> SignalDatabase.sms().deleteMessage(smsId));
|
||||
Optional<InsertResult> insertResult = SignalDatabase.messages().insertSecureDecryptedMessageInbox(mediaMessage, -1);
|
||||
smsMessageId.ifPresent(smsId -> SignalDatabase.messages().deleteMessage(smsId));
|
||||
if (insertResult.isPresent()) {
|
||||
messageId = new MessageId(insertResult.get().getMessageId(), true);
|
||||
ApplicationDependencies.getMessageNotifier().updateNotification(context, ConversationId.forConversation(insertResult.get().getThreadId()));
|
||||
@@ -607,7 +607,7 @@ public final class MessageContentProcessor {
|
||||
log(String.valueOf(content.getTimestamp()), "handleCallOfferMessage...");
|
||||
|
||||
if (smsMessageId.isPresent()) {
|
||||
MessageTable database = SignalDatabase.sms();
|
||||
MessageTable database = SignalDatabase.messages();
|
||||
database.markAsMissedCall(smsMessageId.get(), message.getType() == OfferMessage.Type.VIDEO_CALL);
|
||||
} else {
|
||||
RemotePeer remotePeer = new RemotePeer(senderRecipient.getId(), new CallId(message.getId()));
|
||||
@@ -665,7 +665,7 @@ public final class MessageContentProcessor {
|
||||
{
|
||||
log(String.valueOf(content), "handleCallHangupMessage");
|
||||
if (smsMessageId.isPresent()) {
|
||||
SignalDatabase.sms().markAsMissedCall(smsMessageId.get(), false);
|
||||
SignalDatabase.messages().markAsMissedCall(smsMessageId.get(), false);
|
||||
} else {
|
||||
RemotePeer remotePeer = new RemotePeer(senderRecipient.getId(), new CallId(message.getId()));
|
||||
|
||||
@@ -719,7 +719,7 @@ public final class MessageContentProcessor {
|
||||
|
||||
RecipientId groupRecipientId = SignalDatabase.recipients().getOrInsertFromPossiblyMigratedGroupId(groupId.get());
|
||||
|
||||
SignalDatabase.sms().insertOrUpdateGroupCall(groupRecipientId,
|
||||
SignalDatabase.messages().insertOrUpdateGroupCall(groupRecipientId,
|
||||
senderRecipient.getId(),
|
||||
content.getServerReceivedTimestamp(),
|
||||
message.getGroupCallUpdate().get().getEraId());
|
||||
@@ -733,7 +733,7 @@ public final class MessageContentProcessor {
|
||||
{
|
||||
log(content.getTimestamp(), "End session message.");
|
||||
|
||||
MessageTable smsDatabase = SignalDatabase.sms();
|
||||
MessageTable smsDatabase = SignalDatabase.messages();
|
||||
IncomingTextMessage incomingTextMessage = new IncomingTextMessage(senderRecipient.getId(),
|
||||
content.getSenderDevice(),
|
||||
content.getTimestamp(),
|
||||
@@ -773,7 +773,7 @@ public final class MessageContentProcessor {
|
||||
{
|
||||
log(envelopeTimestamp, "Synchronize end session message.");
|
||||
|
||||
MessageTable database = SignalDatabase.sms();
|
||||
MessageTable database = SignalDatabase.messages();
|
||||
Recipient recipient = getSyncMessageDestination(message);
|
||||
OutgoingMessage outgoingEndSessionMessage = OutgoingMessage.endSessionMessage(recipient, message.getTimestamp());
|
||||
|
||||
@@ -843,7 +843,7 @@ public final class MessageContentProcessor {
|
||||
throws StorageFailedException
|
||||
{
|
||||
try {
|
||||
MessageTable database = SignalDatabase.mms();
|
||||
MessageTable database = SignalDatabase.messages();
|
||||
IncomingMediaMessage mediaMessage = new IncomingMediaMessage(senderRecipient.getId(),
|
||||
content.getTimestamp(),
|
||||
content.getServerReceivedTimestamp(),
|
||||
@@ -871,7 +871,7 @@ public final class MessageContentProcessor {
|
||||
|
||||
Optional<InsertResult> insertResult = database.insertSecureDecryptedMessageInbox(mediaMessage, -1);
|
||||
if (smsMessageId.isPresent()) {
|
||||
SignalDatabase.sms().deleteMessage(smsMessageId.get());
|
||||
SignalDatabase.messages().deleteMessage(smsMessageId.get());
|
||||
}
|
||||
|
||||
if (insertResult.isPresent()) {
|
||||
@@ -913,7 +913,7 @@ public final class MessageContentProcessor {
|
||||
}
|
||||
|
||||
try {
|
||||
MessageTable database = SignalDatabase.mms();
|
||||
MessageTable database = SignalDatabase.messages();
|
||||
IncomingMediaMessage mediaMessage = new IncomingMediaMessage(senderRecipient.getId(),
|
||||
content.getTimestamp() - (sideEffect ? 1 : 0),
|
||||
content.getServerReceivedTimestamp(),
|
||||
@@ -944,7 +944,7 @@ public final class MessageContentProcessor {
|
||||
SignalDatabase.recipients().setExpireMessages(threadRecipient.getId(), expiresInSeconds);
|
||||
|
||||
if (smsMessageId.isPresent()) {
|
||||
SignalDatabase.sms().deleteMessage(smsMessageId.get());
|
||||
SignalDatabase.messages().deleteMessage(smsMessageId.get());
|
||||
}
|
||||
|
||||
if (insertResult.isPresent()) {
|
||||
@@ -1025,7 +1025,7 @@ public final class MessageContentProcessor {
|
||||
MessageRecord targetMessage = SignalDatabase.mmsSms().getMessageFor(delete.getTargetSentTimestamp(), senderRecipient.getId());
|
||||
|
||||
if (targetMessage != null && RemoteDeleteUtil.isValidReceive(targetMessage, senderRecipient, content.getServerReceivedTimestamp())) {
|
||||
MessageTable db = targetMessage.isMms() ? SignalDatabase.mms() : SignalDatabase.sms();
|
||||
MessageTable db = targetMessage.isMms() ? SignalDatabase.messages() : SignalDatabase.messages();
|
||||
db.markAsRemoteDelete(targetMessage.getId());
|
||||
if (MessageRecordUtil.isStory(targetMessage)) {
|
||||
db.deleteRemotelyDeletedStory(targetMessage.getId());
|
||||
@@ -1419,8 +1419,8 @@ public final class MessageContentProcessor {
|
||||
Stories.enqueueAttachmentsFromStoryForDownloadSync(mediaMmsMessageRecord, false);
|
||||
}
|
||||
|
||||
SignalDatabase.mms().setIncomingMessagesViewed(toMarkViewed);
|
||||
SignalDatabase.mms().setOutgoingGiftsRevealed(toMarkViewed);
|
||||
SignalDatabase.messages().setIncomingMessagesViewed(toMarkViewed);
|
||||
SignalDatabase.messages().setOutgoingGiftsRevealed(toMarkViewed);
|
||||
|
||||
MessageNotifier messageNotifier = ApplicationDependencies.getMessageNotifier();
|
||||
messageNotifier.setLastDesktopActivityTimestamp(envelopeTimestamp);
|
||||
@@ -1472,7 +1472,7 @@ public final class MessageContentProcessor {
|
||||
|
||||
Optional<InsertResult> insertResult;
|
||||
|
||||
MessageTable database = SignalDatabase.mms();
|
||||
MessageTable database = SignalDatabase.messages();
|
||||
database.beginTransaction();
|
||||
|
||||
try {
|
||||
@@ -1613,7 +1613,7 @@ public final class MessageContentProcessor {
|
||||
|
||||
SignalServiceDataMessage.StoryContext storyContext = message.getStoryContext().get();
|
||||
|
||||
MessageTable database = SignalDatabase.mms();
|
||||
MessageTable database = SignalDatabase.messages();
|
||||
database.beginTransaction();
|
||||
|
||||
try {
|
||||
@@ -1704,7 +1704,7 @@ public final class MessageContentProcessor {
|
||||
|
||||
SignalServiceDataMessage.StoryContext storyContext = message.getStoryContext().get();
|
||||
|
||||
MessageTable database = SignalDatabase.mms();
|
||||
MessageTable database = SignalDatabase.messages();
|
||||
database.beginTransaction();
|
||||
|
||||
try {
|
||||
@@ -1812,7 +1812,7 @@ public final class MessageContentProcessor {
|
||||
|
||||
Optional<InsertResult> insertResult;
|
||||
|
||||
MessageTable database = SignalDatabase.mms();
|
||||
MessageTable database = SignalDatabase.messages();
|
||||
|
||||
byte[] token = message.getGiftBadge().get().getReceiptCredentialPresentation().serialize();
|
||||
GiftBadge giftBadge = GiftBadge.newBuilder()
|
||||
@@ -1875,7 +1875,7 @@ public final class MessageContentProcessor {
|
||||
|
||||
Optional<InsertResult> insertResult;
|
||||
|
||||
MessageTable database = SignalDatabase.mms();
|
||||
MessageTable database = SignalDatabase.messages();
|
||||
database.beginTransaction();
|
||||
|
||||
try {
|
||||
@@ -1916,7 +1916,7 @@ public final class MessageContentProcessor {
|
||||
|
||||
if (insertResult.isPresent()) {
|
||||
if (smsMessageId.isPresent()) {
|
||||
SignalDatabase.sms().deleteMessage(smsMessageId.get());
|
||||
SignalDatabase.messages().deleteMessage(smsMessageId.get());
|
||||
}
|
||||
|
||||
database.setTransactionSuccessful();
|
||||
@@ -1956,7 +1956,7 @@ public final class MessageContentProcessor {
|
||||
{
|
||||
log(message.getTimestamp(), "Synchronize sent expiration update.");
|
||||
|
||||
MessageTable database = SignalDatabase.mms();
|
||||
MessageTable database = SignalDatabase.messages();
|
||||
Recipient recipient = getSyncMessageDestination(message);
|
||||
|
||||
OutgoingMessage expirationUpdateMessage = OutgoingMessage.expirationUpdateMessage(recipient,
|
||||
@@ -1985,7 +1985,7 @@ public final class MessageContentProcessor {
|
||||
Optional<SignalServiceDataMessage.Reaction> reaction = message.getDataMessage().get().getReaction();
|
||||
ParentStoryId parentStoryId;
|
||||
SignalServiceDataMessage.StoryContext storyContext = message.getDataMessage().get().getStoryContext().get();
|
||||
MessageTable database = SignalDatabase.mms();
|
||||
MessageTable database = SignalDatabase.messages();
|
||||
Recipient recipient = getSyncMessageDestination(message);
|
||||
QuoteModel quoteModel = null;
|
||||
long expiresInMillis = 0L;
|
||||
@@ -2133,7 +2133,7 @@ public final class MessageContentProcessor {
|
||||
@NonNull List<LinkPreview> linkPreviews)
|
||||
throws MmsException
|
||||
{
|
||||
if (SignalDatabase.mms().isOutgoingStoryAlreadyInDatabase(recipient.getId(), sentAtTimestamp)) {
|
||||
if (SignalDatabase.messages().isOutgoingStoryAlreadyInDatabase(recipient.getId(), sentAtTimestamp)) {
|
||||
warn(sentAtTimestamp, "Already inserted this story.");
|
||||
return;
|
||||
}
|
||||
@@ -2158,7 +2158,7 @@ public final class MessageContentProcessor {
|
||||
null,
|
||||
true);
|
||||
|
||||
MessageTable database = SignalDatabase.mms();
|
||||
MessageTable database = SignalDatabase.messages();
|
||||
long threadId = SignalDatabase.threads().getOrCreateThreadIdFor(recipient);
|
||||
|
||||
long messageId;
|
||||
@@ -2217,7 +2217,7 @@ public final class MessageContentProcessor {
|
||||
{
|
||||
log(envelopeTimestamp, "Synchronize sent media message for " + message.getTimestamp());
|
||||
|
||||
MessageTable database = SignalDatabase.mms();
|
||||
MessageTable database = SignalDatabase.messages();
|
||||
Recipient recipients = getSyncMessageDestination(message);
|
||||
Optional<QuoteModel> quote = getValidatedQuote(message.getDataMessage().get().getQuote());
|
||||
Optional<Attachment> sticker = getStickerAttachment(message.getDataMessage().get().getSticker());
|
||||
@@ -2369,7 +2369,7 @@ public final class MessageContentProcessor {
|
||||
throws StorageFailedException
|
||||
{
|
||||
log(message.getTimestamp(), "Text message.");
|
||||
MessageTable database = SignalDatabase.sms();
|
||||
MessageTable database = SignalDatabase.messages();
|
||||
String body = message.getBody().isPresent() ? message.getBody().get() : "";
|
||||
|
||||
handlePossibleExpirationUpdate(content, message, groupId, senderRecipient, threadRecipient, receivedTime);
|
||||
@@ -2438,15 +2438,15 @@ public final class MessageContentProcessor {
|
||||
Collections.emptyList(),
|
||||
true);
|
||||
|
||||
messageId = SignalDatabase.mms().insertMessageOutbox(outgoingMessage, threadId, false, GroupReceiptTable.STATUS_UNKNOWN, null);
|
||||
database = SignalDatabase.mms();
|
||||
messageId = SignalDatabase.messages().insertMessageOutbox(outgoingMessage, threadId, false, GroupReceiptTable.STATUS_UNKNOWN, null);
|
||||
database = SignalDatabase.messages();
|
||||
|
||||
updateGroupReceiptStatus(message, messageId, recipient.requireGroupId());
|
||||
} else {
|
||||
OutgoingMessage outgoingTextMessage = OutgoingMessage.text(recipient, body, expiresInMillis, message.getTimestamp());
|
||||
|
||||
messageId = SignalDatabase.sms().insertMessageOutbox(outgoingTextMessage, threadId, false, null);
|
||||
database = SignalDatabase.sms();
|
||||
messageId = SignalDatabase.messages().insertMessageOutbox(outgoingTextMessage, threadId, false, null);
|
||||
database = SignalDatabase.messages();
|
||||
database.markUnidentified(messageId, isUnidentified(message, recipient));
|
||||
}
|
||||
SignalDatabase.threads().update(threadId, true);
|
||||
@@ -2472,7 +2472,7 @@ public final class MessageContentProcessor {
|
||||
{
|
||||
log(timestamp, "Invalid version message.");
|
||||
|
||||
MessageTable smsDatabase = SignalDatabase.sms();
|
||||
MessageTable smsDatabase = SignalDatabase.messages();
|
||||
|
||||
if (!smsMessageId.isPresent()) {
|
||||
Optional<InsertResult> insertResult = insertPlaceholder(sender, senderDevice, timestamp);
|
||||
@@ -2491,7 +2491,7 @@ public final class MessageContentProcessor {
|
||||
{
|
||||
log(timestamp, "Corrupt message.");
|
||||
|
||||
MessageTable smsDatabase = SignalDatabase.sms();
|
||||
MessageTable smsDatabase = SignalDatabase.messages();
|
||||
|
||||
if (!smsMessageId.isPresent()) {
|
||||
Optional<InsertResult> insertResult = insertPlaceholder(sender, senderDevice, timestamp);
|
||||
@@ -2513,7 +2513,7 @@ public final class MessageContentProcessor {
|
||||
{
|
||||
log(timestamp, "Unsupported data message.");
|
||||
|
||||
MessageTable smsDatabase = SignalDatabase.sms();
|
||||
MessageTable smsDatabase = SignalDatabase.messages();
|
||||
|
||||
if (!smsMessageId.isPresent()) {
|
||||
Optional<InsertResult> insertResult = insertPlaceholder(sender, senderDevice, timestamp, groupId);
|
||||
@@ -2535,7 +2535,7 @@ public final class MessageContentProcessor {
|
||||
{
|
||||
log(timestamp, "Invalid message.");
|
||||
|
||||
MessageTable smsDatabase = SignalDatabase.sms();
|
||||
MessageTable smsDatabase = SignalDatabase.messages();
|
||||
|
||||
if (!smsMessageId.isPresent()) {
|
||||
Optional<InsertResult> insertResult = insertPlaceholder(sender.getIdentifier(), senderDevice, timestamp, groupId);
|
||||
@@ -2554,7 +2554,7 @@ public final class MessageContentProcessor {
|
||||
{
|
||||
log(timestamp, "Legacy message.");
|
||||
|
||||
MessageTable smsDatabase = SignalDatabase.sms();
|
||||
MessageTable smsDatabase = SignalDatabase.messages();
|
||||
|
||||
if (!smsMessageId.isPresent()) {
|
||||
Optional<InsertResult> insertResult = insertPlaceholder(sender, senderDevice, timestamp);
|
||||
@@ -2869,9 +2869,9 @@ public final class MessageContentProcessor {
|
||||
MessageId relatedMessage = messageLogEntry.getRelatedMessages().get(0);
|
||||
|
||||
if (relatedMessage.isMms()) {
|
||||
return SignalDatabase.mms().getMessageRecordOrNull(relatedMessage.getId());
|
||||
return SignalDatabase.messages().getMessageRecordOrNull(relatedMessage.getId());
|
||||
} else {
|
||||
return SignalDatabase.sms().getMessageRecordOrNull(relatedMessage.getId());
|
||||
return SignalDatabase.messages().getMessageRecordOrNull(relatedMessage.getId());
|
||||
}
|
||||
} else {
|
||||
return SignalDatabase.mmsSms().getMessageFor(sentTimestamp, Recipient.self().getId());
|
||||
@@ -3075,7 +3075,7 @@ public final class MessageContentProcessor {
|
||||
}
|
||||
|
||||
private Optional<InsertResult> insertPlaceholder(@NonNull String sender, int senderDevice, long timestamp, Optional<GroupId> groupId) {
|
||||
MessageTable database = SignalDatabase.sms();
|
||||
MessageTable database = SignalDatabase.messages();
|
||||
IncomingTextMessage textMessage = new IncomingTextMessage(Recipient.external(context, sender).getId(),
|
||||
senderDevice, timestamp, -1, System.currentTimeMillis(), "",
|
||||
groupId, 0, false, null);
|
||||
|
||||
@@ -185,7 +185,7 @@ public final class MessageDecryptionUtil {
|
||||
switch (contentHint) {
|
||||
case DEFAULT:
|
||||
Log.w(TAG, "[" + envelope.getTimestamp() + "] Inserting an error right away because it's " + contentHint, true);
|
||||
SignalDatabase.sms().insertBadDecryptMessage(sender.getId(), senderDevice, envelope.getTimestamp(), receivedTimestamp, threadId);
|
||||
SignalDatabase.messages().insertBadDecryptMessage(sender.getId(), senderDevice, envelope.getTimestamp(), receivedTimestamp, threadId);
|
||||
break;
|
||||
case RESENDABLE:
|
||||
Log.w(TAG, "[" + envelope.getTimestamp() + "] Inserting into pending retries store because it's " + contentHint, true);
|
||||
|
||||
@@ -245,7 +245,7 @@ public class LegacyMigrationJob extends MigrationJob {
|
||||
|
||||
private void schedulePendingIncomingParts(Context context) {
|
||||
final AttachmentTable attachmentDb = SignalDatabase.attachments();
|
||||
final MessageTable mmsDb = SignalDatabase.mms();
|
||||
final MessageTable mmsDb = SignalDatabase.messages();
|
||||
final List<DatabaseAttachment> pendingAttachments = SignalDatabase.attachments().getPendingAttachments();
|
||||
|
||||
Log.i(TAG, pendingAttachments.size() + " pending parts.");
|
||||
|
||||
+2
-2
@@ -1,6 +1,6 @@
|
||||
package org.thoughtcrime.securesms.migrations
|
||||
|
||||
import org.thoughtcrime.securesms.database.SignalDatabase.Companion.mms
|
||||
import org.thoughtcrime.securesms.database.SignalDatabase
|
||||
import org.thoughtcrime.securesms.database.SignalDatabase.Companion.recipients
|
||||
import org.thoughtcrime.securesms.jobmanager.Data
|
||||
import org.thoughtcrime.securesms.jobmanager.Job
|
||||
@@ -26,7 +26,7 @@ internal class StoryReadStateMigrationJob(
|
||||
override fun performMigration() {
|
||||
if (!SignalStore.storyValues().hasUserOnboardingStoryReadBeenSet()) {
|
||||
SignalStore.storyValues().userHasReadOnboardingStory = SignalStore.storyValues().userHasReadOnboardingStory
|
||||
mms.markOnboardingStoryRead()
|
||||
SignalDatabase.messages.markOnboardingStoryRead()
|
||||
|
||||
if (SignalStore.account().isRegistered) {
|
||||
recipients.markNeedsSync(Recipient.self().id)
|
||||
|
||||
+2
-2
@@ -43,9 +43,9 @@ public class DeleteNotificationReceiver extends BroadcastReceiver {
|
||||
SignalExecutors.BOUNDED.execute(() -> {
|
||||
for (int i = 0; i < ids.length; i++) {
|
||||
if (!mms[i]) {
|
||||
SignalDatabase.sms().markAsNotified(ids[i]);
|
||||
SignalDatabase.messages().markAsNotified(ids[i]);
|
||||
} else {
|
||||
SignalDatabase.mms().markAsNotified(ids[i]);
|
||||
SignalDatabase.messages().markAsNotified(ids[i]);
|
||||
}
|
||||
}
|
||||
finisher.finish();
|
||||
|
||||
@@ -113,11 +113,11 @@ public class MarkReadReceiver extends BroadcastReceiver {
|
||||
@NonNull List<ExpirationInfo> mmsExpirationInfo)
|
||||
{
|
||||
if (smsExpirationInfo.size() > 0) {
|
||||
SignalDatabase.sms().markExpireStarted(Stream.of(smsExpirationInfo).map(ExpirationInfo::getId).toList(), System.currentTimeMillis());
|
||||
SignalDatabase.messages().markExpireStarted(Stream.of(smsExpirationInfo).map(ExpirationInfo::getId).toList(), System.currentTimeMillis());
|
||||
}
|
||||
|
||||
if (mmsExpirationInfo.size() > 0) {
|
||||
SignalDatabase.mms().markExpireStarted(Stream.of(mmsExpirationInfo).map(ExpirationInfo::getId).toList(), System.currentTimeMillis());
|
||||
SignalDatabase.messages().markExpireStarted(Stream.of(mmsExpirationInfo).map(ExpirationInfo::getId).toList(), System.currentTimeMillis());
|
||||
}
|
||||
|
||||
if (smsExpirationInfo.size() + mmsExpirationInfo.size() > 0) {
|
||||
|
||||
+4
-9
@@ -14,7 +14,6 @@ import me.leolin.shortcutbadger.ShortcutBadger
|
||||
import org.signal.core.util.PendingIntentFlags
|
||||
import org.signal.core.util.logging.Log
|
||||
import org.thoughtcrime.securesms.R
|
||||
import org.thoughtcrime.securesms.database.MessageTable
|
||||
import org.thoughtcrime.securesms.database.SignalDatabase
|
||||
import org.thoughtcrime.securesms.dependencies.ApplicationDependencies
|
||||
import org.thoughtcrime.securesms.keyvalue.SignalStore
|
||||
@@ -141,16 +140,14 @@ class DefaultMessageNotifier(context: Application) : MessageNotifier {
|
||||
if (state.muteFilteredMessages.isNotEmpty()) {
|
||||
Log.i(TAG, "Marking ${state.muteFilteredMessages.size} muted messages as notified to skip notification")
|
||||
state.muteFilteredMessages.forEach { item ->
|
||||
val messageTable: MessageTable = if (item.isMms) SignalDatabase.mms else SignalDatabase.sms
|
||||
messageTable.markAsNotified(item.id)
|
||||
SignalDatabase.messages.markAsNotified(item.id)
|
||||
}
|
||||
}
|
||||
|
||||
if (state.profileFilteredMessages.isNotEmpty()) {
|
||||
Log.i(TAG, "Marking ${state.profileFilteredMessages.size} profile filtered messages as notified to skip notification")
|
||||
state.profileFilteredMessages.forEach { item ->
|
||||
val messageTable: MessageTable = if (item.isMms) SignalDatabase.mms else SignalDatabase.sms
|
||||
messageTable.markAsNotified(item.id)
|
||||
SignalDatabase.messages.markAsNotified(item.id)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -158,8 +155,7 @@ class DefaultMessageNotifier(context: Application) : MessageNotifier {
|
||||
Log.i(TAG, "Marking ${state.conversations.size} conversations as notified to skip notification")
|
||||
state.conversations.forEach { conversation ->
|
||||
conversation.notificationItems.forEach { item ->
|
||||
val messageTable: MessageTable = if (item.isMms) SignalDatabase.mms else SignalDatabase.sms
|
||||
messageTable.markAsNotified(item.id)
|
||||
SignalDatabase.messages.markAsNotified(item.id)
|
||||
}
|
||||
}
|
||||
return
|
||||
@@ -172,8 +168,7 @@ class DefaultMessageNotifier(context: Application) : MessageNotifier {
|
||||
.forEach { conversation ->
|
||||
cleanedUpThreads += conversation.thread
|
||||
conversation.notificationItems.forEach { item ->
|
||||
val messageTable: MessageTable = if (item.isMms) SignalDatabase.mms else SignalDatabase.sms
|
||||
messageTable.markAsNotified(item.id)
|
||||
SignalDatabase.messages.markAsNotified(item.id)
|
||||
}
|
||||
}
|
||||
if (cleanedUpThreads.isNotEmpty()) {
|
||||
|
||||
+2
-2
@@ -41,14 +41,14 @@ object NotificationStateProvider {
|
||||
|
||||
val parentRecord = conversationId.groupStoryId?.let {
|
||||
try {
|
||||
SignalDatabase.mms.getMessageRecord(it)
|
||||
SignalDatabase.messages.getMessageRecord(it)
|
||||
} catch (e: NoSuchMessageException) {
|
||||
null
|
||||
}
|
||||
}
|
||||
|
||||
val hasSelfRepliedToGroupStory = conversationId.groupStoryId?.let {
|
||||
SignalDatabase.mms.hasGroupReplyOrReactionInStory(it)
|
||||
SignalDatabase.messages.hasGroupReplyOrReactionInStory(it)
|
||||
}
|
||||
|
||||
messages += NotificationMessage(
|
||||
|
||||
@@ -96,7 +96,7 @@ public final class ReviewUtil {
|
||||
if (threadId == null) {
|
||||
return Collections.emptyList();
|
||||
} else {
|
||||
return SignalDatabase.sms().getProfileChangeDetailsRecords(threadId, System.currentTimeMillis() - TIMEOUT);
|
||||
return SignalDatabase.messages().getProfileChangeDetailsRecords(threadId, System.currentTimeMillis() - TIMEOUT);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -25,7 +25,7 @@ public final class RateLimitUtil {
|
||||
*/
|
||||
@WorkerThread
|
||||
public static void retryAllRateLimitedMessages(@NonNull Context context) {
|
||||
Set<Long> messageIds = SignalDatabase.mms().getAllRateLimitedMessageIds();
|
||||
Set<Long> messageIds = SignalDatabase.messages().getAllRateLimitedMessageIds();
|
||||
|
||||
if (messageIds.isEmpty()) {
|
||||
return;
|
||||
@@ -33,7 +33,7 @@ public final class RateLimitUtil {
|
||||
|
||||
Log.i(TAG, "Retrying " + messageIds.size() + " message records.");
|
||||
|
||||
SignalDatabase.mms().clearRateLimitStatus(messageIds);
|
||||
SignalDatabase.messages().clearRateLimitStatus(messageIds);
|
||||
|
||||
ApplicationDependencies.getJobManager().update((job, serializer) -> {
|
||||
Data data = serializer.deserialize(job.getSerializedData());
|
||||
|
||||
@@ -69,6 +69,6 @@ object ReleaseChannel {
|
||||
storyType = storyType
|
||||
)
|
||||
|
||||
return SignalDatabase.mms.insertSecureDecryptedMessageInbox(message, threadId).orElse(null)
|
||||
return SignalDatabase.messages.insertSecureDecryptedMessageInbox(message, threadId).orElse(null)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -30,7 +30,7 @@ public class ViewOnceMessageManager extends TimedEventManager<ViewOnceExpiration
|
||||
public ViewOnceMessageManager(@NonNull Application application) {
|
||||
super(application, "RevealableMessageManager");
|
||||
|
||||
this.mmsDatabase = SignalDatabase.mms();
|
||||
this.mmsDatabase = SignalDatabase.messages();
|
||||
this.attachmentDatabase = SignalDatabase.attachments();
|
||||
|
||||
scheduleIfNecessary();
|
||||
|
||||
+1
-1
@@ -24,7 +24,7 @@ class ViewOnceMessageRepository {
|
||||
private final MessageTable mmsDatabase;
|
||||
|
||||
ViewOnceMessageRepository(@NonNull Context context) {
|
||||
this.mmsDatabase = SignalDatabase.mms();
|
||||
this.mmsDatabase = SignalDatabase.messages();
|
||||
}
|
||||
|
||||
void getMessage(long messageId, @NonNull Callback<Optional<MmsMessageRecord>> callback) {
|
||||
|
||||
@@ -74,7 +74,7 @@ public class SearchRepository {
|
||||
this.threadTable = SignalDatabase.threads();
|
||||
this.recipientTable = SignalDatabase.recipients();
|
||||
this.mentionDatabase = SignalDatabase.mentions();
|
||||
this.mmsDatabase = SignalDatabase.mms();
|
||||
this.mmsDatabase = SignalDatabase.messages();
|
||||
this.contactRepository = new ContactRepository(context, noteToSelfTitle);
|
||||
this.searchExecutor = new LatestPrioritizedSerialExecutor(SignalExecutors.BOUNDED);
|
||||
this.serialExecutor = new SerialExecutor(SignalExecutors.BOUNDED);
|
||||
|
||||
@@ -25,8 +25,8 @@ public class ExpiringMessageManager {
|
||||
|
||||
public ExpiringMessageManager(Context context) {
|
||||
this.context = context.getApplicationContext();
|
||||
this.smsDatabase = SignalDatabase.sms();
|
||||
this.mmsDatabase = SignalDatabase.mms();
|
||||
this.smsDatabase = SignalDatabase.messages();
|
||||
this.mmsDatabase = SignalDatabase.messages();
|
||||
|
||||
executor.execute(new LoadTask());
|
||||
executor.execute(new ProcessTask());
|
||||
|
||||
@@ -24,7 +24,7 @@ class ExpiringStoriesManager(
|
||||
private val STORY_LIFESPAN = TimeUnit.HOURS.toMillis(24)
|
||||
}
|
||||
|
||||
private val mmsDatabase = SignalDatabase.mms
|
||||
private val mmsDatabase = SignalDatabase.messages
|
||||
|
||||
init {
|
||||
scheduleIfNecessary()
|
||||
|
||||
+1
-1
@@ -33,7 +33,7 @@ public final class PendingRetryReceiptManager extends TimedEventManager<PendingR
|
||||
super(application, "PendingRetryReceiptManager");
|
||||
|
||||
this.pendingCache = ApplicationDependencies.getPendingRetryReceiptCache();
|
||||
this.messageDatabase = SignalDatabase.sms();
|
||||
this.messageDatabase = SignalDatabase.messages();
|
||||
|
||||
scheduleIfNecessary();
|
||||
}
|
||||
|
||||
+2
-2
@@ -130,7 +130,7 @@ public class IncomingCallActionProcessor extends DeviceAwareActionProcessor {
|
||||
|
||||
Log.i(TAG, "handleAcceptCall(): call_id: " + activePeer.getCallId());
|
||||
|
||||
SignalDatabase.sms().insertReceivedCall(activePeer.getId(), currentState.getCallSetupState(activePeer).isRemoteVideoOffer());
|
||||
SignalDatabase.messages().insertReceivedCall(activePeer.getId(), currentState.getCallSetupState(activePeer).isRemoteVideoOffer());
|
||||
|
||||
currentState = currentState.builder()
|
||||
.changeCallSetupState(activePeer.getCallId())
|
||||
@@ -159,7 +159,7 @@ public class IncomingCallActionProcessor extends DeviceAwareActionProcessor {
|
||||
try {
|
||||
webRtcInteractor.rejectIncomingCall(activePeer.getId());
|
||||
webRtcInteractor.getCallManager().hangup();
|
||||
SignalDatabase.sms().insertMissedCall(activePeer.getId(), System.currentTimeMillis(), currentState.getCallSetupState(activePeer).isRemoteVideoOffer());
|
||||
SignalDatabase.messages().insertMissedCall(activePeer.getId(), System.currentTimeMillis(), currentState.getCallSetupState(activePeer).isRemoteVideoOffer());
|
||||
return terminate(currentState, activePeer);
|
||||
} catch (CallException e) {
|
||||
return callFailure(currentState, "hangup() failed: ", e);
|
||||
|
||||
+1
-1
@@ -83,7 +83,7 @@ public class OutgoingCallActionProcessor extends DeviceAwareActionProcessor {
|
||||
}
|
||||
|
||||
RecipientUtil.setAndSendUniversalExpireTimerIfNecessary(context, Recipient.resolved(remotePeer.getId()), SignalDatabase.threads().getThreadIdIfExistsFor(remotePeer.getId()));
|
||||
SignalDatabase.sms().insertOutgoingCall(remotePeer.getId(), isVideoCall);
|
||||
SignalDatabase.messages().insertOutgoingCall(remotePeer.getId(), isVideoCall);
|
||||
|
||||
EglBaseWrapper.replaceHolder(EglBaseWrapper.OUTGOING_PLACEHOLDER, remotePeer.getCallId().longValue());
|
||||
|
||||
|
||||
@@ -345,7 +345,7 @@ private void processStateless(@NonNull Function1<WebRtcEphemeralState, WebRtcEph
|
||||
Long threadId = SignalDatabase.threads().getThreadIdFor(group.getId());
|
||||
|
||||
if (threadId != null) {
|
||||
SignalDatabase.sms()
|
||||
SignalDatabase.messages()
|
||||
.updatePreviousGroupCall(threadId,
|
||||
peekInfo.getEraId(),
|
||||
peekInfo.getJoinedMembers(),
|
||||
@@ -826,14 +826,14 @@ private void processStateless(@NonNull Function1<WebRtcEphemeralState, WebRtcEph
|
||||
}
|
||||
|
||||
public void insertMissedCall(@NonNull RemotePeer remotePeer, boolean signal, long timestamp, boolean isVideoOffer) {
|
||||
Pair<Long, Long> messageAndThreadId = SignalDatabase.sms().insertMissedCall(remotePeer.getId(), timestamp, isVideoOffer);
|
||||
Pair<Long, Long> messageAndThreadId = SignalDatabase.messages().insertMissedCall(remotePeer.getId(), timestamp, isVideoOffer);
|
||||
|
||||
ApplicationDependencies.getMessageNotifier()
|
||||
.updateNotification(context, ConversationId.forConversation(messageAndThreadId.second()), signal);
|
||||
}
|
||||
|
||||
public void insertReceivedCall(@NonNull RemotePeer remotePeer, boolean signal, boolean isVideoOffer) {
|
||||
Pair<Long, Long> messageAndThreadId = SignalDatabase.sms().insertReceivedCall(remotePeer.getId(), isVideoOffer);
|
||||
Pair<Long, Long> messageAndThreadId = SignalDatabase.messages().insertReceivedCall(remotePeer.getId(), isVideoOffer);
|
||||
|
||||
ApplicationDependencies.getMessageNotifier()
|
||||
.updateNotification(context, ConversationId.forConversation(messageAndThreadId.second()), signal);
|
||||
@@ -879,7 +879,7 @@ private void processStateless(@NonNull Function1<WebRtcEphemeralState, WebRtcEph
|
||||
}
|
||||
|
||||
public void updateGroupCallUpdateMessage(@NonNull RecipientId groupId, @Nullable String groupCallEraId, @NonNull Collection<UUID> joinedMembers, boolean isCallFull) {
|
||||
SignalExecutors.BOUNDED.execute(() -> SignalDatabase.sms().insertOrUpdateGroupCall(groupId,
|
||||
SignalExecutors.BOUNDED.execute(() -> SignalDatabase.messages().insertOrUpdateGroupCall(groupId,
|
||||
Recipient.self().getId(),
|
||||
System.currentTimeMillis(),
|
||||
groupCallEraId,
|
||||
|
||||
@@ -113,7 +113,7 @@ public class MessageSender {
|
||||
{
|
||||
Log.i(TAG, "Sending story messages to " + messages.size() + " targets.");
|
||||
ThreadTable threadTable = SignalDatabase.threads();
|
||||
MessageTable database = SignalDatabase.mms();
|
||||
MessageTable database = SignalDatabase.messages();
|
||||
List<Long> messageIds = new ArrayList<>(messages.size());
|
||||
List<Long> threads = new ArrayList<>(messages.size());
|
||||
UploadDependencyGraph dependencyGraph;
|
||||
@@ -228,7 +228,7 @@ public class MessageSender {
|
||||
Log.i(TAG, "Sending media message to " + message.getRecipient().getId() + ", thread: " + threadId);
|
||||
try {
|
||||
ThreadTable threadTable = SignalDatabase.threads();
|
||||
MessageTable database = SignalDatabase.mms();
|
||||
MessageTable database = SignalDatabase.messages();
|
||||
|
||||
long allocatedThreadId = threadTable.getOrCreateValidThreadId(message.getRecipient(), threadId, message.getDistributionType());
|
||||
Recipient recipient = message.getRecipient();
|
||||
@@ -262,7 +262,7 @@ public class MessageSender {
|
||||
|
||||
try {
|
||||
ThreadTable threadTable = SignalDatabase.threads();
|
||||
MessageTable mmsDatabase = SignalDatabase.mms();
|
||||
MessageTable mmsDatabase = SignalDatabase.messages();
|
||||
AttachmentTable attachmentDatabase = SignalDatabase.attachments();
|
||||
|
||||
long allocatedThreadId;
|
||||
@@ -306,7 +306,7 @@ public class MessageSender {
|
||||
|
||||
JobManager jobManager = ApplicationDependencies.getJobManager();
|
||||
AttachmentTable attachmentDatabase = SignalDatabase.attachments();
|
||||
MessageTable mmsDatabase = SignalDatabase.mms();
|
||||
MessageTable mmsDatabase = SignalDatabase.messages();
|
||||
ThreadTable threadTable = SignalDatabase.threads();
|
||||
List<AttachmentId> preUploadAttachmentIds = Stream.of(preUploadResults).map(PreUploadResult::getAttachmentId).toList();
|
||||
List<String> preUploadJobIds = Stream.of(preUploadResults).map(PreUploadResult::getJobIds).flatMap(Stream::of).toList();
|
||||
@@ -467,7 +467,7 @@ public class MessageSender {
|
||||
}
|
||||
|
||||
public static void sendRemoteDelete(long messageId, boolean isMms) {
|
||||
MessageTable db = isMms ? SignalDatabase.mms() : SignalDatabase.sms();
|
||||
MessageTable db = isMms ? SignalDatabase.messages() : SignalDatabase.messages();
|
||||
db.markAsRemoteDelete(messageId);
|
||||
db.markAsSending(messageId);
|
||||
|
||||
@@ -623,7 +623,7 @@ public class MessageSender {
|
||||
private static void sendLocalMediaSelf(Context context, long messageId) {
|
||||
try {
|
||||
ExpiringMessageManager expirationManager = ApplicationDependencies.getExpiringMessageManager();
|
||||
MessageTable mmsDatabase = SignalDatabase.mms();
|
||||
MessageTable mmsDatabase = SignalDatabase.messages();
|
||||
MmsSmsTable mmsSmsDatabase = SignalDatabase.mmsSms();
|
||||
OutgoingMessage message = mmsDatabase.getOutgoingMessage(messageId);
|
||||
SyncMessageId syncId = new SyncMessageId(Recipient.self().getId(), message.getSentTimeMillis());
|
||||
@@ -674,7 +674,7 @@ public class MessageSender {
|
||||
private static void sendLocalTextSelf(Context context, long messageId) {
|
||||
try {
|
||||
ExpiringMessageManager expirationManager = ApplicationDependencies.getExpiringMessageManager();
|
||||
MessageTable smsDatabase = SignalDatabase.sms();
|
||||
MessageTable smsDatabase = SignalDatabase.messages();
|
||||
MmsSmsTable mmsSmsDatabase = SignalDatabase.mmsSms();
|
||||
SmsMessageRecord message = smsDatabase.getSmsMessage(messageId);
|
||||
SyncMessageId syncId = new SyncMessageId(Recipient.self().getId(), message.getDateSent());
|
||||
|
||||
@@ -116,7 +116,7 @@ object Stories {
|
||||
}
|
||||
|
||||
Log.d(TAG, "Enqueuing downloads for up to $limit stories for $recipientId (force: $force)")
|
||||
SignalDatabase.mms.getUnreadStories(recipientId, limit).use { reader ->
|
||||
SignalDatabase.messages.getUnreadStories(recipientId, limit).use { reader ->
|
||||
reader.forEach {
|
||||
enqueueAttachmentsFromStoryForDownloadSync(it as MmsMessageRecord, false)
|
||||
}
|
||||
|
||||
+6
-6
@@ -39,7 +39,7 @@ class StoriesLandingRepository(context: Context) {
|
||||
val myStoriesId = SignalDatabase.recipients.getOrInsertFromDistributionListId(DistributionListId.MY_STORY)
|
||||
val myStories = Recipient.resolved(myStoriesId)
|
||||
|
||||
val stories = SignalDatabase.mms.getOrderedStoryRecipientsAndIds(false)
|
||||
val stories = SignalDatabase.messages.getOrderedStoryRecipientsAndIds(false)
|
||||
val mapping: MutableMap<Recipient, List<StoryResult>> = mutableMapOf()
|
||||
|
||||
stories.forEach {
|
||||
@@ -77,14 +77,14 @@ class StoriesLandingRepository(context: Context) {
|
||||
.reversed()
|
||||
.take(if (recipient.isMyStory) 2 else 1)
|
||||
.map {
|
||||
SignalDatabase.mms.getMessageRecord(it.messageId)
|
||||
SignalDatabase.messages.getMessageRecord(it.messageId)
|
||||
}
|
||||
|
||||
var sendingCount: Long = 0
|
||||
var failureCount: Long = 0
|
||||
|
||||
if (recipient.isMyStory) {
|
||||
SignalDatabase.mms.getMessages(results.map { it.messageId }).use { reader ->
|
||||
SignalDatabase.messages.getMessages(results.map { it.messageId }).use { reader ->
|
||||
var messageRecord: MessageRecord? = reader.getNext()
|
||||
while (messageRecord != null) {
|
||||
if (messageRecord.isOutgoing && (messageRecord.isPending || messageRecord.isMediaPending)) {
|
||||
@@ -118,8 +118,8 @@ class StoriesLandingRepository(context: Context) {
|
||||
val itemData = StoriesLandingItemData(
|
||||
storyRecipient = sender,
|
||||
storyViewState = StoryViewState.NONE,
|
||||
hasReplies = messageRecords.any { SignalDatabase.mms.getNumberOfStoryReplies(it.id) > 0 },
|
||||
hasRepliesFromSelf = messageRecords.any { SignalDatabase.mms.hasSelfReplyInStory(it.id) },
|
||||
hasReplies = messageRecords.any { SignalDatabase.messages.getNumberOfStoryReplies(it.id) > 0 },
|
||||
hasRepliesFromSelf = messageRecords.any { SignalDatabase.messages.hasSelfReplyInStory(it.id) },
|
||||
isHidden = sender.shouldHideStory(),
|
||||
primaryStory = ConversationMessage.ConversationMessageFactory.createWithUnresolvedData(context, messageRecords[primaryIndex]),
|
||||
secondaryStory = if (sender.isMyStory) messageRecords.drop(1).firstOrNull()?.let {
|
||||
@@ -170,7 +170,7 @@ class StoriesLandingRepository(context: Context) {
|
||||
*/
|
||||
fun markStoriesRead() {
|
||||
SignalExecutors.BOUNDED_IO.execute {
|
||||
val messageInfos: List<MessageTable.MarkedMessageInfo> = SignalDatabase.mms.markAllIncomingStoriesRead()
|
||||
val messageInfos: List<MessageTable.MarkedMessageInfo> = SignalDatabase.messages.markAllIncomingStoriesRead()
|
||||
val releaseThread: Long? = SignalStore.releaseChannelValues().releaseChannelRecipientId?.let { SignalDatabase.threads.getThreadIdIfExistsFor(it) }
|
||||
|
||||
MultiDeviceReadUpdateJob.enqueue(messageInfos.filter { it.threadId == releaseThread }.map { it.syncMessageId })
|
||||
|
||||
@@ -26,7 +26,7 @@ class MyStoriesRepository(context: Context) {
|
||||
return Observable.create { emitter ->
|
||||
fun refresh() {
|
||||
val storiesMap = mutableMapOf<Recipient, List<MessageRecord>>()
|
||||
SignalDatabase.mms.getAllOutgoingStories(true, -1).use {
|
||||
SignalDatabase.messages.getAllOutgoingStories(true, -1).use {
|
||||
for (messageRecord in it) {
|
||||
val currentList = storiesMap[messageRecord.recipient] ?: emptyList()
|
||||
storiesMap[messageRecord.recipient] = (currentList + messageRecord)
|
||||
|
||||
+1
-1
@@ -30,7 +30,7 @@ class PrivateStorySettingsRepository {
|
||||
Stories.onStorySettingsChanged(distributionListId)
|
||||
|
||||
val recipientId = SignalDatabase.recipients.getOrInsertFromDistributionListId(distributionListId)
|
||||
SignalDatabase.mms.getAllStoriesFor(recipientId, -1).use { reader ->
|
||||
SignalDatabase.messages.getAllStoriesFor(recipientId, -1).use { reader ->
|
||||
for (record in reader) {
|
||||
MessageSender.sendRemoteDelete(record.id, record.isMms)
|
||||
}
|
||||
|
||||
+2
-2
@@ -29,7 +29,7 @@ class StoriesPrivacySettingsRepository {
|
||||
Stories.onStorySettingsChanged(Recipient.self().id)
|
||||
ApplicationDependencies.resetAllNetworkConnections()
|
||||
|
||||
SignalDatabase.mms.getAllOutgoingStories(false, -1).use { reader ->
|
||||
SignalDatabase.messages.getAllOutgoingStories(false, -1).use { reader ->
|
||||
reader.map { record -> record.id }
|
||||
}.forEach { messageId ->
|
||||
MessageSender.sendRemoteDelete(messageId, true)
|
||||
@@ -45,7 +45,7 @@ class StoriesPrivacySettingsRepository {
|
||||
|
||||
fun userHasOutgoingStories(): Single<Boolean> {
|
||||
return Single.fromCallable {
|
||||
SignalDatabase.mms.getAllOutgoingStories(false, -1).use {
|
||||
SignalDatabase.messages.getAllOutgoingStories(false, -1).use {
|
||||
it.iterator().hasNext()
|
||||
}
|
||||
}.subscribeOn(Schedulers.io())
|
||||
|
||||
+1
-1
@@ -34,7 +34,7 @@ class ConversationListTabRepository {
|
||||
fun getNumberOfUnseenStories(): Observable<Long> {
|
||||
return Observable.create<Long> { emitter ->
|
||||
fun refresh() {
|
||||
emitter.onNext(SignalDatabase.mms.unreadStoryThreadRecipientIds.map { Recipient.resolved(it) }.filterNot { it.shouldHideStory() }.size.toLong())
|
||||
emitter.onNext(SignalDatabase.messages.unreadStoryThreadRecipientIds.map { Recipient.resolved(it) }.filterNot { it.shouldHideStory() }.size.toLong())
|
||||
}
|
||||
|
||||
val listener = DatabaseObserver.Observer {
|
||||
|
||||
+5
-5
@@ -17,19 +17,19 @@ open class StoryViewerRepository {
|
||||
fun getFirstStory(recipientId: RecipientId, storyId: Long): Single<MmsMessageRecord> {
|
||||
return if (storyId > 0) {
|
||||
Single.fromCallable {
|
||||
SignalDatabase.mms.getMessageRecord(storyId) as MmsMessageRecord
|
||||
SignalDatabase.messages.getMessageRecord(storyId) as MmsMessageRecord
|
||||
}
|
||||
} else {
|
||||
Single.fromCallable {
|
||||
val recipient = Recipient.resolved(recipientId)
|
||||
val reader: MessageTable.Reader = if (recipient.isMyStory || recipient.isSelf) {
|
||||
SignalDatabase.mms.getAllOutgoingStories(false, 1)
|
||||
SignalDatabase.messages.getAllOutgoingStories(false, 1)
|
||||
} else {
|
||||
val unread = SignalDatabase.mms.getUnreadStories(recipientId, 1)
|
||||
val unread = SignalDatabase.messages.getUnreadStories(recipientId, 1)
|
||||
if (unread.iterator().hasNext()) {
|
||||
unread
|
||||
} else {
|
||||
SignalDatabase.mms.getAllStoriesFor(recipientId, 1)
|
||||
SignalDatabase.messages.getAllStoriesFor(recipientId, 1)
|
||||
}
|
||||
}
|
||||
reader.use { it.iterator().next() } as MmsMessageRecord
|
||||
@@ -42,7 +42,7 @@ open class StoryViewerRepository {
|
||||
val myStoriesId = SignalDatabase.recipients.getOrInsertFromDistributionListId(DistributionListId.MY_STORY)
|
||||
val myStories = Recipient.resolved(myStoriesId)
|
||||
val releaseChannelId = SignalStore.releaseChannelValues().releaseChannelRecipientId
|
||||
val recipientIds = SignalDatabase.mms.getOrderedStoryRecipientsAndIds(isOutgoingOnly).groupBy {
|
||||
val recipientIds = SignalDatabase.messages.getOrderedStoryRecipientsAndIds(isOutgoingOnly).groupBy {
|
||||
val recipient = Recipient.resolved(it.recipientId)
|
||||
if (recipient.isDistributionList) {
|
||||
myStories
|
||||
|
||||
+8
-8
@@ -46,11 +46,11 @@ open class StoryViewerPageRepository(context: Context, private val storyViewStat
|
||||
|
||||
fun refresh() {
|
||||
val stories = if (recipient.isMyStory) {
|
||||
SignalDatabase.mms.getAllOutgoingStories(false, 100)
|
||||
SignalDatabase.messages.getAllOutgoingStories(false, 100)
|
||||
} else if (isOutgoingOnly) {
|
||||
SignalDatabase.mms.getOutgoingStoriesTo(recipientId)
|
||||
SignalDatabase.messages.getOutgoingStoriesTo(recipientId)
|
||||
} else {
|
||||
SignalDatabase.mms.getAllStoriesFor(recipientId, 100)
|
||||
SignalDatabase.messages.getAllStoriesFor(recipientId, 100)
|
||||
}
|
||||
|
||||
val results = stories.filterNot {
|
||||
@@ -83,7 +83,7 @@ open class StoryViewerPageRepository(context: Context, private val storyViewStat
|
||||
group = if (recipient.isGroup) recipient else null,
|
||||
distributionList = if (record.recipient.isDistributionList) record.recipient else null,
|
||||
viewCount = record.viewedReceiptCount,
|
||||
replyCount = SignalDatabase.mms.getNumberOfStoryReplies(record.id),
|
||||
replyCount = SignalDatabase.messages.getNumberOfStoryReplies(record.id),
|
||||
dateInMilliseconds = record.dateSent,
|
||||
content = getContent(record as MmsMessageRecord),
|
||||
conversationMessage = ConversationMessage.ConversationMessageFactory.createWithUnresolvedData(context, record),
|
||||
@@ -101,7 +101,7 @@ open class StoryViewerPageRepository(context: Context, private val storyViewStat
|
||||
val messageUpdateObserver = DatabaseObserver.MessageObserver {
|
||||
if (it.mms && it.id == recordId) {
|
||||
try {
|
||||
val messageRecord = SignalDatabase.mms.getMessageRecord(recordId)
|
||||
val messageRecord = SignalDatabase.messages.getMessageRecord(recordId)
|
||||
if (messageRecord.isRemoteDelete) {
|
||||
emitter.onComplete()
|
||||
} else {
|
||||
@@ -115,7 +115,7 @@ open class StoryViewerPageRepository(context: Context, private val storyViewStat
|
||||
|
||||
val conversationObserver = DatabaseObserver.Observer {
|
||||
try {
|
||||
refresh(SignalDatabase.mms.getMessageRecord(recordId))
|
||||
refresh(SignalDatabase.messages.getMessageRecord(recordId))
|
||||
} catch (e: NoSuchMessageException) {
|
||||
Log.w(TAG, "Message deleted during content refresh.", e)
|
||||
}
|
||||
@@ -125,7 +125,7 @@ open class StoryViewerPageRepository(context: Context, private val storyViewStat
|
||||
ApplicationDependencies.getDatabaseObserver().registerMessageUpdateObserver(messageUpdateObserver)
|
||||
|
||||
val messageInsertObserver = DatabaseObserver.MessageObserver {
|
||||
refresh(SignalDatabase.mms.getMessageRecord(recordId))
|
||||
refresh(SignalDatabase.messages.getMessageRecord(recordId))
|
||||
}
|
||||
|
||||
if (recipient.isGroup) {
|
||||
@@ -172,7 +172,7 @@ open class StoryViewerPageRepository(context: Context, private val storyViewStat
|
||||
fun markViewed(storyPost: StoryPost) {
|
||||
if (!storyPost.conversationMessage.messageRecord.isOutgoing) {
|
||||
SignalExecutors.BOUNDED.execute {
|
||||
val markedMessageInfo = SignalDatabase.mms.setIncomingMessageViewed(storyPost.id)
|
||||
val markedMessageInfo = SignalDatabase.messages.setIncomingMessageViewed(storyPost.id)
|
||||
if (markedMessageInfo != null) {
|
||||
ApplicationDependencies.getDatabaseObserver().notifyConversationListListeners()
|
||||
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user