Initial pre-alpha support for sender key.

This commit is contained in:
Greyson Parrelli
2021-05-14 14:03:35 -04:00
parent c54f016213
commit 57c0b8fd0f
124 changed files with 3668 additions and 444 deletions

View File

@@ -9,6 +9,7 @@ import org.thoughtcrime.securesms.KbsEnclave;
import org.thoughtcrime.securesms.components.TypingStatusRepository;
import org.thoughtcrime.securesms.components.TypingStatusSender;
import org.thoughtcrime.securesms.database.DatabaseObserver;
import org.thoughtcrime.securesms.database.model.PendingRetryReceiptModel;
import org.thoughtcrime.securesms.groups.GroupsV2Authorization;
import org.thoughtcrime.securesms.groups.GroupsV2AuthorizationMemoryValueCache;
import org.thoughtcrime.securesms.groups.v2.processing.GroupsV2StateProcessor;
@@ -27,6 +28,7 @@ import org.thoughtcrime.securesms.push.SignalServiceNetworkAccess;
import org.thoughtcrime.securesms.recipients.LiveRecipientCache;
import org.thoughtcrime.securesms.revealable.ViewOnceMessageManager;
import org.thoughtcrime.securesms.service.ExpiringMessageManager;
import org.thoughtcrime.securesms.service.PendingRetryReceiptManager;
import org.thoughtcrime.securesms.service.TrimThreadsByDateManager;
import org.thoughtcrime.securesms.service.webrtc.SignalCallManager;
import org.thoughtcrime.securesms.shakereport.ShakeToReport;
@@ -87,6 +89,7 @@ public class ApplicationDependencies {
private static volatile SignalCallManager signalCallManager;
private static volatile ShakeToReport shakeToReport;
private static volatile OkHttpClient okHttpClient;
private static volatile PendingRetryReceiptManager pendingRetryReceiptManager;
@MainThread
public static void init(@NonNull Application application, @NonNull Provider provider) {
@@ -362,6 +365,18 @@ public class ApplicationDependencies {
return viewOnceMessageManager;
}
public static @NonNull PendingRetryReceiptManager getPendingRetryReceiptManager() {
if (pendingRetryReceiptManager == null) {
synchronized (LOCK) {
if (pendingRetryReceiptManager == null) {
pendingRetryReceiptManager = provider.providePendingRetryReceiptManager();
}
}
}
return pendingRetryReceiptManager;
}
public static @NonNull ExpiringMessageManager getExpiringMessageManager() {
if (expiringMessageManager == null) {
synchronized (LOCK) {
@@ -492,5 +507,6 @@ public class ApplicationDependencies {
@NonNull ShakeToReport provideShakeToReport();
@NonNull AppForegroundObserver provideAppForegroundObserver();
@NonNull SignalCallManager provideSignalCallManager();
@NonNull PendingRetryReceiptManager providePendingRetryReceiptManager();
}
}

View File

@@ -45,6 +45,7 @@ import org.thoughtcrime.securesms.push.SignalServiceNetworkAccess;
import org.thoughtcrime.securesms.recipients.LiveRecipientCache;
import org.thoughtcrime.securesms.revealable.ViewOnceMessageManager;
import org.thoughtcrime.securesms.service.ExpiringMessageManager;
import org.thoughtcrime.securesms.service.PendingRetryReceiptManager;
import org.thoughtcrime.securesms.service.TrimThreadsByDateManager;
import org.thoughtcrime.securesms.service.webrtc.SignalCallManager;
import org.thoughtcrime.securesms.shakereport.ShakeToReport;
@@ -251,6 +252,11 @@ public class ApplicationDependencyProvider implements ApplicationDependencies.Pr
return new SignalCallManager(context);
}
@Override
public @NonNull PendingRetryReceiptManager providePendingRetryReceiptManager() {
return new PendingRetryReceiptManager(context);
}
private static class DynamicCredentialsProvider implements CredentialsProvider {
private final Context context;