Specify ConnectionSpecs for domain fronts

// FREEBIE
This commit is contained in:
Moxie Marlinspike
2017-01-11 15:37:51 -08:00
parent ec5ac44cd3
commit 94a29e375f
5 changed files with 153 additions and 24 deletions

View File

@@ -16,12 +16,15 @@
*/
package org.thoughtcrime.securesms;
import android.app.Application;
import android.content.Context;
import android.os.AsyncTask;
import android.os.StrictMode;
import android.os.StrictMode.ThreadPolicy;
import android.os.StrictMode.VmPolicy;
import android.support.multidex.MultiDexApplication;
import android.util.Log;
import com.google.android.gms.security.ProviderInstaller;
import org.thoughtcrime.securesms.crypto.PRNGFixes;
import org.thoughtcrime.securesms.dependencies.AxolotlStorageModule;
@@ -57,6 +60,8 @@ import dagger.ObjectGraph;
*/
public class ApplicationContext extends MultiDexApplication implements DependencyInjector {
private static final String TAG = ApplicationContext.class.getName();
private ExpiringMessageManager expiringMessageManager;
private JobManager jobManager;
private ObjectGraph objectGraph;
@@ -79,6 +84,7 @@ public class ApplicationContext extends MultiDexApplication implements Dependenc
initializeGcmCheck();
initializeSignedPreKeyCheck();
initializePeriodicTasks();
initializeCircumvention();
}
@Override
@@ -159,4 +165,20 @@ public class ApplicationContext extends MultiDexApplication implements Dependenc
DirectoryRefreshListener.schedule(this);
}
private void initializeCircumvention() {
new AsyncTask<Void, Void, Void>() {
@Override
protected Void doInBackground(Void... params) {
if (new SignalServiceNetworkAccess(ApplicationContext.this).isCensored(ApplicationContext.this)) {
try {
ProviderInstaller.installIfNeeded(ApplicationContext.this);
} catch (Throwable t) {
Log.w(TAG, t);
}
}
return null;
}
}.execute();
}
}