Media download controls

Closes #3991
// FREEBIE
This commit is contained in:
Jake McGinty
2015-08-24 15:24:31 -07:00
committed by Moxie Marlinspike
parent 7e2c9f97e9
commit 80ce83ef9d
54 changed files with 606 additions and 204 deletions

View File

@@ -29,6 +29,7 @@ import org.thoughtcrime.securesms.dependencies.TextSecureCommunicationModule;
import org.thoughtcrime.securesms.jobs.GcmRefreshJob;
import org.thoughtcrime.securesms.jobs.persistence.EncryptingJobSerializer;
import org.thoughtcrime.securesms.jobs.requirements.MasterSecretRequirementProvider;
import org.thoughtcrime.securesms.jobs.requirements.MediaNetworkRequirementProvider;
import org.thoughtcrime.securesms.jobs.requirements.ServiceRequirementProvider;
import org.thoughtcrime.securesms.util.TextSecurePreferences;
import org.whispersystems.jobqueue.JobManager;
@@ -49,9 +50,11 @@ import dagger.ObjectGraph;
*/
public class ApplicationContext extends Application implements DependencyInjector {
private JobManager jobManager;
private JobManager jobManager;
private ObjectGraph objectGraph;
private MediaNetworkRequirementProvider mediaNetworkRequirementProvider = new MediaNetworkRequirementProvider();
public static ApplicationContext getInstance(Context context) {
return (ApplicationContext)context.getApplicationContext();
}
@@ -103,11 +106,16 @@ public class ApplicationContext extends Application implements DependencyInjecto
.withJobSerializer(new EncryptingJobSerializer())
.withRequirementProviders(new MasterSecretRequirementProvider(this),
new ServiceRequirementProvider(this),
new NetworkRequirementProvider(this))
new NetworkRequirementProvider(this),
mediaNetworkRequirementProvider)
.withConsumerThreads(5)
.build();
}
public void notifyMediaControlEvent() {
mediaNetworkRequirementProvider.notifyMediaControlEvent();
}
private void initializeDependencyInjection() {
this.objectGraph = ObjectGraph.create(new TextSecureCommunicationModule(this),
new AxolotlStorageModule(this));