Migrate most of MmsSmsTable.

This commit is contained in:
Greyson Parrelli
2022-12-30 18:17:39 -05:00
parent f149c0adb9
commit 6cd6073bc7
33 changed files with 884 additions and 1069 deletions

View File

@@ -14,6 +14,7 @@ import org.thoughtcrime.securesms.attachments.DatabaseAttachment;
import org.thoughtcrime.securesms.conversation.ConversationData.MessageRequestData;
import org.thoughtcrime.securesms.conversation.ConversationMessage.ConversationMessageFactory;
import org.thoughtcrime.securesms.database.CallTable;
import org.thoughtcrime.securesms.database.MessageTable;
import org.thoughtcrime.securesms.database.MmsSmsTable;
import org.thoughtcrime.securesms.database.SignalDatabase;
import org.thoughtcrime.securesms.database.model.InMemoryMessageRecord;
@@ -87,7 +88,7 @@ public class ConversationDataSource implements PagedDataSource<MessageId, Conver
}
}
return SignalDatabase.mmsSms().getConversationCount(threadId);
return SignalDatabase.messages().getMessageCountForThread(threadId);
}
@Override
@@ -103,7 +104,7 @@ public class ConversationDataSource implements PagedDataSource<MessageId, Conver
CallHelper callHelper = new CallHelper();
Set<ServiceId> referencedIds = new HashSet<>();
try (MmsSmsTable.Reader reader = MmsSmsTable.readerFor(db.getConversation(threadId, start, length))) {
try (MessageTable.Reader reader = MessageTable.mmsReaderFor(db.getConversation(threadId, start, length))) {
MessageRecord record;
while ((record = reader.getNext()) != null && !cancellationSignal.isCanceled()) {
records.add(record);
@@ -194,7 +195,7 @@ public class ConversationDataSource implements PagedDataSource<MessageId, Conver
List<Mention> mentions = SignalDatabase.mentions().getMentionsForMessage(messageId.getId());
stopwatch.split("mentions");
boolean isQuoted = SignalDatabase.mmsSms().isQuoted(record);
boolean isQuoted = SignalDatabase.messages().isQuoted(record);
stopwatch.split("is-quoted");
List<ReactionRecord> reactions = SignalDatabase.reactions().getReactions(messageId);
@@ -265,7 +266,7 @@ public class ConversationDataSource implements PagedDataSource<MessageId, Conver
}
void fetchQuotedState() {
hasBeenQuotedIds = SignalDatabase.mmsSms().isQuoted(records);
hasBeenQuotedIds = SignalDatabase.messages().isQuoted(records);
}
boolean isQuoted(long id) {

View File

@@ -1309,7 +1309,7 @@ public class ConversationFragment extends LoggingFragment implements Multiselect
@SuppressWarnings("CodeBlock2Expr")
public void jumpToMessage(@NonNull RecipientId author, long timestamp, @Nullable Runnable onMessageNotFound) {
SimpleTask.run(getLifecycle(), () -> {
return SignalDatabase.mmsSms().getMessagePositionInConversation(threadId, timestamp, author);
return SignalDatabase.messages().getMessagePositionInConversation(threadId, timestamp, author);
}, p -> moveToPosition(p + (isTypingIndicatorShowing() ? 1 : 0), onMessageNotFound));
}
@@ -1453,7 +1453,7 @@ public class ConversationFragment extends LoggingFragment implements Multiselect
@Override
public void jumpToMessage(@NonNull MessageRecord messageRecord) {
SimpleTask.run(getLifecycle(), () -> {
return SignalDatabase.mmsSms().getMessagePositionInConversation(threadId,
return SignalDatabase.messages().getMessagePositionInConversation(threadId,
messageRecord.getDateReceived(),
messageRecord.isOutgoing() ? Recipient.self().getId() : messageRecord.getRecipient().getId());
}, p -> moveToPosition(p + (isTypingIndicatorShowing() ? 1 : 0), () -> {
@@ -1738,9 +1738,9 @@ public class ConversationFragment extends LoggingFragment implements Multiselect
}
SimpleTask.run(getLifecycle(), () -> {
return SignalDatabase.mmsSms().getQuotedMessagePosition(threadId,
messageRecord.getQuote().getId(),
messageRecord.getQuote().getAuthor());
return SignalDatabase.messages().getQuotedMessagePosition(threadId,
messageRecord.getQuote().getId(),
messageRecord.getQuote().getAuthor());
}, p -> moveToPosition(p + (isTypingIndicatorShowing() ? 1 : 0), () -> {
Toast.makeText(getContext(), R.string.ConversationFragment_quoted_message_no_longer_available, Toast.LENGTH_SHORT).show();
}));

View File

@@ -186,7 +186,7 @@ public class ConversationMessage {
*/
@WorkerThread
public static @NonNull ConversationMessage createWithUnresolvedData(@NonNull Context context, @NonNull MessageRecord messageRecord, @NonNull CharSequence body) {
boolean hasBeenQuoted = SignalDatabase.mmsSms().isQuoted(messageRecord);
boolean hasBeenQuoted = SignalDatabase.messages().isQuoted(messageRecord);
if (messageRecord.isMms()) {
List<Mention> mentions = SignalDatabase.mentions().getMentionsForMessage(messageRecord.getId());

View File

@@ -3889,7 +3889,7 @@ public class ConversationParentFragment extends Fragment
SimpleTask.run(() -> {
//noinspection CodeBlock2Expr
return SignalDatabase.mmsSms().checkMessageExists(reactionDelegate.getMessageRecord());
return SignalDatabase.messages().checkMessageExists(reactionDelegate.getMessageRecord());
}, messageExists -> {
if (!messageExists) {
reactionDelegate.hide();

View File

@@ -59,7 +59,7 @@ class ConversationRepository {
@WorkerThread
public @NonNull ConversationData getConversationData(long threadId, @NonNull Recipient conversationRecipient, int jumpToPosition) {
ThreadTable.ConversationMetadata metadata = SignalDatabase.threads().getConversationMetadata(threadId);
int threadSize = SignalDatabase.mmsSms().getConversationCount(threadId);
int threadSize = SignalDatabase.messages().getMessageCountForThread(threadId);
long lastSeen = metadata.getLastSeen();
int lastSeenPosition = 0;
long lastScrolled = metadata.getLastScrolled();
@@ -69,7 +69,7 @@ class ConversationRepository {
boolean showUniversalExpireTimerUpdate = false;
if (lastSeen > 0) {
lastSeenPosition = SignalDatabase.mmsSms().getMessagePositionOnOrAfterTimestamp(threadId, lastSeen);
lastSeenPosition = SignalDatabase.messages().getMessagePositionOnOrAfterTimestamp(threadId, lastSeen);
}
if (lastSeenPosition <= 0) {
@@ -77,7 +77,7 @@ class ConversationRepository {
}
if (lastSeen == 0 && lastScrolled > 0) {
lastScrolledPosition = SignalDatabase.mmsSms().getMessagePositionOnOrAfterTimestamp(threadId, lastScrolled);
lastScrolledPosition = SignalDatabase.messages().getMessagePositionOnOrAfterTimestamp(threadId, lastScrolled);
}
if (!isMessageRequestAccepted) {
@@ -105,7 +105,7 @@ class ConversationRepository {
conversationRecipient.getExpiresInSeconds() == 0 &&
!conversationRecipient.isGroup() &&
conversationRecipient.isRegistered() &&
(threadId == -1 || !SignalDatabase.mmsSms().hasMeaningfulMessage(threadId)))
(threadId == -1 || !SignalDatabase.messages().hasMeaningfulMessage(threadId)))
{
showUniversalExpireTimerUpdate = true;
}
@@ -172,7 +172,7 @@ class ConversationRepository {
long threadId = SignalDatabase.threads().getThreadIdIfExistsFor(recipient.getId());
boolean hasUnexportedInsecureMessages = threadId != -1 && SignalDatabase.mmsSms().getUnexportedInsecureMessagesCount(threadId) > 0;
boolean hasUnexportedInsecureMessages = threadId != -1 && SignalDatabase.messages().getUnexportedInsecureMessagesCount(threadId) > 0;
Log.i(TAG, "Returning registered state...");
return new ConversationSecurityInfo(recipient.getId(),
@@ -190,7 +190,7 @@ class ConversationRepository {
return Observable.<Integer> create(emitter -> {
DatabaseObserver.Observer listener = () -> emitter.onNext(SignalDatabase.mmsSms().getIncomingMeaningfulMessageCountSince(threadId, afterTime));
DatabaseObserver.Observer listener = () -> emitter.onNext(SignalDatabase.messages().getIncomingMeaningfulMessageCountSince(threadId, afterTime));
ApplicationDependencies.getDatabaseObserver().registerConversationObserver(threadId, listener);
emitter.setCancellable(() -> ApplicationDependencies.getDatabaseObserver().unregisterObserver(listener));

View File

@@ -27,7 +27,7 @@ class MessageQuotesRepository {
*/
fun getMessagesInQuoteChain(application: Application, messageId: MessageId): Observable<List<ConversationMessage>> {
return Observable.create { emitter ->
val threadId: Long = SignalDatabase.mmsSms.getThreadId(messageId)
val threadId: Long = SignalDatabase.messages.getThreadIdForMessage(messageId.id)
if (threadId < 0) {
Log.w(TAG, "Could not find a threadId for $messageId!")
emitter.onNext(emptyList())
@@ -46,7 +46,7 @@ class MessageQuotesRepository {
@WorkerThread
private fun getMessagesInQuoteChainSync(application: Application, messageId: MessageId): List<ConversationMessage> {
val rootMessageId: MessageId = SignalDatabase.mmsSms.getRootOfQuoteChain(messageId)
val rootMessageId: MessageId = SignalDatabase.messages.getRootOfQuoteChain(messageId)
var originalRecord: MessageRecord? = SignalDatabase.messages.getMessageRecordOrNull(rootMessageId.id)