Move ViewOnceMessageManager and ExpiringMessageManager to AppDependencies.

This commit is contained in:
Greyson Parrelli
2021-04-13 14:49:32 -04:00
committed by GitHub
parent 0020c7c6dc
commit 670aed2074
13 changed files with 82 additions and 48 deletions

View File

@@ -23,6 +23,8 @@ import org.thoughtcrime.securesms.notifications.MessageNotifier;
import org.thoughtcrime.securesms.payments.Payments;
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.TrimThreadsByDateManager;
import org.thoughtcrime.securesms.service.webrtc.SignalCallManager;
import org.thoughtcrime.securesms.shakereport.ShakeToReport;
@@ -75,6 +77,8 @@ public class ApplicationDependencies {
private static volatile TypingStatusSender typingStatusSender;
private static volatile DatabaseObserver databaseObserver;
private static volatile TrimThreadsByDateManager trimThreadsByDateManager;
private static volatile ViewOnceMessageManager viewOnceMessageManager;
private static volatile ExpiringMessageManager expiringMessageManager;
private static volatile Payments payments;
private static volatile ShakeToReport shakeToReport;
private static volatile SignalCallManager signalCallManager;
@@ -341,9 +345,37 @@ public class ApplicationDependencies {
return trimThreadsByDateManager;
}
public static @NonNull ViewOnceMessageManager getViewOnceMessageManager() {
if (viewOnceMessageManager == null) {
synchronized (LOCK) {
if (viewOnceMessageManager == null) {
viewOnceMessageManager = provider.provideViewOnceMessageManager();
}
}
}
return viewOnceMessageManager;
}
public static @NonNull ExpiringMessageManager getExpiringMessageManager() {
if (expiringMessageManager == null) {
synchronized (LOCK) {
if (expiringMessageManager == null) {
expiringMessageManager = provider.provideExpiringMessageManager();
}
}
}
return expiringMessageManager;
}
public static TypingStatusRepository getTypingStatusRepository() {
if (typingStatusRepository == null) {
typingStatusRepository = provider.provideTypingStatusRepository();
synchronized (LOCK) {
if (typingStatusRepository == null) {
typingStatusRepository = provider.provideTypingStatusRepository();
}
}
}
return typingStatusRepository;
@@ -351,7 +383,11 @@ public class ApplicationDependencies {
public static TypingStatusSender getTypingStatusSender() {
if (typingStatusSender == null) {
typingStatusSender = provider.provideTypingStatusSender();
synchronized (LOCK) {
if (typingStatusSender == null) {
typingStatusSender = provider.provideTypingStatusSender();
}
}
}
return typingStatusSender;
@@ -427,6 +463,8 @@ public class ApplicationDependencies {
@NonNull MessageNotifier provideMessageNotifier();
@NonNull IncomingMessageObserver provideIncomingMessageObserver();
@NonNull TrimThreadsByDateManager provideTrimThreadsByDateManager();
@NonNull ViewOnceMessageManager provideViewOnceMessageManager();
@NonNull ExpiringMessageManager provideExpiringMessageManager();
@NonNull TypingStatusRepository provideTypingStatusRepository();
@NonNull TypingStatusSender provideTypingStatusSender();
@NonNull DatabaseObserver provideDatabaseObserver();

View File

@@ -42,6 +42,8 @@ import org.thoughtcrime.securesms.payments.Payments;
import org.thoughtcrime.securesms.push.SecurityEventListener;
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.TrimThreadsByDateManager;
import org.thoughtcrime.securesms.service.webrtc.SignalCallManager;
import org.thoughtcrime.securesms.shakereport.ShakeToReport;
@@ -196,6 +198,16 @@ public class ApplicationDependencyProvider implements ApplicationDependencies.Pr
return new TrimThreadsByDateManager(context);
}
@Override
public @NonNull ViewOnceMessageManager provideViewOnceMessageManager() {
return new ViewOnceMessageManager(context);
}
@Override
public @NonNull ExpiringMessageManager provideExpiringMessageManager() {
return new ExpiringMessageManager(context);
}
@Override
public @NonNull TypingStatusRepository provideTypingStatusRepository() {
return new TypingStatusRepository();