[android] Extract telemetry into MAS
* [android] add the mapbox-android-telemetry module dependency. * update javadoc
This commit is contained in:
@@ -16,7 +16,7 @@ import com.mapbox.mapboxsdk.camera.CameraUpdateFactory;
|
||||
import com.mapbox.mapboxsdk.constants.MyBearingTracking;
|
||||
import com.mapbox.mapboxsdk.constants.MyLocationTracking;
|
||||
import com.mapbox.mapboxsdk.geometry.LatLng;
|
||||
import com.mapbox.mapboxsdk.location.LocationServices;
|
||||
import com.mapbox.mapboxsdk.location.LocationSource;
|
||||
import com.mapbox.mapboxsdk.maps.MapboxMap;
|
||||
import com.mapbox.mapboxsdk.maps.widgets.MyLocationView;
|
||||
import com.mapbox.mapboxsdk.testapp.R;
|
||||
@@ -123,7 +123,7 @@ public class MyLocationViewTest {
|
||||
mapboxMap.moveCamera(
|
||||
CameraUpdateFactory.newCameraPosition(
|
||||
new CameraPosition.Builder()
|
||||
.target(new LatLng(LocationServices.getLocationServices(view.getContext()).getLastLocation()))
|
||||
.target(new LatLng(LocationSource.getLocationEngine(view.getContext()).getLastLocation()))
|
||||
.build()
|
||||
)
|
||||
);
|
||||
|
||||
@@ -596,7 +596,7 @@
|
||||
<!-- android:name="com.mapbox.SetStorageExternal" -->
|
||||
<!-- android:value="true" /> -->
|
||||
|
||||
<service android:name="com.mapbox.mapboxsdk.telemetry.TelemetryService"/>
|
||||
<service android:name="com.mapbox.services.android.telemetry.service.TelemetryService"/>
|
||||
</application>
|
||||
|
||||
</manifest>
|
||||
|
||||
@@ -16,15 +16,15 @@ import android.view.ViewGroup;
|
||||
import com.mapbox.mapboxsdk.camera.CameraUpdateFactory;
|
||||
import com.mapbox.mapboxsdk.constants.Style;
|
||||
import com.mapbox.mapboxsdk.geometry.LatLng;
|
||||
import com.mapbox.mapboxsdk.location.LocationListener;
|
||||
import com.mapbox.mapboxsdk.location.LocationServices;
|
||||
import com.mapbox.mapboxsdk.location.LocationSource;
|
||||
import com.mapbox.mapboxsdk.maps.MapView;
|
||||
import com.mapbox.mapboxsdk.maps.MapboxMap;
|
||||
import com.mapbox.mapboxsdk.maps.MapboxMapOptions;
|
||||
import com.mapbox.mapboxsdk.maps.OnMapReadyCallback;
|
||||
import com.mapbox.mapboxsdk.testapp.R;
|
||||
import com.mapbox.services.android.telemetry.location.LocationEngineListener;
|
||||
|
||||
public class MyLocationDrawableActivity extends AppCompatActivity implements LocationListener {
|
||||
public class MyLocationDrawableActivity extends AppCompatActivity implements LocationEngineListener {
|
||||
|
||||
private static final int PERMISSIONS_LOCATION = 0;
|
||||
|
||||
@@ -92,7 +92,7 @@ public class MyLocationDrawableActivity extends AppCompatActivity implements Loc
|
||||
if (location != null) {
|
||||
onLocationChanged(location);
|
||||
} else {
|
||||
LocationServices.getLocationServices(this).addLocationListener(this);
|
||||
LocationSource.getLocationEngine(this).addLocationEngineListener(this);
|
||||
}
|
||||
} else {
|
||||
mapboxMap.setMyLocationEnabled(false);
|
||||
@@ -108,6 +108,11 @@ public class MyLocationDrawableActivity extends AppCompatActivity implements Loc
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onConnected() {
|
||||
// Nothing
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onLocationChanged(Location location) {
|
||||
if (mapboxMap != null) {
|
||||
|
||||
@@ -18,16 +18,16 @@ import android.view.View;
|
||||
import com.mapbox.mapboxsdk.camera.CameraUpdateFactory;
|
||||
import com.mapbox.mapboxsdk.constants.MyLocationTracking;
|
||||
import com.mapbox.mapboxsdk.geometry.LatLng;
|
||||
import com.mapbox.mapboxsdk.location.LocationListener;
|
||||
import com.mapbox.mapboxsdk.location.LocationServices;
|
||||
import com.mapbox.mapboxsdk.location.LocationSource;
|
||||
import com.mapbox.mapboxsdk.maps.MapView;
|
||||
import com.mapbox.mapboxsdk.maps.MapboxMap;
|
||||
import com.mapbox.mapboxsdk.maps.OnMapReadyCallback;
|
||||
import com.mapbox.mapboxsdk.maps.TrackingSettings;
|
||||
import com.mapbox.mapboxsdk.maps.widgets.MyLocationViewSettings;
|
||||
import com.mapbox.mapboxsdk.testapp.R;
|
||||
import com.mapbox.services.android.telemetry.location.LocationEngineListener;
|
||||
|
||||
public class MyLocationTintActivity extends AppCompatActivity implements LocationListener {
|
||||
public class MyLocationTintActivity extends AppCompatActivity implements LocationEngineListener {
|
||||
|
||||
private MapView mapView;
|
||||
private MapboxMap mapboxMap;
|
||||
@@ -120,6 +120,11 @@ public class MyLocationTintActivity extends AppCompatActivity implements Locatio
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onConnected() {
|
||||
// Nothing
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onLocationChanged(Location location) {
|
||||
if (mapboxMap != null && firstRun) {
|
||||
@@ -132,7 +137,7 @@ public class MyLocationTintActivity extends AppCompatActivity implements Locatio
|
||||
protected void onStart() {
|
||||
super.onStart();
|
||||
mapView.onStart();
|
||||
LocationServices.getLocationServices(this).addLocationListener(this);
|
||||
LocationSource.getLocationEngine(this).addLocationEngineListener(this);
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -150,7 +155,7 @@ public class MyLocationTintActivity extends AppCompatActivity implements Locatio
|
||||
@Override
|
||||
protected void onStop() {
|
||||
super.onStop();
|
||||
LocationServices.getLocationServices(this).removeLocationListener(this);
|
||||
LocationSource.getLocationEngine(this).removeLocationEngineListener(this);
|
||||
mapView.onStop();
|
||||
}
|
||||
|
||||
|
||||
@@ -13,12 +13,14 @@ import android.view.View;
|
||||
|
||||
import com.mapbox.mapboxsdk.camera.CameraUpdateFactory;
|
||||
import com.mapbox.mapboxsdk.geometry.LatLng;
|
||||
import com.mapbox.mapboxsdk.location.LocationListener;
|
||||
import com.mapbox.mapboxsdk.location.LocationServices;
|
||||
import com.mapbox.mapboxsdk.location.LocationSource;
|
||||
import com.mapbox.mapboxsdk.maps.MapView;
|
||||
import com.mapbox.mapboxsdk.maps.MapboxMap;
|
||||
import com.mapbox.mapboxsdk.maps.OnMapReadyCallback;
|
||||
import com.mapbox.mapboxsdk.testapp.R;
|
||||
import com.mapbox.services.android.telemetry.location.LocationEngine;
|
||||
import com.mapbox.services.android.telemetry.location.LocationEngineListener;
|
||||
import com.mapbox.services.android.telemetry.permissions.PermissionsManager;
|
||||
|
||||
public class MyLocationToggleActivity extends AppCompatActivity {
|
||||
|
||||
@@ -26,8 +28,8 @@ public class MyLocationToggleActivity extends AppCompatActivity {
|
||||
private MapboxMap mapboxMap;
|
||||
private FloatingActionButton locationToggleFab;
|
||||
|
||||
private LocationServices locationServices;
|
||||
private LocationListener locationListener;
|
||||
private LocationEngine locationServices;
|
||||
private LocationEngineListener locationListener;
|
||||
|
||||
private static final int PERMISSIONS_LOCATION = 0;
|
||||
|
||||
@@ -36,7 +38,7 @@ public class MyLocationToggleActivity extends AppCompatActivity {
|
||||
super.onCreate(savedInstanceState);
|
||||
setContentView(R.layout.activity_my_location_toggle);
|
||||
|
||||
locationServices = LocationServices.getLocationServices(MyLocationToggleActivity.this);
|
||||
locationServices = LocationSource.getLocationEngine(this);
|
||||
|
||||
mapView = (MapView) findViewById(R.id.mapView);
|
||||
mapView.onCreate(savedInstanceState);
|
||||
@@ -95,7 +97,7 @@ public class MyLocationToggleActivity extends AppCompatActivity {
|
||||
// Ensure no memory leak occurs if we register the location listener but the call hasn't
|
||||
// been made yet.
|
||||
if (locationListener != null) {
|
||||
locationServices.removeLocationListener(locationListener);
|
||||
locationServices.removeLocationEngineListener(locationListener);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -108,7 +110,7 @@ public class MyLocationToggleActivity extends AppCompatActivity {
|
||||
@UiThread
|
||||
public void toggleGps(boolean enableGps) {
|
||||
if (enableGps) {
|
||||
if (!LocationServices.getLocationServices(MyLocationToggleActivity.this).areLocationPermissionsGranted()) {
|
||||
if (!PermissionsManager.areLocationPermissionsGranted(this)) {
|
||||
ActivityCompat.requestPermissions(this, new String[] {Manifest.permission.ACCESS_COARSE_LOCATION,
|
||||
Manifest.permission.ACCESS_FINE_LOCATION}, PERMISSIONS_LOCATION);
|
||||
} else {
|
||||
@@ -123,7 +125,7 @@ public class MyLocationToggleActivity extends AppCompatActivity {
|
||||
if (enabled) {
|
||||
// To move the camera instantly, we attempt to get the last known location and either
|
||||
// ease or animate the camera to that position depending on the zoom level.
|
||||
Location lastLocation = LocationServices.getLocationServices(this).getLastLocation();
|
||||
Location lastLocation = LocationSource.getLocationEngine(this).getLastLocation();
|
||||
|
||||
if (lastLocation != null) {
|
||||
if (mapboxMap.getCameraPosition().zoom > 15.99) {
|
||||
@@ -132,16 +134,21 @@ public class MyLocationToggleActivity extends AppCompatActivity {
|
||||
mapboxMap.animateCamera(CameraUpdateFactory.newLatLngZoom(new LatLng(lastLocation), 16), 1000);
|
||||
}
|
||||
} else {
|
||||
locationListener = new LocationListener() {
|
||||
locationListener = new LocationEngineListener() {
|
||||
@Override
|
||||
public void onConnected() {
|
||||
// Nothing
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onLocationChanged(Location location) {
|
||||
if (location != null) {
|
||||
mapboxMap.moveCamera(CameraUpdateFactory.newLatLngZoom(new LatLng(location), 16));
|
||||
locationServices.removeLocationListener(this);
|
||||
locationServices.removeLocationEngineListener(this);
|
||||
}
|
||||
}
|
||||
};
|
||||
locationServices.addLocationListener(locationListener);
|
||||
locationServices.addLocationEngineListener(locationListener);
|
||||
}
|
||||
locationToggleFab.setImageResource(R.drawable.ic_location_disabled_24dp);
|
||||
} else {
|
||||
|
||||
@@ -1,19 +0,0 @@
|
||||
package com.mapbox.mapboxsdk.telemetry;
|
||||
|
||||
import org.junit.Test;
|
||||
|
||||
import static junit.framework.Assert.assertEquals;
|
||||
|
||||
public class ExponentialBackOffTest {
|
||||
|
||||
@Test
|
||||
public void testExponentialBackOff() {
|
||||
MapboxEventManager.ExponentialBackoffCounter counter = new MapboxEventManager.ExponentialBackoffCounter();
|
||||
assertEquals(30000, counter.getNextCount());
|
||||
assertEquals(60000, counter.getNextCount());
|
||||
assertEquals(90000, counter.getNextCount());
|
||||
assertEquals(120000, counter.getNextCount());
|
||||
assertEquals(150000, counter.getNextCount());
|
||||
assertEquals(180000, counter.getNextCount());
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user