Rewrite the AppDependencies system.

This commit is contained in:
Greyson Parrelli
2024-05-22 15:44:24 -04:00
committed by Cody Henthorne
parent a0131bf39b
commit b6a4e1f145
560 changed files with 2909 additions and 3036 deletions

View File

@@ -9,7 +9,7 @@ import io.reactivex.rxjava3.disposables.CompositeDisposable
import io.reactivex.rxjava3.disposables.Disposable
import io.reactivex.rxjava3.kotlin.plusAssign
import io.reactivex.rxjava3.schedulers.Schedulers
import org.thoughtcrime.securesms.dependencies.ApplicationDependencies
import org.thoughtcrime.securesms.dependencies.AppDependencies
import org.thoughtcrime.securesms.recipients.Recipient
import org.thoughtcrime.securesms.recipients.RecipientId
import org.thoughtcrime.securesms.util.rx.RxStore
@@ -67,7 +67,7 @@ class ContactChipViewModel : ViewModel() {
private fun getOrCreateRecipientId(selectedContact: SelectedContact): Single<RecipientId> {
return Single.fromCallable {
selectedContact.getOrCreateRecipientId(ApplicationDependencies.getApplication())
selectedContact.getOrCreateRecipientId(AppDependencies.application)
}
}
}

View File

@@ -13,13 +13,12 @@ import org.signal.contacts.SystemContactsRepository;
import org.signal.core.util.logging.Log;
import org.thoughtcrime.securesms.contacts.sync.ContactDiscovery;
import org.thoughtcrime.securesms.database.SignalDatabase;
import org.thoughtcrime.securesms.dependencies.ApplicationDependencies;
import org.thoughtcrime.securesms.dependencies.AppDependencies;
import org.thoughtcrime.securesms.jobs.DirectoryRefreshJob;
import org.thoughtcrime.securesms.keyvalue.SignalStore;
import org.thoughtcrime.securesms.phonenumbers.PhoneNumberFormatter;
import org.thoughtcrime.securesms.recipients.Recipient;
import org.signal.core.util.SetUtil;
import org.thoughtcrime.securesms.util.Util;
import java.io.IOException;
import java.util.List;
@@ -81,7 +80,7 @@ public class ContactsSyncAdapter extends AbstractThreadedSyncAdapter {
ContactDiscovery.refresh(context, recipients, true);
} catch (IOException e) {
Log.w(TAG, "Failed to refresh! Scheduling for later.", e);
ApplicationDependencies.getJobManager().add(new DirectoryRefreshJob(true));
AppDependencies.getJobManager().add(new DirectoryRefreshJob(true));
}
} else {
Log.i(TAG, "No new contacts. Just syncing system contact data.");

View File

@@ -1,6 +1,5 @@
package org.thoughtcrime.securesms.contacts;
import android.app.AlertDialog;
import android.content.Context;
import android.content.DialogInterface;
import android.content.Intent;
@@ -14,7 +13,7 @@ import org.thoughtcrime.securesms.R;
import org.thoughtcrime.securesms.database.MessageTable;
import org.thoughtcrime.securesms.database.SignalDatabase;
import org.thoughtcrime.securesms.database.ThreadTable;
import org.thoughtcrime.securesms.dependencies.ApplicationDependencies;
import org.thoughtcrime.securesms.dependencies.AppDependencies;
import org.thoughtcrime.securesms.keyvalue.SignalStore;
import org.thoughtcrime.securesms.notifications.MarkReadReceiver;
import org.signal.core.util.concurrent.SimpleTask;
@@ -60,7 +59,7 @@ public class TurnOffContactJoinedNotificationsActivity extends AppCompatActivity
MarkReadReceiver.process(marked);
SignalStore.settings().setNotifyWhenContactJoinsSignal(false);
ApplicationDependencies.getMessageNotifier().updateNotification(this);
AppDependencies.getMessageNotifier().updateNotification(this);
return null;
}, unused -> {

View File

@@ -7,9 +7,7 @@ import android.net.Uri;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import org.signal.libsignal.protocol.util.ByteUtil;
import org.thoughtcrime.securesms.database.model.ProfileAvatarFileDetails;
import org.thoughtcrime.securesms.dependencies.ApplicationDependencies;
import org.thoughtcrime.securesms.profiles.AvatarHelper;
import org.thoughtcrime.securesms.recipients.Recipient;

View File

@@ -5,7 +5,7 @@ import androidx.annotation.CheckResult
import io.reactivex.rxjava3.core.Completable
import io.reactivex.rxjava3.schedulers.Schedulers
import org.thoughtcrime.securesms.database.SignalDatabase
import org.thoughtcrime.securesms.dependencies.ApplicationDependencies
import org.thoughtcrime.securesms.dependencies.AppDependencies
import org.thoughtcrime.securesms.jobs.RotateProfileKeyJob
import org.thoughtcrime.securesms.recipients.Recipient
import org.thoughtcrime.securesms.recipients.RecipientUtil
@@ -36,7 +36,7 @@ class ContactsManagementRepository(context: Context) {
val rotateProfileKey = !recipient.hasGroupsInCommon
SignalDatabase.recipients.markHidden(recipient.id, rotateProfileKey, false)
if (rotateProfileKey) {
ApplicationDependencies.getJobManager().add(RotateProfileKeyJob())
AppDependencies.jobManager.add(RotateProfileKeyJob())
}
}.subscribeOn(Schedulers.io())
}

View File

@@ -7,7 +7,7 @@ import org.signal.core.util.concurrent.SignalExecutors
import org.signal.core.util.concurrent.safeBlockingGet
import org.signal.core.util.logging.Log
import org.thoughtcrime.securesms.crypto.storage.SignalIdentityKeyStore
import org.thoughtcrime.securesms.dependencies.ApplicationDependencies
import org.thoughtcrime.securesms.dependencies.AppDependencies
import org.thoughtcrime.securesms.recipients.Recipient
import org.thoughtcrime.securesms.recipients.RecipientId
import org.thoughtcrime.securesms.util.IdentityUtil
@@ -20,8 +20,8 @@ import java.util.concurrent.TimeUnit
* Generic repository for interacting with safety numbers and fetch new ones.
*/
class SafetyNumberRepository(
private val profileService: ProfileService = ApplicationDependencies.getProfileService(),
private val aciIdentityStore: SignalIdentityKeyStore = ApplicationDependencies.getProtocolStore().aci().identities()
private val profileService: ProfileService = AppDependencies.profileService,
private val aciIdentityStore: SignalIdentityKeyStore = AppDependencies.protocolStore.aci().identities()
) {
private val recentlyFetched: MutableMap<RecipientId, Long> = HashMap()

View File

@@ -12,7 +12,7 @@ import org.signal.core.util.StringUtil
import org.signal.core.util.logging.Log
import org.thoughtcrime.securesms.database.RecipientTable
import org.thoughtcrime.securesms.database.SignalDatabase
import org.thoughtcrime.securesms.dependencies.ApplicationDependencies
import org.thoughtcrime.securesms.dependencies.AppDependencies
import org.thoughtcrime.securesms.jobs.SyncSystemContactLinksJob
import org.thoughtcrime.securesms.keyvalue.SignalStore
import org.thoughtcrime.securesms.mms.IncomingMessage
@@ -162,7 +162,7 @@ object ContactDiscovery {
stopwatch.split("cds")
if (hasContactsPermissions(context)) {
ApplicationDependencies.getJobManager().add(SyncSystemContactLinksJob())
AppDependencies.jobManager.add(SyncSystemContactLinksJob())
val useFullSync = forceFullSystemContactSync || (removeSystemContactLinksIfMissing && result.registeredIds.size > FULL_SYSTEM_CONTACT_SYNC_THRESHOLD)
syncRecipientsWithSystemContacts(
@@ -218,7 +218,7 @@ object ContactDiscovery {
.forEach { result ->
val hour = Calendar.getInstance()[Calendar.HOUR_OF_DAY]
if (hour in 9..22) {
ApplicationDependencies.getMessageNotifier().updateNotification(context, ConversationId.forConversation(result.threadId))
AppDependencies.messageNotifier.updateNotification(context, ConversationId.forConversation(result.threadId))
} else {
Log.i(TAG, "Not notifying of a new user due to the time of day. (Hour: $hour)")
}
@@ -301,8 +301,8 @@ object ContactDiscovery {
val protocolAddress = Recipient.resolved(id).requireServiceId().toProtocolAddress(SignalServiceAddress.DEFAULT_DEVICE_ID)
return ApplicationDependencies.getProtocolStore().aci().containsSession(protocolAddress) ||
ApplicationDependencies.getProtocolStore().pni().containsSession(protocolAddress)
return AppDependencies.protocolStore.aci().containsSession(protocolAddress) ||
AppDependencies.protocolStore.pni().containsSession(protocolAddress)
}
class RefreshResult(

View File

@@ -10,7 +10,7 @@ import org.thoughtcrime.securesms.contacts.sync.FuzzyPhoneNumberHelper.InputResu
import org.thoughtcrime.securesms.contacts.sync.FuzzyPhoneNumberHelper.OutputResult
import org.thoughtcrime.securesms.database.RecipientTable.CdsV2Result
import org.thoughtcrime.securesms.database.SignalDatabase
import org.thoughtcrime.securesms.dependencies.ApplicationDependencies
import org.thoughtcrime.securesms.dependencies.AppDependencies
import org.thoughtcrime.securesms.keyvalue.SignalStore
import org.thoughtcrime.securesms.phonenumbers.PhoneNumberFormatter
import org.thoughtcrime.securesms.recipients.Recipient
@@ -91,14 +91,14 @@ object ContactDiscoveryRefreshV2 {
@Synchronized
fun lookupE164(e164: String): ContactDiscovery.LookupResult? {
val response: CdsiV2Service.Response = try {
ApplicationDependencies.getSignalServiceAccountManager().getRegisteredUsersWithCdsi(
AppDependencies.signalServiceAccountManager.getRegisteredUsersWithCdsi(
emptySet(),
setOf(e164),
SignalDatabase.recipients.getAllServiceIdProfileKeyPairs(),
Optional.empty(),
BuildConfig.CDSI_MRENCLAVE,
10_000,
if (FeatureFlags.useLibsignalNetForCdsiLookup()) ApplicationDependencies.getLibsignalNetwork() else null
if (FeatureFlags.useLibsignalNetForCdsiLookup()) AppDependencies.libsignalNetwork else null
) {
Log.i(TAG, "Ignoring token for one-off lookup.")
}
@@ -156,14 +156,14 @@ object ContactDiscoveryRefreshV2 {
stopwatch.split("preamble")
val response: CdsiV2Service.Response = try {
ApplicationDependencies.getSignalServiceAccountManager().getRegisteredUsersWithCdsi(
AppDependencies.signalServiceAccountManager.getRegisteredUsersWithCdsi(
previousE164s,
newE164s,
SignalDatabase.recipients.getAllServiceIdProfileKeyPairs(),
Optional.ofNullable(token),
BuildConfig.CDSI_MRENCLAVE,
timeoutMs,
if (FeatureFlags.useLibsignalNetForCdsiLookup()) ApplicationDependencies.getLibsignalNetwork() else null
if (FeatureFlags.useLibsignalNetForCdsiLookup()) AppDependencies.libsignalNetwork else null
) { tokenToSave ->
stopwatch.split("network-pre-token")
if (!isPartialRefresh) {