Release Notes

3.7.0

  • Search
    • missing search history in one line search in SearchAddressFragment fix
    • search history for one line and multi line SearchAddressFragment united
    • SearchResult is from search history test added
    boolean SearchResult.isHistory();
    
  • App data manager
    • AppData.Type.CAMERA type added (speed cameras and traffic light cameras)

3.6.0

  • Map fragment
    • occasionally wrongly positioned map toolbar after map fragment size change fix
  • Navigation
    • getting current emergency status method updated to prevent potential deadlocks
    void EmergencyModeManager.getEmergencyModeStatus(@NonNull EmergencyModeStatusListener emergencyModeStatusListener);
    

3.5.1

  • Map fragment
    • maneuver panel sometimes might not be visible bug fix

3.5.0

  • Map fragment
    • possible UI freezing trying to show map while a route is being computed fix
  • Localization
    • spanish translation added

3.4.1

  • Routing
    • memory leak computing and selecting alternative routes fix

3.4.0

  • Support
    • MINIMAL log level added, STANDARD (default) log level updated to track all SDK calls
  • Routing
    • method to get all current route points on map added
    @Nullable List<RoutePoint> Routing.getCurrentRoutePoints();
    

3.3.5

  • Routing
    • after changing active vehicle and/or its parameters the changes might not be used for subsequent route computation fix
    • deleting waypoint during navigation does not result in route recomputation fix
  • App data manager
    • returning installed app data type fix

3.3.1

  • Map fragment
    • hardware map rendering fixes

3.2.2

  • Map fragment
    • detour added to map long click menu while navigating
    • signposts and lane panels visibility fix
  • Routing
    • truck dimension parameters not saved nor used for route computation fix

3.1.0

  • Map fragment
    • long click on map menu added
    • POI visibility settings added to map long click menu
    • stop navigation command added to map long click menu
  • General
    • method to get current license key added
    @NonNull String MpfcEngine.getLicenseKey();
    

3.0.2

  • Map fragment
    • incorrect info panel width after map fragment is resized fix

3.0.1

  • General
    • internal changes made to prevent SDK views executing methods before all engines are fully initialized
  • Support
    • debug logging mode added to help solving potential issues
    void Support.setLogLevel(@NonNull LogLevel logLevel);
    @NonNull LogLevel Support.getLogLevel();  
    

2.7.1

  • Navigation
    • changing destination while navigating possible failure fix

2.7.0

  • Routing & Map fragment
    • choosing among computed alternative routes on map fragment implemented - just call Routing.selectRouteOnMap() instead of Routing.selectRouteAlternative(…)
    void Routing.selectRouteOnMap();
    
  • Navigation
    • NavigationStatusListener callback method added. It is called when a route alternative is selected on map after Routing.selectRouteOnMap().
    void NavigationStatusListener.onRouteAlternativeSelected(int routeId);
    
  • Map fragment
    • occasional crash trying to draw signposts panel fix
  • Routing
    • deleting current navigation route crash fix

2.6.5

  • Search
    • search address fragment possible crash fix

2.6.4

  • Map rendering
    • possible crash after activity containing map fragment is restored from background fix

2.6.3

  • Map fragment
    • occasional info panel crash fix

2.6.2

  • Map rendering
    • occasional black map screen after activity containing map fragment is restored from background fix

2.6.0

  • Search
    • search POI fragment (search.SearchPoiFragment) and view (search.SearchPoiView) implemented
    • use SearchPoiFragment.SearchResultClickListener to show search results on map, set as navigation destination, etc
    public void SearchPoiFragment.addSearchResultClickListener(@NonNull SearchResultClickListener listener);  
    public void SearchPoiFragment.removeSearchResultClickListener(@NonNull SearchResultClickListener listener);
    

2.5.0

  • Search
    • multiline search implemented in search address fragment (search.SearchAddressFragment)
    • added SearchAddressView XML attribute “app:search_address_view_type” with values “=singleline” and “=multiline” to set initial search address layout type

2.4.0

  • Search
    • search address fragment (search.SearchAddressFragment) and view (search.SearchAddressView) implemented
    • use SearchAddressFragment.SearchResultClickListener to show search results on map, set as navigation destination, etc
    public void SearchAddressFragment.addSearchResultClickListener(@NonNull SearchResultClickListener listener);  
    public void SearchAddressFragment.removeSearchResultClickListener(@NonNull SearchResultClickListener listener);
    

2.3.1

  • Routing
    • navigation route itinerary fragment possible crash fix

2.3.0

  • Routing
    • navigation route itinerary fragment containing list of turn by turn navigation instructions (routing.RouteItineraryFragment) and route itinerary view (routing.RouteItineraryView containing RouteItineraryFragment) added
  • Map fragment
    • menu button added (invisible by default)
    • map control clicked listener added
      • MANEUVER_PANEL - visible during navigation, expected action is to show navigation route itinerary (see RouteItineraryFragment or RouteItineraryView)
      • NO_SOUND_BUTTON - visible during navigation when no navigation voice is selected, expected action is to enable user to choose a navigation instructions sound
      • MENU_BUTTON - hidden by default, can be used to show an app menu
      void MapControls.addMapControlClickedListener(@NonNull MapControlsListener listener);
      void MapControls.removeMapControlClickedListener(@NonNull MapControlsListener listener);
      
  • Navigation
    • NavigationStatusListener.onNoSoundButtonClicked() removed, use Map.MapControlsListener.onMapControlClicked listener instead
    • failed to recompute route during navigation more than once bug fixed

2.2.2

  • All engines
    • possible crash handling new GPS position while engines are being restarted fix

2.2.1

  • Map fragment
    • editing road closed for routing from map crash fix
    • MapFragment.getMapControls called after fragment recreation may return old fragment map controls fix

2.2.0

  • Map fragment
    • head-up display implemented - call MapFragment.setHUDMode(@NonNull HudMode mode) to activate/deactivate head-up display mode during navigation
    public void MapFragment.setHUDMode(@NonNull HudMode mode);
    public @NonNull HudMode MapFragment.getHUDMode();
    
    • map controls visibility controller class moved from Map to MapFragment
    public @NonNull MapControls MapFragment.getMapControls();
    

2.1.0

  • Map
    • added button visible during navigation indicating currently selected navigation sound is silent
  • Navigation
    • callback when the silent navigation sound button is clicked added - app should respond by letting user to choose a navigation voice
    void NavigationStatusListener.onNoSoundButtonClicked();
    
  • Support
    • sending SDK logs file provider changed to include app ID to ensure the provider name is unique

2.0.0

  • Contexts
    • context parameter removed from majority of SDK interface methods
  • Settings
    • SDK persistent settings moved to private file
  • Licensing
    • get license expiration date method added
    @NonNull Calendar MpfcEngine.getLicenseExpirationDate();
    
  • Support
    • send log files method return value changed
    @NonNull SendLogFilesResult Support.sendLogFiles(@NonNull Context context);
    

1.7.0

  • Imports
    • data added via incremental import visible on map also in software renderer
    • incremental import user defined icon hotspot added
    void ImportsManager.createIncrementalImportCategory(@NonNull String categoryName, @Nullable String icon, @FloatRange(from = 0.0, to = 1.0) float hotSpotX, @FloatRange(from = 0.0, to = 1.0) float hotSpotY, @NonNull CreateIncrementalImportCategoryListener listener);
    
  • Search
    • search within incremental imports is not accent sensitive any more

1.6.1

  • Imports
    • crash fixes

1.6.0

  • Imports
    • data added via incremental import visible on map now in hardware renderer
    • creating incremental import category listener parameter changed
      void CreateIncrementalImportCategoryListener.onIncrementalImportCategoryCreationFinished(@NonNull CreateIncrementalImportCategoryResult result);
      
  • Search
    • SearchResultsListener.SearchErrorCode enum value added (FAILED_INVALID_SEARCH_RADIUS)

1.5.0

  • Imports
    • imports manager module created
      @NonNull ImportsManager MpfcEngine.getImportsModule() throws SdkException;
      
    • MCA file imports moved from AppDataManager to ImportsManager
      void ImportsManager.importFile(@NonNull Context context, @NonNull List<Uri> sourceUris, boolean overwriteExisting, @NonNull FileImportListener importListener);
      
    • incremental imports implemented - data is stored and can be searched, not visible on map for now though
      void ImportsManager.createIncrementalImportCategory(@NonNull String categoryName, @Nullable String icon, @NonNull CreateIncrementalImportCategoryListener listener);
      
      void ImportsManager.addIncrementalImportData(@NonNull String categoryName, @NonNull List<ImportData> importDataList, @NonNull AddIncrementalImportDataListener listener);    
      
      void getImportCategories(@Nullable ImportCategory.Type importType, @NonNull ImportCategoriesListener listener);
      

1.4.0

  • Navigation instructions
    • beep instructions voice type added
      InstructionsVoice.Type.BEEP
      
    • get instructions voice type method added
      @NonNull Type InstructionsVoice.getType();
      
    • retrieving available instructions by type - InstructionsVoicesManager.getInstructionsVoices type parameter added
      void InstructionsVoicesManager.getInstructionsVoices(@NonNull Context context, @Nullable InstructionsVoice.Type type, @NonNull InstructionsVoicesListener voicesListener);
      
  • Search
    • new POI category IDs added in 1.3.0 fix

1.3.0

  • Search
    • POI categories update

1.2.0

  • Map rendering
    • faster low resolution software renderer for large devices with high pixel density added
      MapRenderer.RendererName.SOFTWARE_LOW_RESOLUTION
      
  • Info panels
    • satellites count info panel showing always zero fix

1.1.1

  • Navigation
    • possible unwanted stop of navigation after acquiring GPS signal fix

1.1.0

  • Search
    • adding search results to search history implemented
      void Search.getSearchHistoryManager().addSearchResult(@NonNull SearchResult searchResult);       
      
    • search within search history implemented
      void Search.startHistorySearch(@Nullable String filter, @NonNull SearchResultsListener resultsListener);       
      
  • Navigation
    • restarting SDK engines (e.g. after new map data download/delete) while currently navigating crash fix

1.0.2

  • Traffic
    • turning traffic avoidance on/off problems fix

1.0.1

  • SDK initialization
    • device activation possible crash fix

1.0.0

  • Initial release