Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
75 commits
Select commit Hold shift + click to select a range
d2e847e
Moved classes to base modules
RingerJK Oct 25, 2019
9f23835
moved classes to another module
RingerJK Oct 25, 2019
c34f400
NavigationRouteCallback, NavigationWalkingOptions, NavigationRoute: m…
RingerJK Oct 28, 2019
ffe2b88
StepManeuverNavigation, RouteLegNavigation, Route, LegStepNavigation:…
RingerJK Oct 29, 2019
3c1944b
moved classes to `libderections-common` module
RingerJK Oct 31, 2019
a4b76d6
Return dependecies to core api
RingerJK Nov 4, 2019
3a1e075
- renamed module `libderections-common` -> `libdirections-common`; - …
RingerJK Nov 6, 2019
1f03b07
fix merge issues
RingerJK Nov 12, 2019
9b71906
- restrict mapboxSdkService dependency from `libnavigation-base` and …
RingerJK Nov 14, 2019
ba191db
Revert using Location -> Point
RingerJK Nov 15, 2019
c5a074c
removed `libdirections-common` module; added `Gson` impl for `JsonMap…
RingerJK Nov 15, 2019
049e205
Moved classes to base modules
RingerJK Oct 25, 2019
b57ee94
moved classes to another module
RingerJK Oct 25, 2019
8f3d20e
NavigationRouteCallback, NavigationWalkingOptions, NavigationRoute: m…
RingerJK Oct 28, 2019
cd4cc01
StepManeuverNavigation, RouteLegNavigation, Route, LegStepNavigation:…
RingerJK Oct 29, 2019
6e1b83a
Fix tests and import
RingerJK Oct 29, 2019
8c51647
NavigationRoute: replace import to internal usage
RingerJK Oct 30, 2019
1057139
route common module
RingerJK Oct 31, 2019
f654ae5
moved classes to `libderections-common` module
RingerJK Oct 31, 2019
5e51803
minor changes
RingerJK Oct 31, 2019
400c49e
DefaultDirectionsSession: lint refactored
RingerJK Oct 31, 2019
100fa92
Router: removed redundant func
RingerJK Oct 31, 2019
630611b
DirectionsSession: change api, fix tests
RingerJK Oct 31, 2019
042e013
Return dependecies to core api
RingerJK Nov 4, 2019
09c1507
- renamed module `libderections-common` -> `libdirections-common`; - …
RingerJK Nov 6, 2019
fcb2e43
Navigation onboard: initial setup
RingerJK Nov 4, 2019
8e461db
Navigator make public
RingerJK Nov 5, 2019
70bd384
ktlint format
RingerJK Nov 6, 2019
0e76d8a
ktlint format
RingerJK Nov 6, 2019
0bb1a31
MapboxOnboardRouter: fetch route
RingerJK Nov 6, 2019
391541e
fix rebase issues
RingerJK Nov 15, 2019
3a4db40
fix pr issues: removed common module
RingerJK Nov 15, 2019
6b957b6
removed mapboxSdkServices; added mapboxSdkGeoJSON dependency
RingerJK Nov 15, 2019
ed6813a
removed unused class
RingerJK Nov 16, 2019
419b823
removed common module dependency
RingerJK Nov 16, 2019
ecd36c5
Restore Metric Reporter
RingerJK Nov 16, 2019
c6c2ef8
Restore Missing classes after rebase
RingerJK Nov 16, 2019
dba35f6
Onboard route: restrict Directions API dependency; added config
RingerJK Nov 18, 2019
207e761
fix rebase
RingerJK Dec 4, 2019
31bae21
rebase fixes
RingerJK Dec 4, 2019
b3ff9cd
temp commit
RingerJK Dec 6, 2019
58f1e19
fix tests
RingerJK Dec 9, 2019
e7b904a
Navigation: Models + DTO classes
RingerJK Dec 10, 2019
c5c012a
removed PointNavigation
RingerJK Dec 11, 2019
144d8f6
- JsonMapper: revert to Gson; - fix lint issues; - minor rename
RingerJK Dec 11, 2019
a8aede1
initial Activities test
RingerJK Dec 12, 2019
a671dfa
Direction API to Navigation models mappers
RingerJK Dec 12, 2019
6ab3e4d
fix lint
RingerJK Dec 13, 2019
55aa6b1
fix pr issues
RingerJK Dec 13, 2019
ca2b671
Dto classes: make public; introduces RouteResponse/Dto
RingerJK Dec 17, 2019
2188dfd
RouteUrl: minor fixes; OfflineRouteRetrievalTask: retrive `RouteRespo…
RingerJK Dec 17, 2019
5c0eb8d
- Onboard router: sample Activity Java + Kotlin; - make Dto classes p…
RingerJK Dec 18, 2019
5d688a7
Mappers: explicitly specify return types
RingerJK Dec 18, 2019
6af8bf9
Mappers: explicitly specify return types
RingerJK Dec 18, 2019
fa17213
- RouteUrl: test; - lint issues
RingerJK Dec 18, 2019
29798f9
- Rebase fixes; lint fix
RingerJK Dec 18, 2019
95d01ec
lint issue
RingerJK Dec 18, 2019
7ea6a79
RouteResponse: minor improves
RingerJK Dec 19, 2019
da535b4
pr issues
RingerJK Dec 23, 2019
0613138
fix rebase issue
RingerJK Dec 23, 2019
b4e6207
- Provide HttpClient for native; - Onboard test activities: comment d…
RingerJK Dec 24, 2019
d03aa2a
exclude `OnboardRouterActivityJava.java` from check style
RingerJK Dec 24, 2019
e607054
fix pr issue
RingerJK Dec 24, 2019
9f4f033
fix rebase issues
RingerJK Dec 24, 2019
e8f5a44
rebase fixes
RingerJK Dec 27, 2019
f944279
rebase fix
RingerJK Dec 27, 2019
be05ab0
rebase fix
RingerJK Jan 8, 2020
4220d03
fix pr issues: - moved OnBoard's Activities to `examples` module; - r…
RingerJK Jan 8, 2020
551be46
Cleanup test and Test Onboard Activities
RingerJK Jan 9, 2020
a4117b3
cleanup code; fix pr issues
RingerJK Jan 10, 2020
9bc2ab9
pr issue fixes
RingerJK Jan 10, 2020
f103784
rebase issues
RingerJK Jan 10, 2020
18df0e7
rebase fixes
RingerJK Jan 10, 2020
0beeb13
Fix rebase issues. Remove unused resources. Fix tests and naming
Jan 13, 2020
2d4a090
Fix rebase issues and some nits. Fix default values for route options…
Jan 13, 2020
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
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,7 @@
import com.mapbox.mapboxsdk.maps.OnMapReadyCallback;
import com.mapbox.mapboxsdk.maps.Style;
import com.mapbox.services.android.navigation.testapp.utils.Utils;
import com.mapbox.services.android.navigation.v5.navigation.NavigationRoute;
import com.mapbox.services.android.navigation.v5.navigation.metrics.MapboxMetricsReporter;
import com.mapbox.services.android.navigation.v5.navigation.metrics.MetricEvent;
import com.mapbox.services.android.navigation.v5.navigation.metrics.MetricsObserver;
Expand All @@ -48,7 +49,6 @@
import com.mapbox.services.android.navigation.v5.navigation.MapboxNavigation;
import com.mapbox.services.android.navigation.v5.navigation.MapboxNavigationOptions;
import com.mapbox.services.android.navigation.v5.navigation.NavigationEventListener;
import com.mapbox.services.android.navigation.v5.navigation.NavigationRoute;
import com.mapbox.services.android.navigation.v5.navigation.RefreshCallback;
import com.mapbox.services.android.navigation.v5.navigation.RefreshError;
import com.mapbox.services.android.navigation.v5.navigation.RouteRefresh;
Expand Down
2 changes: 2 additions & 0 deletions examples/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -84,9 +84,11 @@ android {

dependencies {
implementation project(':libdirections-offboard')
implementation project(':libdirections-onboard')
implementation project(':libtrip-notification')
implementation project(':libnavigation-util')
implementation project(':liblogger')
implementation project(':libnavigator')

//ktlint
ktlint dependenciesList.ktlint
Expand Down
16 changes: 16 additions & 0 deletions examples/src/main/AndroidManifest.xml
Original file line number Diff line number Diff line change
Expand Up @@ -48,6 +48,22 @@
android:value=".MainActivity"/>
</activity>

<activity
android:name=".activity.OnboardRouterActivityKt"
android:label="@string/title_onboard_router_kotlin">
<meta-data
android:name="android.support.PARENT_ACTIVITY"
android:value=".MainActivity"/>
</activity>

<activity
android:name=".activity.OnboardRouterActivityJava"
android:label="@string/title_onboard_router_java">
<meta-data
android:name="android.support.PARENT_ACTIVITY"
android:value=".MainActivity"/>
</activity>

<activity android:name=".activity.TripServiceActivityKt"
android:label="@string/title_trip_service_kotlin"
android:screenOrientation="portrait">
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,8 @@
import com.mapbox.navigation.examples.activity.MockNavigationActivity;
import com.mapbox.navigation.examples.activity.OffboardRouterActivityJava;
import com.mapbox.navigation.examples.activity.OffboardRouterActivityKt;
import com.mapbox.navigation.examples.activity.OnboardRouterActivityJava;
import com.mapbox.navigation.examples.activity.OnboardRouterActivityKt;

import java.util.ArrayList;
import java.util.Arrays;
Expand Down Expand Up @@ -67,6 +69,16 @@ protected void onCreate(Bundle savedInstanceState) {
getString(R.string.title_offboard_router_java),
getString(R.string.description_offboard_router_java),
OffboardRouterActivityJava.class
),
new SampleItem(
getString(R.string.title_onboard_router_kotlin),
getString(R.string.description_onboard_router_kotlin),
OnboardRouterActivityKt.class
),
new SampleItem(
getString(R.string.title_onboard_router_java),
getString(R.string.description_onboard_router_java),
OnboardRouterActivityJava.class
)
));

Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,214 @@
package com.mapbox.navigation.examples.activity;

import android.os.Bundle;
import android.os.Environment;
import android.widget.Toast;

import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.appcompat.app.AppCompatActivity;

import com.google.android.material.snackbar.Snackbar;
import com.mapbox.api.directions.v5.models.DirectionsRoute;
import com.mapbox.geojson.Point;
import com.mapbox.mapboxsdk.annotations.MarkerOptions;
import com.mapbox.mapboxsdk.camera.CameraUpdateFactory;
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.maps.Style;
import com.mapbox.navigation.base.route.Router;
import com.mapbox.navigation.base.route.model.Route;
import com.mapbox.navigation.base.route.model.RouteOptionsNavigation;
import com.mapbox.navigation.examples.R;
import com.mapbox.navigation.examples.utils.Utils;
import com.mapbox.navigation.examples.utils.extensions.Mappers;
import com.mapbox.navigation.route.onboard.MapboxOnboardRouter;
import com.mapbox.navigation.route.onboard.model.Config;
import com.mapbox.services.android.navigation.ui.v5.route.NavigationMapRoute;

import org.jetbrains.annotations.NotNull;

import java.io.File;
import java.util.List;

import butterknife.BindView;
import butterknife.ButterKnife;
import butterknife.OnClick;
import timber.log.Timber;

public class OnboardRouterActivityJava extends AppCompatActivity implements OnMapReadyCallback,
MapboxMap.OnMapClickListener {

private Router onboardRouter;
private MapboxMap mapboxMap;

private DirectionsRoute route;
private NavigationMapRoute navigationMapRoute;
private Point origin;
private Point destination;
private Point waypoint;

@BindView(R.id.mapView)
MapView mapView;

@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_mock_navigation);
ButterKnife.bind(this);

setupRouter();

mapView.onCreate(savedInstanceState);
mapView.getMapAsync(this);
}

private void setupRouter() {
File file = new File(
Environment.getExternalStoragePublicDirectory("Offline").getAbsolutePath(),
"2019_04_13-00_00_11");
File fileTiles = new File(file, "tiles");
Config config = new Config(
fileTiles.getAbsolutePath(),
null,
null,
null,
null // working with pre-fetched tiles only
);

onboardRouter = new MapboxOnboardRouter(config, null);
}


@OnClick(R.id.newLocationFab)
public void onNewLocationClick() {
newOrigin();
}

private void newOrigin() {
if (mapboxMap != null) {
clearMap();
LatLng latLng = new LatLng(47.05991, 9.49183);
origin = Point.fromLngLat(latLng.getLongitude(), latLng.getLatitude());
mapboxMap.moveCamera(CameraUpdateFactory.newLatLngZoom(latLng, 12));
}
}

@Override
public void onMapReady(@NonNull MapboxMap mapboxMap) {
this.mapboxMap = mapboxMap;
this.mapboxMap.addOnMapClickListener(this);
mapboxMap.setStyle(Style.MAPBOX_STREETS, style -> {
navigationMapRoute = new NavigationMapRoute(mapView, mapboxMap);
Snackbar.make(findViewById(R.id.container), "Tap map to place waypoint", Snackbar.LENGTH_LONG).show();
newOrigin();
});
}

private void clearMap() {
if (mapboxMap != null) {
mapboxMap.clear();
route = null;
destination = null;
waypoint = null;
navigationMapRoute.updateRouteVisibilityTo(false);
navigationMapRoute.updateRouteArrowVisibilityTo(false);
}
}

private void findRoute() {
RouteOptionsNavigation.Builder optionsBuilder = new RouteOptionsNavigation.Builder()
.accessToken(Utils.getMapboxAccessToken(this))
.origin(origin)
.destination(destination);
if (waypoint != null) {
optionsBuilder.addWaypoint(waypoint);
}
onboardRouter.getRoute(optionsBuilder.build(), new Router.Callback() {
@Override
public void onResponse(@NotNull List<Route> routes) {
if (!routes.isEmpty()) {
route = Mappers.mapToDirectionsRoute(routes.get(0));
navigationMapRoute.addRoute(route);
}
}

@Override
public void onFailure(@NotNull Throwable throwable) {
Timber.e(throwable, "onRoutesRequestFailure: navigation.getRoute()");
}
});
}

@Override
public boolean onMapClick(@NonNull LatLng point) {
if (destination == null) {
destination = Point.fromLngLat(point.getLongitude(), point.getLatitude());
mapboxMap.addMarker(new MarkerOptions().position(point));
findRoute();
} else if (waypoint == null) {
waypoint = Point.fromLngLat(point.getLongitude(), point.getLatitude());
mapboxMap.addMarker(new MarkerOptions().position(point));
findRoute();
} else {
Toast.makeText(this, "Only 2 waypoints supported for this example", Toast.LENGTH_LONG).show();
clearMap();
}
return false;
}

/*
* Activity lifecycle methods
*/

@Override
public void onResume() {
super.onResume();
mapView.onResume();
}

@Override
public void onPause() {
super.onPause();
mapView.onPause();
}

@Override
protected void onStart() {
super.onStart();
mapView.onStart();
}

@Override
protected void onStop() {
super.onStop();
mapView.onStop();
}

@Override
public void onLowMemory() {
super.onLowMemory();
mapView.onLowMemory();
}

@Override
protected void onDestroy() {
super.onDestroy();
if (onboardRouter != null) {
onboardRouter.cancel();
onboardRouter = null;
}
if (mapboxMap != null) {
mapboxMap.removeOnMapClickListener(this);
mapView.onDestroy();
}
}

@Override
protected void onSaveInstanceState(Bundle outState) {
super.onSaveInstanceState(outState);
mapView.onSaveInstanceState(outState);
}
}
Loading