Mapbox welcomes participation and contributions from everyone.
- Fix route requests that include approaches and fix calculate remaining waypoints and waypoint names logic #1303
- Added ability to hide/add listeners to buttons/alert views #1251
- Allow custom LocationEngine from NavigationViewOptions #1257
- Add debug logging support back #1298
- Make last location from replay route location engine null (by default) until the first location is received or assigned explicitly #1296
- Do not update MockLocationEngine route on rotation #1289
- Fix mock navigation activity leak and fix location puck flying from current location to mock #1294
- Add location dispatcher to replay raw GPS traces #1039
- Remove sonarqube integration #1290
- Update Maps SDK to 6.5.0 and Events to 3.2.0 #1241
- Add onNavigationStopped callback for NavigationNotification #1283
- Added custom rounding increments for formatting distance #1231
- Simplify will voice api #1281
- Update RouteEngine for NavigationView duplicate starts #1277
- Fix recenter problem with Remove onMoveListener in onDestroy #1263
- Update Milestone javadoc to explain ignored trigger behavior #1269
- Fix route requests that include waypoint names #1260
- Do not allow multiple ViewModel subscriptions in NavigationView #1275
- Update Transfiex Translations #1258
- Do not add Fragments to backstack in FragmentNavigationActivity #1256
- bump location layer plugin version to 0.8.1 #1252
- fix route leg progress current leg annotation javadoc broken link #1250
- Save and restore map state on rotation for way name and camera tracking #1215
- Add example with MapboxNavigation driving separate UI components #1219
- Update NavigationView to guard against duplicate initializations #1247
- Add NavigationViewOption for default or custom SpeechPlayer #1232
- Added Burmese, Finnish, Korean, Norwegian guidance
- Add toggles in NavigationMapboxMap for traffic and incident data #1226
- Update Map styles to V4 with incident coverage #1234
- Add initialization logic for null RouteOptions #1229
- add open pending intent which brings the existing task (activity) to the foreground when clicking the notification #1221
- Add toggles in NavigationMapboxMap for traffic and incident data #1226
- Update Map styles to V4 with incident coverage #1234
- Add initialization logic for null RouteOptions #1229
- Reopen the app when when clicking the whole notification #1221
- Update Maps SDK to 6.4.0 and Events to 3.1.5 #1220
- Do not scroll Instruction RecyclerView while animating #1214
- Only reset night mode for EmbeddedNavigationActivity when isFinishing #1213
- Add Boolean in MapboxSpeechPlayer to prevent IllegalStateException #1212
- Bump MAS version to 3.4.1 #1203
- Notify InstructionListAdapter after animation finishes #1143
- Revert MAS version from 3.4.0 to 3.3.0 #1200
- Update Java SDK to 3.4.0 #1196
- Allow access to NavigationMapboxMap and MapboxNavigation #1179
- Retrieve feedback Strings from Resources #1194
- Update README Snapshot #1186
- Add gradle-versions-plugin to the project #1187
- Add a null check to prevent NPE in NavigationViewModel onDestroy #1192
- Remove Location filter and check Location#getAccuracy #1157
- Provide example of showing and hiding Fragment with NavigationView #1113
- Added InstanceState to simplify saving the state #1162
- Fix OffRoute engine cleared before service shutdown #1167
- Transifex Updates #1145
- Fix SpeechAnnouncementListener example and add tests #1166
- Update dependencies LLP, ConstraintLayout #1172
- Consolidate InstructionView DistanceFormatters #1174
- Add ETA support for the notification back #1184
- Fix exception when adding routes in NavigationMapRoute #1150
- Check dispatcher on announcement and instruction events in ViewModel #1152
- Update LeakCanary to 1.6.1 #1181
- Re-initialize arrow sources in NavigationMapRoute after style loaded #1180
- Use application Context for CustomNavigationNotification example #1182
- Update README.md with UI build.gradle instructions #1148
- Add maneuver view roundabout angle bottom limit #1144
- Use roundabout degrees for "then" step in InstructionView #1141
- Remove navigation listeners before clearing NavigationEngineFactory #1140
- Prevent to use the map route until the map is ready and the route fetched #1134
- Fixed error by only accepting SUCCESS state #1127
- Make navigation map null when shutting navigation view down #1125
- Update Maps SDK 6.3.0 and Telem 3.1.4 #1124
- Fix IllegalArgumentException when updating InstructionList #1123
- Prevent route overview animation with insufficient route data #1120
- Prevent NavigationNotification update after unregistered #1118
- Refactor InstructionListAdapter and limit roundabout degrees in ManeuverView #1064
- Improve catching low point amounts #1122
- Simplify find current banner and voice instructions algorithms #1117
- Update TimeFormatter to include localized Strings #1106
- Add InstructionListener for intercepting Voice / Banner Instructions #1107
- NavigationService refactor and tests #1066
- Add dual navigation map example to the test app #1092
- Update LocationLayerPlugin 0.6.0 #1102
- Fix navigation camera on start null pointer exception #1094
- Fix navigation map route index out of bounds exception #1093
- Ignore arrival checks after route has finished #1070
- Added InstructionView list state to saveInstanceState #1079
- Update Transifex translations #1088
- Rename MapView id included in NavigationView #1087
- Update Transifex translations #1078
- Update navigation view activity (from the test app) naming #1076
- Add end navigation functionality to navigation view #959
- Fix voiceLanguage NPE and add tests for NavigationSpeechPlayer #1054
- Fix vector drawables for < API 21 in test Application #1067
- Re-did the navigation notification layout #1059
- Setup AppCompatDelegate night mode to automatic #1063
- Fix upcoming maneuver arrow underneath road labels #1053
- Use theme attribute to update MapView map style URL #1018
- Remove setting voiceLanguage / voice unitType in RouteFetcher #1046
- Add distance remaining buffer to show first instruction immediately #1043
- Revert maps SDK version to 6.1.3 #1044
- Update Maps SDK to 6.2.0 #1042
- Update to MAS 3.3.0 and add approaches / waypointNames to NavigationRoute #996
- Fix upcoming arrow is drawn over annotations #1041
- Added error logging for API voice errors #1036
- Removed AndroidSpeechPlayer.UtteranceProgressListener and replaced wi… #1017
- Added check for whether a language is supported by API voice before d… #1004
- Updated NavigationRoute.language to take a Locale #1025
- Add route overview button and animation to NavigationView #967
- NavigationViewEventDispatcher remove navigation listeners in onDestroy #1013
- Fixed issue where map still had focus when instruction list was visib… #1014
- Remove origin, destination, unit type and locale from nav options #965
- Remove metric arrival event reset for multiple waypoints #1022
- Check for valid name property value in MapWayname #1031
- Update NavigationActivity naming to avoid naming collisions #1020
- Hide way name when camera is not tracking Location #1027
- Add check to remove listener from location engine in NavigationService #1026
- Fixed overlapping of button and compass by wrapping button content #990
- Add missing arrival ManeuverViewMap pair #1007
- Remove attempt to place route source when style layers are null #1006
- Update LocationLayerPlugin to 0.5.3, MAS 3.2.0 #1010
- Added extra call to onError for cases where a response is received bu… #997
- Added InstructionViewCallback to allow views to be alerted when the in… #988
- Update repositories block in build.gradle to have google() as the first entry #1000
- Add wayname underneath navigation puck #953
- Add upcoming maneuver arrow on the route line #934
- Update InstructionView with BannerMilestone only with callback #969
- Added onOffRoute call and removed queue from NavigationInstructionPlayer #986
- Example cleanup #987
- Check distance remaining before running OffRouteDetector logic #977
- Add try catch when obtaining FragmentManager in InstructionView #973
- Always provide DirectionsRoute in NavigationActivity #980
- Update Maps SDK to 6.1.3 and Events library to 3.1.2 #975
- Add List of Milestones to NavigationViewOptions #974
- Remove origin, destination, unit type and locale from nav options #965
- Update Maps SDK 6.1.2 #962
- Disable debug logging for Telemetry and Image loading #961
- Reset EventDispatcher in onDestroy #954
- Fix link in CONTRIBUTING.md #952
- Fix navigation guidance styles keys #948
- Resume navigation state based on MapboxNavigation running #946
- Initialize ViewModel EventDispatcher in NavigationView constructor #945
- Add NavigationHelper check for valid step points using lineSlice #944
- Use last BannerInstruction for arrival event #943
- Downgrade min sdk version to 14 #942
- Remove onStyleLoaded Callback in NavigationView #939
- Update ConstraintLayout, Support Lib, and LocationLayerPlugin dependencies #938
- Update translation Strings and add Burmese #937
- Check for valid BannerInstructions when milestones are enabled #936
- Added null check to make sure a file is actually returned #925
- Update to Guidance V3 Map Styles #917
- Check NavigationOptions in NavigationService #916
- Remove AWS Polly dependency not needed anymore #914
- Update localization.md #913
- Dynamic abbreviations in banner instructions #887
- Add missing uturn step maneuver modifier to should flip modifiers set #908
- Bump Mapbox SDK Services to 3.1.0 version #907
- Reverse maneuver sharp left resource #905
- Fixed bug where we weren't checking if the unit type changed before l… #896
- Remove use of LiveData for fetching DirectionsRoute and updating Location #894
- Update String resources with new Transifex translations #889
- Cancel delayed transitions when InstructionView is detached #885
- Remove app name String resource from libandroid-navigation #884
- Update localization.md #881
- Fix Feedback FAB margins #878
- Update new Transifex translation Strings #870
- Check for null camera engine before returning from MapboxNavigation #866
- Update Maps SDK 5.5.2 #865
- Added null check for race condition when deleting instruction files #860
- Add null start timestamp check for metric events #857
- Add NavigationLauncherOption snap-to-route enabled #856
- Use BannerText roundabout degrees + Banner and Voice Milestone Tests #854
- Added null checks in case the user isn't using voice instructions #852
- Add gradle-dependency-graph-generator-plugin to the project #850
- Remove draw routes and add direction waypoints calls already being called #849
- Add AutoValue Proguard rule #838
- Validate route profile passed into RouteViewModel #829
- Remove NavigationCamera ProgressChangeListener as public api #828
- Upgrade RouteProgress Step Data #812
- Integrate API Voice #751
- Add MapboxNavigationOptions to adjust location validation thresholds #818
- Set default driving profile and check for empty profile #816
- Update to MAS 3.0.1 #815
- Added safety for NONE_SPECIFIED type for voice units #811
- Add stick to chosen route when re-routing with UI functionality #808
- Remove NavigationView lifecycle observer and add Fragment Example #806
- Add 12/24 hour format Navigation View Option #805
- Fixed unit type was defaulting to imperial #804
- Update ISSUE_TEMPLATE.md #798
- Decrease Robo tests time to 5 minutes #795
- Send departure event with a valid distance traveled #789
- Remove last location check from location validation #788
- Add localization instructions #785
- Extract NavigationEngine processing logic and add tests #784
- Fix OffRoute detection disabled bug #783
- Create separate options for Launcher and View #782
- Create LocationValidator for checking new location updates #690
- Adjust sound layout margin #775
- Fix distancesFromManeuver not being cleared #773
- Allow setting of custom destination marker in theme #763
- Fixed back button in NavigationViewActivity #768
- Fixed unit type bug #769
- Fix MapRoute listener not firing for index 0 #772
- Stop scroll of InstructionList before hiding #766
- Add baseUrl to NavigationRoute and Turf conversion #767
- Force first location update without last location #756
- Update EventListener Thread Safe #762
- Create camera animation from time between updates #753
- NavigationView Landscape Optimizations #749
- Fix same point being added twice for LatLngBounds #741
- Fix Recent Distances from maneuver Off-Route #739
- Update MAS Dependencies #738
- Update LocationLayerPlugin to 0.4.0 #734
- Fix visibility bug with TurnLanes #733
- Update Maps SDK 5.5.0 #732
- Show first BannerInstruction immediately #731
- Fix initialization of directions list #728
- Default Dynamic Camera for Navigation UI #679
- Fix NPE with MapRoute click listener #721
- Null check camera tracking #719
- Initialize metric session state in constructor #718
- Clear features so DirectionsRoute isn't redrawn when new style loads #706
- Fix bug with MapRoute onClick #703
- Fix flashing InstructionView list during re-routes #700
- Fix FeedbackBottomSheet rotation bug #699
- Check Turn / Then Banner on each update #696
- Instructions based on locale #691
- Cancel animation if AlertView detaches while running #689
- Add bearing to RouteEngine requests #687
- LocationViewModel obtain best LocationEngine #685
- Dependencies Bump #684
- Fix issue with startup in Night Mode #683
- Cache route options / calculate remaining waypoints #680
- Switched setOnMapClickListener() to addOnMapClickListener() #672
- Locale distance formatter #668
- Off-Route Bug Fixes #667
- Update Default Zoom Level #655
- Update Maps and Services dependencies #661
- Add Maneuver type exit rotary constant #653
- Moved WaypointNavigationActivity from the SDK to the test app #652
- NavigationTelemetry update cue for changing configurations #648
- Remove duplicate ViewModel updates #647
- Track initialization of NavigationView #646
- Update Maps SDK to 5.3.1 #645
- Check for null directions route or geometry in SessionState #643
- Remove NavigationViewModel as lifecycle observer #643
- Exposes the MapboxMap in NavigationView with a getter method #642
- Package delivery/ride sharing waypoint demo #641
- Removed boolean that was preventing subsequent navigation sessions #640
- Add FasterRouteDetector to check for quicker routes while navigating #638
- Notification check for valid BannerInstructions before updating #637
- Check for at least two coordinates when creating snapped location #636
- Add language to NavigationViewOptions with default from RouteOptions #635
- Add onDestroy as a method that must be implemented for NavigationView #632
- Check for network connection before setting off-route #631
- Add NavigationView style attribute for custom LocationLayer #627
- Replace setOnScroll (now deprecated) with addOnScroll #626
- Check for IndexOutOfBounds when calculating foreground percentage #625
- Fix for listener bug #620
- Update Maps SDK to 5.3.0 #617
- Expose listeners in the NavigationView #614
- Null check light / dark theme from NavigationLauncher #613
- Add SSML parameter to Polly request #612
- Allow theme setting from NavigationViewOptions #595
- Fix issue NavigationView simulation #594
- Remove preference setup for unit type in RouteViewModel #593
- Create other map issue in feedback adapter #592
- Remove specified layer for map route #590
- Guard against IndexOutOfBounds when updating last reroute event #589
- Set original and current request identifier #585
- Add SSML announcement option for VoiceInstructionMilestone #584
- Remove duplicate subscriptions to the ViewModels #583
- Return Milestone instead of identifier #579
- DirectionsProfile for reroutes in NavigationView #575
- Add custom notification support #564
- Fix NPE with reroute metric events #565
- Adjust metric listener reset #566
- Update distance completed in off-route scenario #568
- Update Maps SDK to
5.2.1
#570
- Expanded the width of route lines when zoomed out
- Added support for displaying alternative routes on map
- Adds exclude, voiceUnits, and banner instruction info to request/response #500
- Add Imperial / Metric support for UI & Notification #501
- Add NavigationView as a lifecycle observer #506
- Add Custom themes via XML for light / dark mode #507
- Navigation Metrics Refactor #511
- Add software layer type programmatically for Maneuver and Lane View #514
- Use NavigationViewOptions in NavigationLauncher #524
- Lifecycle aware Navigation Metrics #540
- Updated to Mapbox Java 3.0 #373
- Update InstructionView with secondary TextView #404
- Fixed issue with bearing values in route requests #408
- Updates and docs for NavigationRoute #413
- Fixed native crash with initialization of navigation UI #423
- Add validation utils class #424
- Cancel notification when service is destroyed #409
- Adjust API Milestone to handle new routes #425
- Replaced maneuver arrows with custom StyleKit #362
- Dynamic reroute tolerance #428
- Add Telem location engine class name #401
- Fixed snap to route object for snapped location #434
- Directions list as dropdown #415
- Feedback UI #383
- Fixed bearing values not matching number of coordinates #435
- Updated to new TurfConversion class #440
- Removes duplicate check and adds test for new route #443
- Show / hide recenter button when direction list is showing / hiding #441
- Current step removed from instruction list #444
- Change feedback timing #442
- Updated Maneuver Icons #445
- Fixed ordering of the bearings #455
- "Then" Banner Instruction #456
- NavigationQueueContainer Class to manage reroute and feedback queues #457
- Update Turn lane Views to use StyleKit #466
- Upgraded to Gradle 3.0 #453
- Fixed up a few issues preventing all direction routes from working #469
- AlertView integrated with post-reroute feedback #470
- Fix leak when closing app with bottomsheet showing #472
- Added issue template #418
- Check for null raw location before setting bearing #476
- Update location layer to 0.2.0 and re-add as lifecycle observe #473
- Check for null or empty String speechUrl before playing #475
- Create SpanUtil and SpanItem to more easily format Strings #477
- Initialize click listeners after presenter / viewmodel is set #481
- Fix bug with bottomsheet not hiding in night mode #483
- Adjust Instruction Content Layout XML #465
- Add telem absolute distance to destination track support #427
- Fix issue where new route was not being detected #478
- Fix bug with bottom sheet behavior null onConfigChange #490
- Update lane stylekit and then maneuver bias #492
- Add missing javadoc for feedback methods in MapboxNavigation #493
- Portrait / landscape instruction layouts are different - only cast to View #494
- Significant reroute metric fixes #348
- Avoid index out of bounds when drawing route line traffic #384
- Fixed an issue with the Location Engine not being activated correctly inside the Navigation-UI lib #321
- Fixed bottom sheet not getting placed correctly when the device is rotated #320
- Fixed missing reroute UI when a navigation session reroute occurs #319
- Added logic to detect if the user did a u-turn which would require a reroute #312
- Revert snap to route logic creating a new Location object which was causing location updates to occasionally get stuck at a maneuver point #308
- Restructured the project so the studio projects opened from the root folder rather than having it nested inside the
navigation
folder #302 - Notifications fixed for Android Oreo #298
- OSRM-text-instructions removed #288
- General code cleanup #287
- Day and night mode and theme switching functionality added inside the Navigation-UI library #286
- Metric reroute added - #296
- Telemetry Updates
- First iteration of the Navigation UI
- Optimized Navigation features which were causing slowdowns on long steps - 219
- Only decode step geometry when needed - 215
- Introduced metrics
- Cleaned up code and fixed several bugs
- use followonstep inside routeprogress for instruction - #188
- Persistent notification #177
- Fixes crash occurring ocasionally at end of route - #175
- Cleaned up RouteProgress object to use AutoValue builders - #164
- Run calculations and cleaned up
MapboxNavigation
class - #151
- Add new alert level concept called, milestones #84
- Multiple way point support added #76
- Support for congestion along the route #106
- Default Milestones and text instructions #98 and
- Several improvements and bug fixes for snap to route logic #97
- Only update routeProgress when the user has a speed greater than 0 #118
- Add radius to directions route request #119
- Remove RouteUtils class #127
- Remove hardcoded constant for seconds till reroute #121
- Adds support for creating custom instructions for Milestones #122
- RouteProgressChange callback will attempt to get instantly invoked when starting if a locations present #47
- Upgrade to MAS 2.2.0 #153
- Use AutoValue inside RouteProgress objects #74
- Directly use direction distance measurements instead of calculating them. #125
- Support for other direction profiles (cycling and walking) added.
- Fixed issue with step and leg indexes not getting restarted when reroute occurred.
- Resolved issue with second navigation session not kicking off service again (preventing listeners getting invoked).
- Added missing MapboxNavigationOptions getter inside the MapboxNavigation class.
MapboxNavigationOptions
added allowing for setting navigation variables.- Fixed issue with Alert Levels not happening at correct timing
- Split
RouteProgress
to include leg and step progress classes. - Reroute logic refactored.
- Initial release as a standalone package.