Introduce SignalDatabase as the main database entrypoint.

This commit is contained in:
Greyson Parrelli
2021-11-18 12:36:52 -05:00
committed by GitHub
parent e17c49505c
commit 843ed24bbb
371 changed files with 4198 additions and 4434 deletions

View File

@@ -48,7 +48,7 @@ import org.thoughtcrime.securesms.R;
import org.thoughtcrime.securesms.components.SearchToolbar;
import org.thoughtcrime.securesms.contacts.ContactsCursorLoader.DisplayMode;
import org.thoughtcrime.securesms.conversation.ConversationIntents;
import org.thoughtcrime.securesms.database.DatabaseFactory;
import org.thoughtcrime.securesms.database.SignalDatabase;
import org.thoughtcrime.securesms.database.ThreadDatabase;
import org.thoughtcrime.securesms.mediasend.Media;
import org.thoughtcrime.securesms.mediasend.v2.MediaSelectionActivity;
@@ -324,7 +324,7 @@ public class ShareActivity extends PassphraseRequiredActivity
int distributionType = ThreadDatabase.DistributionTypes.DEFAULT;
if (recipientId != null) {
threadId = DatabaseFactory.getThreadDatabase(this).getThreadIdFor(recipientId);
threadId = SignalDatabase.threads().getThreadIdFor(recipientId);
extras.putString(EXTRA_RECIPIENT_ID, recipientId.serialize());
extras.putLong(EXTRA_THREAD_ID, threadId != null ? threadId : -1);
extras.putInt(EXTRA_DISTRIBUTION_TYPE, distributionType);
@@ -517,10 +517,10 @@ public class ShareActivity extends PassphraseRequiredActivity
.or(() -> Recipient.external(this, contact.getNumber())))
.collect(Collectors.toSet());
Map<RecipientId, Long> existingThreads = DatabaseFactory.getThreadDatabase(this)
.getThreadIdsIfExistsFor(Stream.of(recipients)
.map(Recipient::getId)
.toArray(RecipientId[]::new));
Map<RecipientId, Long> existingThreads = SignalDatabase.threads()
.getThreadIdsIfExistsFor(Stream.of(recipients)
.map(Recipient::getId)
.toArray(RecipientId[]::new));
return Stream.of(recipients)
.map(recipient -> new ShareContactAndThread(recipient.getId(), Util.getOrDefault(existingThreads, recipient.getId(), -1L), recipient.isForceSmsSelection() || !recipient.isRegistered()))
@@ -537,7 +537,7 @@ public class ShareActivity extends PassphraseRequiredActivity
recipient = Recipient.external(this, shareContact.getNumber());
}
long existingThread = DatabaseFactory.getThreadDatabase(this).getThreadIdIfExistsFor(recipient.getId());
long existingThread = SignalDatabase.threads().getThreadIdIfExistsFor(recipient.getId());
return new ShareContactAndThread(recipient.getId(), existingThread, recipient.isForceSmsSelection() || !recipient.isRegistered());
}

View File

@@ -14,8 +14,8 @@ import androidx.lifecycle.ViewModelProvider;
import com.annimon.stream.Stream;
import org.signal.core.util.logging.Log;
import org.thoughtcrime.securesms.database.DatabaseFactory;
import org.thoughtcrime.securesms.database.GroupDatabase;
import org.thoughtcrime.securesms.database.SignalDatabase;
import org.thoughtcrime.securesms.dependencies.ApplicationDependencies;
import org.thoughtcrime.securesms.providers.BlobProvider;
import org.thoughtcrime.securesms.recipients.Recipient;
@@ -71,7 +71,7 @@ public class ShareViewModel extends ViewModel {
Recipient recipient = Recipient.resolved(selectedContact.getRecipientId().get());
if (recipient.isPushV2Group()) {
Optional<GroupDatabase.GroupRecord> record = DatabaseFactory.getGroupDatabase(context).getGroup(recipient.requireGroupId());
Optional<GroupDatabase.GroupRecord> record = SignalDatabase.groups().getGroup(recipient.requireGroupId());
if (record.isPresent() && record.get().isAnnouncementGroup() && !record.get().isAdmin(Recipient.self())) {
return ContactSelectResult.FALSE_AND_SHOW_PERMISSION_TOAST;