Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 8 additions & 0 deletions app/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,11 @@ android {
compileSdkVersion androidVersions.compileSdkVersion
buildToolsVersion androidVersions.buildToolsVersion

compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}

defaultConfig {
applicationId "com.mapbox.services.android.navigation.testapp"
minSdkVersion androidVersions.minSdkVersion
Expand Down Expand Up @@ -49,6 +54,9 @@ dependencies {
implementation dependenciesList.supportRecyclerView
implementation dependenciesList.supportConstraintLayout
implementation dependenciesList.supportCardView
implementation dependenciesList.lifecycleExtensions

implementation dependenciesList.gmsLocation

// Logging
implementation dependenciesList.timber
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
package com.mapbox.services.android.navigation.testapp;

import android.Manifest;
import android.content.Intent;
import android.os.Bundle;
import android.support.annotation.NonNull;
Expand All @@ -13,25 +12,21 @@
import android.widget.TextView;
import android.widget.Toast;

import com.mapbox.android.core.permissions.PermissionsListener;
import com.mapbox.android.core.permissions.PermissionsManager;
import com.mapbox.services.android.navigation.testapp.activity.MockNavigationActivity;
import com.mapbox.services.android.navigation.testapp.activity.RerouteActivity;
import com.mapbox.services.android.navigation.testapp.activity.navigationui.EmbeddedNavigationActivity;
import com.mapbox.services.android.navigation.testapp.activity.navigationui.NavigationMapRouteActivity;
import com.mapbox.services.android.navigation.testapp.activity.navigationui.NavigationViewActivity;
import com.mapbox.services.android.navigation.testapp.activity.navigationui.WaypointNavigationActivity;
import com.mapbox.services.android.navigation.testapp.activity.navigationui.fragment.FragmentNavigationActivity;
import com.mapbox.services.android.telemetry.permissions.PermissionsListener;
import com.mapbox.services.android.telemetry.permissions.PermissionsManager;

import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;

public class MainActivity extends AppCompatActivity implements PermissionsListener {

private static final String[] PERMISSIONS = {Manifest.permission.ACCESS_FINE_LOCATION,
Manifest.permission.ACCESS_COARSE_LOCATION, Manifest.permission.ACCESS_NETWORK_STATE};

private RecyclerView recyclerView;
private PermissionsManager permissionsManager;

Expand Down Expand Up @@ -94,7 +89,7 @@ protected void onCreate(Bundle savedInstanceState) {
permissionsManager = new PermissionsManager(this);
if (!PermissionsManager.areLocationPermissionsGranted(this)) {
recyclerView.setEnabled(false);
permissionsManager.requestPermissions(this, PERMISSIONS);
permissionsManager.requestLocationPermissions(this);
}
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,19 +11,19 @@
import android.widget.Button;
import android.widget.Toast;

import com.mapbox.android.core.location.LocationEngine;
import com.mapbox.api.directions.v5.models.DirectionsResponse;
import com.mapbox.api.directions.v5.models.DirectionsRoute;
import com.mapbox.geojson.Point;
import com.mapbox.mapboxsdk.Mapbox;
import com.mapbox.mapboxsdk.annotations.MarkerOptions;
import com.mapbox.mapboxsdk.camera.CameraUpdateFactory;
import com.mapbox.mapboxsdk.constants.MyLocationTracking;
import com.mapbox.mapboxsdk.geometry.LatLng;
import com.mapbox.mapboxsdk.maps.MapView;
import com.mapbox.mapboxsdk.maps.MapboxMap;
import com.mapbox.mapboxsdk.maps.OnMapReadyCallback;
import com.mapbox.mapboxsdk.plugins.locationlayer.LocationLayerMode;
import com.mapbox.mapboxsdk.plugins.locationlayer.LocationLayerPlugin;
import com.mapbox.mapboxsdk.plugins.locationlayer.modes.RenderMode;
import com.mapbox.services.android.navigation.testapp.R;
import com.mapbox.services.android.navigation.testapp.Utils;
import com.mapbox.services.android.navigation.testapp.activity.notification.CustomNavigationNotification;
Expand All @@ -42,7 +42,6 @@
import com.mapbox.services.android.navigation.v5.offroute.OffRouteListener;
import com.mapbox.services.android.navigation.v5.routeprogress.ProgressChangeListener;
import com.mapbox.services.android.navigation.v5.routeprogress.RouteProgress;
import com.mapbox.services.android.telemetry.location.LocationEngine;
import com.mapbox.turf.TurfConstants;
import com.mapbox.turf.TurfMeasurement;

Expand Down Expand Up @@ -126,7 +125,7 @@ public void onStartRouteClick() {
((MockLocationEngine) locationEngine).setRoute(route);
navigation.setLocationEngine(locationEngine);
navigation.startNavigation(route);
mapboxMap.addOnMapClickListener(null);
mapboxMap.removeOnMapClickListener(this);
}
}

Expand All @@ -142,8 +141,6 @@ private void newOrigin() {
Point.fromLngLat(latLng.getLongitude(), latLng.getLatitude())
);
mapboxMap.moveCamera(CameraUpdateFactory.newLatLngZoom(latLng, 12));
mapboxMap.setMyLocationEnabled(true);
mapboxMap.getTrackingSettings().setMyLocationTrackingMode(MyLocationTracking.TRACKING_FOLLOW);
}
}

Expand All @@ -152,15 +149,13 @@ public void onMapReady(MapboxMap mapboxMap) {
this.mapboxMap = mapboxMap;

locationLayerPlugin = new LocationLayerPlugin(mapView, mapboxMap, null);
locationLayerPlugin.setLocationLayerEnabled(LocationLayerMode.NAVIGATION);

locationLayerPlugin.setRenderMode(RenderMode.GPS);
navigationMapRoute = new NavigationMapRoute(navigation, mapView, mapboxMap);

mapboxMap.addOnMapClickListener(this);
Snackbar.make(mapView, "Tap map to place waypoint", BaseTransientBottomBar.LENGTH_LONG).show();

locationEngine = new MockLocationEngine(1000, 50, true);
mapboxMap.setLocationSource(locationEngine);

newOrigin();
}
Expand All @@ -181,7 +176,7 @@ public void onMapClick(@NonNull LatLng point) {
}

private void calculateRoute() {
Location userLocation = mapboxMap.getMyLocation();
Location userLocation = locationEngine.getLastLocation();
if (userLocation == null) {
Timber.d("calculateRoute: User location is null, therefore, origin can't be set.");
return;
Expand Down Expand Up @@ -216,7 +211,7 @@ public void onResponse(Call<DirectionsResponse> call, Response<DirectionsRespons

@Override
public void onFailure(Call<DirectionsResponse> call, Throwable throwable) {
Timber.e("onFailure: navigation.getRoute()", throwable);
Timber.e(throwable, "onFailure: navigation.getRoute()");
}
});
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,8 +9,10 @@
import android.support.v7.app.AppCompatActivity;
import android.view.View;

import com.mapbox.android.core.location.LocationEngineListener;
import com.mapbox.api.directions.v5.models.DirectionsResponse;
import com.mapbox.api.directions.v5.models.DirectionsRoute;
import com.mapbox.core.constants.Constants;
import com.mapbox.geojson.LineString;
import com.mapbox.geojson.Point;
import com.mapbox.mapboxsdk.Mapbox;
Expand All @@ -23,9 +25,8 @@
import com.mapbox.mapboxsdk.maps.MapView;
import com.mapbox.mapboxsdk.maps.MapboxMap;
import com.mapbox.mapboxsdk.maps.OnMapReadyCallback;
import com.mapbox.mapboxsdk.plugins.locationlayer.LocationLayerMode;
import com.mapbox.mapboxsdk.plugins.locationlayer.LocationLayerPlugin;
import com.mapbox.services.Constants;
import com.mapbox.mapboxsdk.plugins.locationlayer.modes.RenderMode;
import com.mapbox.services.android.navigation.testapp.R;
import com.mapbox.services.android.navigation.v5.location.MockLocationEngine;
import com.mapbox.services.android.navigation.v5.milestone.Milestone;
Expand All @@ -37,7 +38,6 @@
import com.mapbox.services.android.navigation.v5.offroute.OffRouteListener;
import com.mapbox.services.android.navigation.v5.routeprogress.ProgressChangeListener;
import com.mapbox.services.android.navigation.v5.routeprogress.RouteProgress;
import com.mapbox.services.android.telemetry.location.LocationEngineListener;

import java.util.ArrayList;
import java.util.List;
Expand Down Expand Up @@ -150,7 +150,7 @@ public void onMapReady(MapboxMap mapboxMap) {
mapboxMap.setOnMapClickListener(this);

locationLayerPlugin = new LocationLayerPlugin(mapView, mapboxMap, null);
locationLayerPlugin.setLocationLayerEnabled(LocationLayerMode.NAVIGATION);
locationLayerPlugin.setRenderMode(RenderMode.GPS);

// Setup the mockLocationEngine
mockLocationEngine = new MockLocationEngine(1000, 30, false);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,8 +18,12 @@
import android.widget.Toast;

import com.mapbox.api.directions.v5.DirectionsCriteria;
import com.mapbox.android.core.location.LocationEngine;
import com.mapbox.android.core.location.LocationEngineListener;
import com.mapbox.android.core.location.LocationEngineProvider;
import com.mapbox.api.directions.v5.models.DirectionsResponse;
import com.mapbox.api.directions.v5.models.DirectionsRoute;
import com.mapbox.core.constants.Constants;
import com.mapbox.geojson.LineString;
import com.mapbox.geojson.Point;
import com.mapbox.mapboxsdk.Mapbox;
Expand All @@ -33,9 +37,8 @@
import com.mapbox.mapboxsdk.maps.MapView;
import com.mapbox.mapboxsdk.maps.MapboxMap;
import com.mapbox.mapboxsdk.maps.OnMapReadyCallback;
import com.mapbox.mapboxsdk.plugins.locationlayer.LocationLayerMode;
import com.mapbox.mapboxsdk.plugins.locationlayer.LocationLayerPlugin;
import com.mapbox.services.Constants;
import com.mapbox.mapboxsdk.plugins.locationlayer.modes.RenderMode;
import com.mapbox.services.android.navigation.testapp.R;
import com.mapbox.services.android.navigation.ui.v5.NavigationLauncher;
import com.mapbox.services.android.navigation.ui.v5.NavigationLauncherOptions;
Expand All @@ -44,9 +47,6 @@
import com.mapbox.services.android.navigation.v5.navigation.NavigationRoute;
import com.mapbox.services.android.navigation.v5.navigation.NavigationUnitType;
import com.mapbox.services.android.navigation.v5.utils.LocaleUtils;
import com.mapbox.services.android.telemetry.location.LocationEngine;
import com.mapbox.services.android.telemetry.location.LocationEngineListener;
import com.mapbox.services.android.telemetry.location.LostLocationEngine;

import java.util.ArrayList;
import java.util.List;
Expand All @@ -60,7 +60,7 @@
import retrofit2.Response;
import timber.log.Timber;

import static com.mapbox.services.android.telemetry.location.LocationEnginePriority.HIGH_ACCURACY;
import static com.mapbox.android.core.location.LocationEnginePriority.HIGH_ACCURACY;

public class NavigationViewActivity extends AppCompatActivity implements OnMapReadyCallback,
MapboxMap.OnMapLongClickListener, LocationEngineListener, Callback<DirectionsResponse>,
Expand Down Expand Up @@ -248,7 +248,7 @@ public void onNewPrimaryRouteSelected(DirectionsRoute directionsRoute) {

@SuppressWarnings( {"MissingPermission"})
private void initLocationEngine() {
locationEngine = new LostLocationEngine(this);
locationEngine = new LocationEngineProvider(this).obtainBestLocationEngineAvailable();
locationEngine.setPriority(HIGH_ACCURACY);
locationEngine.setInterval(0);
locationEngine.setFastestInterval(1000);
Expand All @@ -265,7 +265,7 @@ private void initLocationEngine() {
@SuppressWarnings( {"MissingPermission"})
private void initLocationLayer() {
locationLayer = new LocationLayerPlugin(mapView, mapboxMap, locationEngine);
locationLayer.setLocationLayerEnabled(LocationLayerMode.COMPASS);
locationLayer.setRenderMode(RenderMode.COMPASS);
}

private void initMapRoute() {
Expand Down
2 changes: 1 addition & 1 deletion build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -47,4 +47,4 @@ task clean(type: Delete) {
delete rootProject.buildDir
}

apply from: "${rootDir}/gradle/sonarqube.gradle"
apply from: "${rootDir}/gradle/sonarqube.gradle"
16 changes: 9 additions & 7 deletions gradle/dependencies.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -8,10 +8,10 @@ ext {
]

version = [
mapboxMapSdk : '5.5.2',
mapboxServices : '2.2.10',
mapboxMapSdk : '6.0.1',
mapboxSdkServices : '3.0.1',
locationLayerPlugin: '0.4.0',
mapboxEvents : '3.0.3',
locationLayerPlugin: '0.5.0',
autoValue : '1.5',
autoValueParcel : '0.2.5',
junit : '4.12',
Expand All @@ -29,8 +29,9 @@ ext {
spoonRunner : '1.6.2',
commonsIO : '2.5',
robolectric : '3.5.1',
lifecycle : '1.0.0',
picasso : '2.5.2'
lifecycle : '1.1.1',
picasso : '2.5.2',
gmsLocation : '11.0.4'
]

pluginVersion = [
Expand All @@ -48,10 +49,9 @@ ext {
dependenciesList = [
// mapbox
mapboxMapSdk : "com.mapbox.mapboxsdk:mapbox-android-sdk:${version.mapboxMapSdk}",
mapboxServices : "com.mapbox.mapboxsdk:mapbox-android-services:${version.mapboxServices}",
mapboxJavaServices : "com.mapbox.mapboxsdk:mapbox-java-services:${version.mapboxServices}",
mapboxSdkServices : "com.mapbox.mapboxsdk:mapbox-sdk-services:${version.mapboxSdkServices}",
mapboxSdkTurf : "com.mapbox.mapboxsdk:mapbox-sdk-turf:${version.mapboxSdkServices}",
mapboxEvents : "com.mapbox.mapboxsdk:mapbox-android-telemetry:${version.mapboxEvents}",
locationLayerPlugin : "com.mapbox.mapboxsdk:mapbox-android-plugin-locationlayer:${version.locationLayerPlugin}",

// AutoValue
Expand Down Expand Up @@ -99,6 +99,8 @@ ext {

// aws polly
polly : "com.amazonaws:aws-android-sdk-polly:${version.awsPolly}",
// play services
gmsLocation : "com.google.android.gms:play-services-location:${version.gmsLocation}",

errorprone : "com.google.errorprone:error_prone_core:${version.errorprone}"

Expand Down
11 changes: 2 additions & 9 deletions libandroid-navigation-ui/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -36,11 +36,7 @@ dependencies {
api project(':libandroid-navigation')

// Mapbox Map SDK
implementation(dependenciesList.mapboxMapSdk) {
exclude module: 'lost'
exclude module: 'mapbox-java-geojson'
exclude module: 'mapbox-android-telemetry'
}
implementation dependenciesList.mapboxMapSdk

// Support libraries
implementation dependenciesList.supportDesign
Expand All @@ -53,10 +49,7 @@ dependencies {
annotationProcessor dependenciesList.lifecycleCompiler

// Mapbox plugins
implementation(dependenciesList.locationLayerPlugin) {
exclude module: 'mapbox-android-services'
exclude module: 'mapbox-android-sdk'
}
implementation dependenciesList.locationLayerPlugin

// AutoValues
annotationProcessor dependenciesList.autoValue
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@
* You have an option to include a AWS Cognito Pool ID, which will initialize the UI with AWS Polly Voice instructions
* </p><p>
* For testing, you can launch with simulation, in which our
* {@link com.mapbox.services.android.location.MockLocationEngine} will begin
* {@link com.mapbox.services.android.navigation.v5.location.MockLocationEngine} will begin
* following the given {@link DirectionsRoute} once the UI is initialized
* </p>
*/
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -30,8 +30,8 @@
import com.mapbox.mapboxsdk.maps.MapView;
import com.mapbox.mapboxsdk.maps.MapboxMap;
import com.mapbox.mapboxsdk.maps.OnMapReadyCallback;
import com.mapbox.mapboxsdk.plugins.locationlayer.LocationLayerMode;
import com.mapbox.mapboxsdk.plugins.locationlayer.LocationLayerPlugin;
import com.mapbox.mapboxsdk.plugins.locationlayer.modes.RenderMode;
import com.mapbox.services.android.navigation.ui.v5.camera.NavigationCamera;
import com.mapbox.services.android.navigation.ui.v5.instruction.InstructionLoader;
import com.mapbox.services.android.navigation.ui.v5.instruction.InstructionView;
Expand Down Expand Up @@ -200,12 +200,12 @@ public void onDestroy() {
@Override
public void onMapReady(MapboxMap mapboxMap) {
map = mapboxMap;
initMapPadding();
ThemeSwitcher.setMapStyle(getContext(), map, new MapboxMap.OnStyleLoadedListener() {
@Override
public void onStyleLoaded(String style) {
initRoute();
initLocationLayer();
initMapPadding();
initLifecycleObservers();
initNavigationPresenter();
initClickListeners();
Expand Down Expand Up @@ -514,7 +514,7 @@ private void initLocationLayer() {
int locationLayerStyleRes = ThemeSwitcher.retrieveNavigationViewStyle(getContext(),
R.attr.navigationViewLocationLayerStyle);
locationLayer = new LocationLayerPlugin(mapView, map, null, locationLayerStyleRes);
locationLayer.setLocationLayerEnabled(LocationLayerMode.NAVIGATION);
locationLayer.setRenderMode(RenderMode.GPS);
}

/**
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@
import android.net.NetworkInfo;
import android.text.TextUtils;

import com.mapbox.android.core.location.LocationEngine;
import com.mapbox.api.directions.v5.models.DirectionsRoute;
import com.mapbox.geojson.Point;
import com.mapbox.mapboxsdk.Mapbox;
Expand All @@ -34,7 +35,6 @@
import com.mapbox.services.android.navigation.v5.routeprogress.ProgressChangeListener;
import com.mapbox.services.android.navigation.v5.routeprogress.RouteProgress;
import com.mapbox.services.android.navigation.v5.utils.LocaleUtils;
import com.mapbox.services.android.telemetry.location.LocationEngine;

import java.util.Locale;

Expand Down
Loading