diff --git a/platform/android/MapboxGLAndroidSDK/build.gradle b/platform/android/MapboxGLAndroidSDK/build.gradle index 5e19e94f5de..018294d4625 100644 --- a/platform/android/MapboxGLAndroidSDK/build.gradle +++ b/platform/android/MapboxGLAndroidSDK/build.gradle @@ -6,7 +6,9 @@ dependencies { compile rootProject.ext.dep.supportDesign compile rootProject.ext.dep.timber compile rootProject.ext.dep.okhttp3 - compile rootProject.ext.dep.lost + compile(rootProject.ext.dep.lost) { + exclude group: 'com.google.guava' + } // Mapbox Android Services (GeoJSON support) compile(rootProject.ext.dep.mapboxJavaGeoJSON) { diff --git a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/location/LocationSource.java b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/location/LocationSource.java index 12e33004296..6652142be3e 100644 --- a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/location/LocationSource.java +++ b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/location/LocationSource.java @@ -28,7 +28,7 @@ * in the history stack. *

*/ -public class LocationSource extends LocationEngine implements LostApiClient.ConnectionCallbacks, LocationListener { +public class LocationSource extends LocationEngine implements LocationListener { private Context context; private LostApiClient lostApiClient; @@ -41,9 +41,7 @@ public class LocationSource extends LocationEngine implements LostApiClient.Conn public LocationSource(Context context) { super(); this.context = context.getApplicationContext(); - lostApiClient = new LostApiClient.Builder(this.context) - .addConnectionCallbacks(this) - .build(); + lostApiClient = new LostApiClient.Builder(this.context).build(); } /** @@ -55,6 +53,9 @@ public void activate() { if (!lostApiClient.isConnected()) { lostApiClient.connect(); } + for (LocationEngineListener listener : locationListeners) { + listener.onConnected(); + } } /** @@ -80,23 +81,6 @@ public boolean isConnected() { return lostApiClient.isConnected(); } - /** - * Invoked when the location provider has connected. - */ - @Override - public void onConnected() { - for (LocationEngineListener listener : locationListeners) { - listener.onConnected(); - } - } - - /** - * Invoked when the location provider connection has been suspended. - */ - @Override - public void onConnectionSuspended() { - } - /** * Returns the Last known location is the location provider is connected and location permissions are granted. * @@ -107,9 +91,8 @@ public void onConnectionSuspended() { public Location getLastLocation() { if (lostApiClient.isConnected() && PermissionsManager.areLocationPermissionsGranted(context)) { //noinspection MissingPermission - return LocationServices.FusedLocationApi.getLastLocation(lostApiClient); + return LocationServices.FusedLocationApi.getLastLocation(); } - return null; } @@ -137,7 +120,7 @@ public void requestLocationUpdates() { if (lostApiClient.isConnected() && PermissionsManager.areLocationPermissionsGranted(context)) { //noinspection MissingPermission - LocationServices.FusedLocationApi.requestLocationUpdates(lostApiClient, request, this); + LocationServices.FusedLocationApi.requestLocationUpdates(request, this); } } @@ -147,7 +130,7 @@ public void requestLocationUpdates() { @Override public void removeLocationUpdates() { if (lostApiClient.isConnected()) { - LocationServices.FusedLocationApi.removeLocationUpdates(lostApiClient, this); + LocationServices.FusedLocationApi.removeLocationUpdates(this); } } diff --git a/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/userlocation/MyLocationDrawableActivity.java b/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/userlocation/MyLocationDrawableActivity.java index 86574341277..69e6d643253 100644 --- a/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/userlocation/MyLocationDrawableActivity.java +++ b/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/userlocation/MyLocationDrawableActivity.java @@ -16,7 +16,6 @@ import com.mapbox.mapboxsdk.maps.MapboxMapOptions; import com.mapbox.mapboxsdk.maps.OnMapReadyCallback; import com.mapbox.mapboxsdk.testapp.R; - import com.mapzen.android.lost.api.LocationListener; import com.mapzen.android.lost.api.LocationRequest; import com.mapzen.android.lost.api.LocationServices; @@ -25,8 +24,7 @@ /** * Test activity showcasing how to change the MyLocationView drawable. */ -public class MyLocationDrawableActivity extends BaseLocationActivity implements LostApiClient.ConnectionCallbacks, - LocationListener { +public class MyLocationDrawableActivity extends BaseLocationActivity implements LocationListener { private MapView mapView; private MapboxMap mapboxMap; @@ -69,29 +67,21 @@ public void onMapReady(MapboxMap map) { protected void enableLocation(boolean enabled) { mapboxMap.setMyLocationEnabled(enabled); if (lostApiClient == null) { - lostApiClient = new LostApiClient.Builder(this).addConnectionCallbacks(this).build(); + lostApiClient = new LostApiClient.Builder(this).build(); lostApiClient.connect(); + LocationRequest request = LocationRequest.create() + .setPriority(LocationRequest.PRIORITY_HIGH_ACCURACY) + .setInterval(5000) + .setSmallestDisplacement(10); + LocationServices.FusedLocationApi.requestLocationUpdates(request, this); } } - @Override - public void onConnected() { - LocationRequest request = LocationRequest.create() - .setPriority(LocationRequest.PRIORITY_HIGH_ACCURACY) - .setInterval(5000) - .setSmallestDisplacement(10); - LocationServices.FusedLocationApi.requestLocationUpdates(lostApiClient, request, this); - } - @Override public void onLocationChanged(Location location) { mapboxMap.moveCamera(CameraUpdateFactory.newLatLngZoom(new LatLng(location), 14)); } - @Override - public void onConnectionSuspended() { - } - @Override protected void onStart() { super.onStart(); @@ -115,10 +105,9 @@ protected void onStop() { super.onStop(); mapView.onStop(); if (lostApiClient.isConnected()) { - LocationServices.FusedLocationApi.removeLocationUpdates(lostApiClient, this); + LocationServices.FusedLocationApi.removeLocationUpdates(this); lostApiClient.disconnect(); } - lostApiClient.unregisterConnectionCallbacks(this); } @Override diff --git a/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/userlocation/MyLocationTrackingModeActivity.java b/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/userlocation/MyLocationTrackingModeActivity.java index c4d29bebec0..786aeb8733f 100644 --- a/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/userlocation/MyLocationTrackingModeActivity.java +++ b/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/userlocation/MyLocationTrackingModeActivity.java @@ -38,8 +38,8 @@ * using gesture configurations. *

*/ -public class MyLocationTrackingModeActivity extends AppCompatActivity implements - AdapterView.OnItemSelectedListener, OnMapReadyCallback, LostApiClient.ConnectionCallbacks, LocationListener { +public class MyLocationTrackingModeActivity extends AppCompatActivity implements AdapterView.OnItemSelectedListener, + OnMapReadyCallback, LocationListener { // Testing for user defined LostApiClient private LostApiClient lostApiClient; @@ -75,27 +75,18 @@ protected void onCreate(final Bundle savedInstanceState) { @Override public void onMapReady(MapboxMap mapboxMap) { MyLocationTrackingModeActivity.this.mapboxMap = mapboxMap; - lostApiClient = new LostApiClient.Builder(this).addConnectionCallbacks(this).build(); + lostApiClient = new LostApiClient.Builder(this).build(); lostApiClient.connect(); - } - - @Override - public void onConnected() { LocationRequest request = LocationRequest.create() .setPriority(LocationRequest.PRIORITY_LOW_POWER) .setInterval(5000) .setSmallestDisplacement(10); - Location location = LocationServices.FusedLocationApi.getLastLocation(lostApiClient); + Location location = LocationServices.FusedLocationApi.getLastLocation(); if (location != null) { setInitialLocation(location, 15); } - LocationServices.FusedLocationApi.requestLocationUpdates(lostApiClient, request, this); - } - - @Override - public void onConnectionSuspended() { - + LocationServices.FusedLocationApi.requestLocationUpdates(request, this); } @Override @@ -237,8 +228,7 @@ protected void onPause() { protected void onStop() { super.onStop(); if (lostApiClient.isConnected()) { - LocationServices.FusedLocationApi.removeLocationUpdates(lostApiClient, this); - lostApiClient.unregisterConnectionCallbacks(this); + LocationServices.FusedLocationApi.removeLocationUpdates(this); lostApiClient.disconnect(); } mapView.onStop(); diff --git a/platform/android/dependencies.gradle b/platform/android/dependencies.gradle index 2172d6a5366..058992cc851 100644 --- a/platform/android/dependencies.gradle +++ b/platform/android/dependencies.gradle @@ -21,8 +21,8 @@ ext { mapboxAndroidTelemetry : "com.mapbox.mapboxsdk:mapbox-android-telemetry:${mapboxServicesVersion}@aar", // mapzen lost - lost : 'com.mapzen.android:lost:3.0.1', - + lost : 'com.mapzen.android:lost:1.1.1', + // unit test junit : 'junit:junit:4.12', mockito : 'org.mockito:mockito-core:2.2.27',