Skip to content
Snippets Groups Projects
Commit b5429f12 authored by akwizgran's avatar akwizgran
Browse files

Use application context for all background tasks.

parent b4c9f278
No related branches found
No related tags found
No related merge requests found
......@@ -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;
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment