Rename SignalDatabase.sms/mms to SignalDatabase.messages

This commit is contained in:
Greyson Parrelli
2022-12-14 20:08:23 -05:00
parent a7e3bdc892
commit 60ae883df6
109 changed files with 391 additions and 424 deletions

View File

@@ -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));
}
/**

View File

@@ -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());

View File

@@ -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);

View File

@@ -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)

View File

@@ -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);
}

View File

@@ -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()

View File

@@ -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

View File

@@ -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
}
}

View File

@@ -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()

View File

@@ -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) {

View File

@@ -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 {