diff --git a/briar-android/src/org/briarproject/plugins/AndroidPluginsModule.java b/briar-android/src/org/briarproject/plugins/AndroidPluginsModule.java index 1aeac072da1b731226eda111eadd0f70bf8b71c5..9a3b9ce3c208be9b40fe80ab271ef0648acab838 100644 --- a/briar-android/src/org/briarproject/plugins/AndroidPluginsModule.java +++ b/briar-android/src/org/briarproject/plugins/AndroidPluginsModule.java @@ -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); diff --git a/briar-android/src/org/briarproject/system/AndroidLocationUtils.java b/briar-android/src/org/briarproject/system/AndroidLocationUtils.java index 0eb2882cac7cf8165fd7a2d690ea73333fc5d07e..fbcbfc312404996831c8a76b263b0bb232459bed 100644 --- a/briar-android/src/org/briarproject/system/AndroidLocationUtils.java +++ b/briar-android/src/org/briarproject/system/AndroidLocationUtils.java @@ -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;