mirror of
https://code.briarproject.org/briar/briar.git
synced 2026-02-12 10:49:06 +01:00
Use application context for all background tasks.
This commit is contained in:
@@ -18,6 +18,7 @@ import org.briarproject.plugins.droidtooth.DroidtoothPluginFactory;
|
||||
import org.briarproject.plugins.tcp.LanTcpPluginFactory;
|
||||
import org.briarproject.plugins.tor.TorPluginFactory;
|
||||
|
||||
import android.app.Application;
|
||||
import android.content.Context;
|
||||
|
||||
import com.google.inject.AbstractModule;
|
||||
@@ -39,14 +40,14 @@ public class AndroidPluginsModule extends AbstractModule {
|
||||
@Provides
|
||||
DuplexPluginConfig getDuplexPluginConfig(
|
||||
@PluginExecutor Executor pluginExecutor,
|
||||
AndroidExecutor androidExecutor, Context appContext,
|
||||
AndroidExecutor androidExecutor, Application app,
|
||||
CryptoComponent crypto, LocationUtils locationUtils,
|
||||
ShutdownManager shutdownManager) {
|
||||
Context ctx = app.getApplicationContext();
|
||||
DuplexPluginFactory droidtooth = new DroidtoothPluginFactory(
|
||||
pluginExecutor, androidExecutor, appContext,
|
||||
crypto.getSecureRandom());
|
||||
pluginExecutor, androidExecutor, ctx, crypto.getSecureRandom());
|
||||
DuplexPluginFactory tor = new TorPluginFactory(pluginExecutor,
|
||||
appContext, locationUtils, shutdownManager);
|
||||
ctx, locationUtils, shutdownManager);
|
||||
DuplexPluginFactory lan = new LanTcpPluginFactory(pluginExecutor);
|
||||
final Collection<DuplexPluginFactory> factories =
|
||||
Arrays.asList(droidtooth, tor, lan);
|
||||
|
||||
@@ -11,6 +11,7 @@ import java.util.logging.Logger;
|
||||
import org.briarproject.api.system.LocationUtils;
|
||||
|
||||
import android.annotation.SuppressLint;
|
||||
import android.app.Application;
|
||||
import android.content.Context;
|
||||
import android.location.Address;
|
||||
import android.location.Geocoder;
|
||||
@@ -26,11 +27,11 @@ class AndroidLocationUtils implements LocationUtils {
|
||||
private static final Logger LOG =
|
||||
Logger.getLogger(AndroidLocationUtils.class.getName());
|
||||
|
||||
private final Context ctx;
|
||||
private final Context appContext;
|
||||
|
||||
@Inject
|
||||
public AndroidLocationUtils(Context ctx) {
|
||||
this.ctx = ctx;
|
||||
public AndroidLocationUtils(Application app) {
|
||||
appContext = app.getApplicationContext();
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -69,13 +70,13 @@ class AndroidLocationUtils implements LocationUtils {
|
||||
}
|
||||
|
||||
private String getCountryFromPhoneNetwork() {
|
||||
Object o = ctx.getSystemService(TELEPHONY_SERVICE);
|
||||
Object o = appContext.getSystemService(TELEPHONY_SERVICE);
|
||||
TelephonyManager tm = (TelephonyManager) o;
|
||||
return tm.getNetworkCountryIso();
|
||||
}
|
||||
|
||||
private String getCountryFromSimCard() {
|
||||
Object o = ctx.getSystemService(TELEPHONY_SERVICE);
|
||||
Object o = appContext.getSystemService(TELEPHONY_SERVICE);
|
||||
TelephonyManager tm = (TelephonyManager) o;
|
||||
return tm.getSimCountryIso();
|
||||
}
|
||||
@@ -86,7 +87,7 @@ class AndroidLocationUtils implements LocationUtils {
|
||||
private String getCountryFromLocation() {
|
||||
Location location = getLastKnownLocation();
|
||||
if(location == null) return null;
|
||||
Geocoder code = new Geocoder(ctx);
|
||||
Geocoder code = new Geocoder(appContext);
|
||||
try {
|
||||
double lat = location.getLatitude();
|
||||
double lon = location.getLongitude();
|
||||
@@ -106,7 +107,7 @@ class AndroidLocationUtils implements LocationUtils {
|
||||
* this</a>.
|
||||
*/
|
||||
private Location getLastKnownLocation() {
|
||||
Object o = ctx.getSystemService(LOCATION_SERVICE);
|
||||
Object o = appContext.getSystemService(LOCATION_SERVICE);
|
||||
LocationManager locationManager = (LocationManager) o;
|
||||
Location bestResult = null;
|
||||
long bestTime = Long.MIN_VALUE;
|
||||
|
||||
Reference in New Issue
Block a user