Move calling management out of service.

This commit is contained in:
Cody Henthorne
2021-03-31 14:30:30 -04:00
committed by Alex Hart
parent d8dead82b6
commit 1dc3cf7824
32 changed files with 1355 additions and 2226 deletions

View File

@@ -23,6 +23,7 @@ import org.thoughtcrime.securesms.notifications.MessageNotifier;
import org.thoughtcrime.securesms.push.SignalServiceNetworkAccess;
import org.thoughtcrime.securesms.recipients.LiveRecipientCache;
import org.thoughtcrime.securesms.service.TrimThreadsByDateManager;
import org.thoughtcrime.securesms.service.webrtc.SignalCallManager;
import org.thoughtcrime.securesms.shakereport.ShakeToReport;
import org.thoughtcrime.securesms.util.AppForegroundObserver;
import org.thoughtcrime.securesms.util.EarlyMessageCache;
@@ -74,6 +75,7 @@ public class ApplicationDependencies {
private static volatile DatabaseObserver databaseObserver;
private static volatile TrimThreadsByDateManager trimThreadsByDateManager;
private static volatile ShakeToReport shakeToReport;
private static volatile SignalCallManager signalCallManager;
@MainThread
public static void init(@NonNull Application application, @NonNull Provider provider) {
@@ -383,6 +385,18 @@ public class ApplicationDependencies {
return shakeToReport;
}
public static @NonNull SignalCallManager getSignalCallManager() {
if (signalCallManager == null) {
synchronized (LOCK) {
if (signalCallManager == null) {
signalCallManager = provider.provideSignalCallManager();
}
}
}
return signalCallManager;
}
public static @NonNull AppForegroundObserver getAppForegroundObserver() {
return appForegroundObserver;
}
@@ -410,5 +424,6 @@ public class ApplicationDependencies {
@NonNull DatabaseObserver provideDatabaseObserver();
@NonNull ShakeToReport provideShakeToReport();
@NonNull AppForegroundObserver provideAppForegroundObserver();
@NonNull SignalCallManager provideSignalCallManager();
}
}

View File

@@ -10,8 +10,8 @@ import org.signal.core.util.logging.Log;
import org.thoughtcrime.securesms.BuildConfig;
import org.thoughtcrime.securesms.components.TypingStatusRepository;
import org.thoughtcrime.securesms.components.TypingStatusSender;
import org.thoughtcrime.securesms.crypto.storage.SignalProtocolStoreImpl;
import org.thoughtcrime.securesms.crypto.DatabaseSessionLock;
import org.thoughtcrime.securesms.crypto.storage.SignalProtocolStoreImpl;
import org.thoughtcrime.securesms.database.DatabaseObserver;
import org.thoughtcrime.securesms.database.JobDatabase;
import org.thoughtcrime.securesms.jobmanager.JobManager;
@@ -41,6 +41,7 @@ import org.thoughtcrime.securesms.push.SecurityEventListener;
import org.thoughtcrime.securesms.push.SignalServiceNetworkAccess;
import org.thoughtcrime.securesms.recipients.LiveRecipientCache;
import org.thoughtcrime.securesms.service.TrimThreadsByDateManager;
import org.thoughtcrime.securesms.service.webrtc.SignalCallManager;
import org.thoughtcrime.securesms.shakereport.ShakeToReport;
import org.thoughtcrime.securesms.util.AlarmSleepTimer;
import org.thoughtcrime.securesms.util.AppForegroundObserver;
@@ -218,6 +219,11 @@ public class ApplicationDependencyProvider implements ApplicationDependencies.Pr
return new AppForegroundObserver();
}
@Override
public @NonNull SignalCallManager provideSignalCallManager() {
return new SignalCallManager(context);
}
private static class DynamicCredentialsProvider implements CredentialsProvider {
private final Context context;