Move from dagger to a service locator pattern.

This commit is contained in:
Greyson Parrelli
2019-07-15 11:12:26 -04:00
parent 8d6f1341f1
commit 475c54213d
58 changed files with 405 additions and 685 deletions

View File

@@ -36,11 +36,9 @@ import org.signal.aesgcmprovider.AesGcmProvider;
import org.thoughtcrime.securesms.components.TypingStatusRepository;
import org.thoughtcrime.securesms.components.TypingStatusSender;
import org.thoughtcrime.securesms.database.DatabaseFactory;
import org.thoughtcrime.securesms.dependencies.AxolotlStorageModule;
import org.thoughtcrime.securesms.dependencies.InjectableType;
import org.thoughtcrime.securesms.dependencies.SignalCommunicationModule;
import org.thoughtcrime.securesms.dependencies.ApplicationDependencies;
import org.thoughtcrime.securesms.dependencies.ApplicationDependencyProvider;
import org.thoughtcrime.securesms.gcm.FcmJobService;
import org.thoughtcrime.securesms.jobmanager.DependencyInjector;
import org.thoughtcrime.securesms.jobmanager.JobManager;
import org.thoughtcrime.securesms.jobmanager.impl.JsonDataSerializer;
import org.thoughtcrime.securesms.jobs.CreateSignedPreKeyJob;
@@ -80,8 +78,6 @@ import java.util.HashSet;
import java.util.Set;
import java.util.concurrent.TimeUnit;
import dagger.ObjectGraph;
/**
* Will be called once when the TextSecure process is created.
*
@@ -90,7 +86,7 @@ import dagger.ObjectGraph;
*
* @author Moxie Marlinspike
*/
public class ApplicationContext extends MultiDexApplication implements DependencyInjector, DefaultLifecycleObserver {
public class ApplicationContext extends MultiDexApplication implements DefaultLifecycleObserver {
private static final String TAG = ApplicationContext.class.getSimpleName();
@@ -99,7 +95,6 @@ public class ApplicationContext extends MultiDexApplication implements Dependenc
private TypingStatusSender typingStatusSender;
private JobManager jobManager;
private IncomingMessageObserver incomingMessageObserver;
private ObjectGraph objectGraph;
private PersistentLogger persistentLogger;
private volatile boolean isAppVisible;
@@ -115,7 +110,7 @@ public class ApplicationContext extends MultiDexApplication implements Dependenc
initializeSecurityProvider();
initializeLogging();
initializeCrashHandling();
initializeDependencyInjection();
initializeAppDependencies();
initializeJobManager();
initializeMessageRetrieval();
initializeExpiringMessageManager();
@@ -151,13 +146,6 @@ public class ApplicationContext extends MultiDexApplication implements Dependenc
MessageNotifier.setVisibleThread(-1);
}
@Override
public void injectDependencies(Object object) {
if (object instanceof InjectableType) {
objectGraph.inject(object);
}
}
public JobManager getJobManager() {
return jobManager;
}
@@ -225,7 +213,6 @@ public class ApplicationContext extends MultiDexApplication implements Dependenc
.setConstraintFactories(JobManagerFactories.getConstraintFactories(this))
.setConstraintObservers(JobManagerFactories.getConstraintObservers(this))
.setJobStorage(new FastJobStorage(DatabaseFactory.getJobDatabase(this)))
.setDependencyInjector(this)
.build());
}
@@ -233,9 +220,8 @@ public class ApplicationContext extends MultiDexApplication implements Dependenc
this.incomingMessageObserver = new IncomingMessageObserver(this);
}
private void initializeDependencyInjection() {
this.objectGraph = ObjectGraph.create(new SignalCommunicationModule(this, new SignalServiceNetworkAccess(this)),
new AxolotlStorageModule(this));
private void initializeAppDependencies() {
ApplicationDependencies.init(new ApplicationDependencyProvider(this, new SignalServiceNetworkAccess(this)));
}
private void initializeGcmCheck() {