diff options
Diffstat (limited to 'platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps')
3 files changed, 38 insertions, 31 deletions
diff --git a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/MapboxMap.java b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/MapboxMap.java index 6bf8342efb..f0461b6307 100644 --- a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/MapboxMap.java +++ b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/MapboxMap.java @@ -42,7 +42,7 @@ import com.mapbox.mapboxsdk.style.layers.Filter; import com.mapbox.mapboxsdk.style.layers.Layer; import com.mapbox.mapboxsdk.style.light.Light; import com.mapbox.mapboxsdk.style.sources.Source; -import com.mapbox.services.android.telemetry.location.LocationEngine; +import com.mapbox.services.android.core.location.LocationEngine; import com.mapbox.services.commons.geojson.Feature; import com.mapbox.services.commons.geojson.Geometry; diff --git a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/TrackingSettings.java b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/TrackingSettings.java index 6881ca067b..2f85c82587 100644 --- a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/TrackingSettings.java +++ b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/TrackingSettings.java @@ -12,8 +12,8 @@ import com.mapbox.mapboxsdk.constants.MapboxConstants; import com.mapbox.mapboxsdk.constants.MyBearingTracking; import com.mapbox.mapboxsdk.constants.MyLocationTracking; import com.mapbox.mapboxsdk.maps.widgets.MyLocationView; -import com.mapbox.services.android.telemetry.location.LocationEngine; -import com.mapbox.services.android.telemetry.location.LocationEngineListener; +import com.mapbox.services.android.core.location.LocationEngine; +import com.mapbox.services.android.core.location.LocationEngineListener; import com.mapbox.services.android.telemetry.permissions.PermissionsManager; import timber.log.Timber; @@ -52,7 +52,7 @@ public final class TrackingSettings { } void initialise(MapboxMapOptions options) { - locationSource = Mapbox.getLocationSource(); + locationSource = Mapbox.getLocationEngine(); setMyLocationEnabled(options.getLocationEnabled()); } @@ -392,7 +392,7 @@ public final class TrackingSettings { this.isCustomLocationSource = locationSource != null; if (locationSource == null) { - locationSource = Mapbox.getLocationSource(); + locationSource = Mapbox.getLocationEngine(); } this.locationSource = locationSource; myLocationView.setLocationSource(locationSource); diff --git a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/widgets/MyLocationView.java b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/widgets/MyLocationView.java index 8a393ebb1f..cc7602e056 100644 --- a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/widgets/MyLocationView.java +++ b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/widgets/MyLocationView.java @@ -36,9 +36,9 @@ import com.mapbox.mapboxsdk.geometry.LatLng; import com.mapbox.mapboxsdk.location.LocationSource; import com.mapbox.mapboxsdk.maps.MapboxMap; import com.mapbox.mapboxsdk.maps.Projection; -import com.mapbox.services.android.telemetry.location.LocationEngine; -import com.mapbox.services.android.telemetry.location.LocationEngineListener; -import com.mapbox.services.android.telemetry.location.LocationEnginePriority; +import com.mapbox.services.android.core.location.LocationEngine; +import com.mapbox.services.android.core.location.LocationEngineListener; +import com.mapbox.services.android.core.location.LocationEnginePriority; import java.lang.ref.WeakReference; @@ -70,7 +70,7 @@ public class MyLocationView extends View { private LatLng latLng; private Location location; - private LocationEngine locationSource; + private LocationEngine locationEngine; private long locationUpdateTimestamp; private float previousDirection; @@ -161,8 +161,9 @@ public class MyLocationView extends View { compassListener = new CompassListener(context); } + @Deprecated public void init(LocationSource locationSource) { - this.locationSource = locationSource; + this.locationEngine = locationSource; } /** @@ -448,8 +449,8 @@ public class MyLocationView extends View { } if (userLocationListener != null) { - locationSource.removeLocationEngineListener(userLocationListener); - locationSource = null; + locationEngine.removeLocationEngineListener(userLocationListener); + locationEngine = null; userLocationListener = null; } } @@ -485,12 +486,12 @@ public class MyLocationView extends View { * Set the enabled state, for internal use only. * * @param enabled The value to set the state to - * @param isCustomLocationSource Flag handling for handling user provided custom location source + * @param isCustomLocationEngine Flag handling for handling user provided custom location engine */ - public void setEnabled(boolean enabled, boolean isCustomLocationSource) { + public void setEnabled(boolean enabled, boolean isCustomLocationEngine) { super.setEnabled(enabled); setVisibility(enabled ? View.VISIBLE : View.INVISIBLE); - toggleGps(enabled, isCustomLocationSource); + toggleGps(enabled, isCustomLocationEngine); } /** @@ -530,32 +531,33 @@ public class MyLocationView extends View { * * @param enableGps true if GPS is to be enabled, false if GPS is to be disabled */ - private void toggleGps(boolean enableGps, boolean isCustomLocationSource) { + private void toggleGps(boolean enableGps, boolean isCustomLocationEngine) { if (enableGps) { - if (locationSource == null) { - if (!isCustomLocationSource) { - locationSource = Mapbox.getLocationSource(); + if (locationEngine == null) { + if (!isCustomLocationEngine) { + locationEngine = Mapbox.getLocationEngine(); } else { return; } } if (userLocationListener == null) { - userLocationListener = new GpsLocationListener(this, locationSource); + userLocationListener = new GpsLocationListener(this, locationEngine); } - locationSource.addLocationEngineListener(userLocationListener); - locationSource.setPriority(LocationEnginePriority.HIGH_ACCURACY); - locationSource.activate(); + locationEngine.addLocationEngineListener(userLocationListener); + locationEngine.setPriority(LocationEnginePriority.HIGH_ACCURACY); + locationEngine.activate(); } else { - if (locationSource == null) { + if (locationEngine == null) { return; } // Disable location and user dot location = null; - locationSource.removeLocationEngineListener(userLocationListener); - locationSource.removeLocationUpdates(); - locationSource.deactivate(); + locationEngine.removeLocationEngineListener(userLocationListener); + locationEngine.removeLocationUpdates(); + locationEngine.deactivate(); + restoreLocationEngine(); } } @@ -740,13 +742,13 @@ public class MyLocationView extends View { /** * Set the location source from which location updates are received, for internal use only. * - * @param locationSource The location source to receive updates from + * @param locationEngine The location engine to receive updates from */ - public void setLocationSource(LocationEngine locationSource) { + public void setLocationSource(LocationEngine locationEngine) { toggleGps(false); - this.locationSource = locationSource; + this.locationEngine = locationEngine; this.userLocationListener = null; - setEnabled(isEnabled(), locationSource != null); + setEnabled(isEnabled(), locationEngine != null); } private void applyDrawableTint(Drawable drawable, @ColorInt int color) { @@ -769,6 +771,11 @@ public class MyLocationView extends View { } } + private void restoreLocationEngine() { + locationEngine.setPriority(LocationEnginePriority.LOW_POWER); + locationEngine.activate(); + } + private static class GpsLocationListener implements LocationEngineListener { private WeakReference<MyLocationView> userLocationView; |