Mapwize SDK Android Changelog
- Fixing sdkVersionName and osVersionName in Telemetry Event.
- Fixing starting Navigation and setting Direction at the same time.
- Fixing refresh on an empty venue
- Adding support for min/max Zoom for connectors
- Fixing issue with Api.getDirection method when taking isAccessible as parameter
- Adding failure listener methods called when the content could not be loaded, to be added to the classes implementing OnVenueEnterListener, OnUniverseChangeListener or OnFloorChangeListener:
- void onVenueEnterError(@NonNull Venue venue, @NonNull Throwable error)
- void onUniverseChangeError(@NonNull Universe universe, @NonNull Throwable error)
- void onFloorChangeError(@Nullable Floor floor, @NonNull Throwable error)
- Fixing issue with GeoJSON layers
- Change getUserIndoorLocation to return a MapwizeLocation that implements DirectionPoint
- Adding method to add and remove promoted places using PlacePreview
- Adding support for min/max zoom on GeoJSON layers
- Improving the OfflineManager to have a more robust and smooth download. Adding support for selecting zoom range and introducing offline regions.
- Adding downloadData method allowing to choose the zoom range.
- Adding OfflineRegion class.
- Removing skipMapboxDownload download options. Mapbox download is handled automatically.
- Removing method removeDataForVenue. Use removeOfflineRegion instead.
- Removing method isOfflineForVenue. Use hasOfflineRegion instead.
- Removing method getOfflineVenues. Use getOfflineRegions instead.
- Removing method getOfflineUniversesForVenue. Use getOfflineRegion instead.
- Adding method getOfflineRegions.
- Adding method getOfflineRegion.
- Adding method hasOfflineRegion.
- Adding method removeOfflineRegion.
- Adding method checkForUpdate.
Improving offline search results
Introducting direction modes to allow computation of optimized directions for different profiles. This feature extends the existing accessibility feature in the directions.
- Adding directions API methods to use direction mode. Those methods are fully functional offline.
- Directions API methods with
isAccessible are still available but are deprecated. Those methods are not working offline anymore and now require a network connection.
getDirectionModes method on the map and
onDirectionModesChange listener to retrieve the available modes for the current venue/universe.
Adding method to get the user heading
Adding support for minZoom/maxZoom on layers and places
Adding support for default floor/bearing/pitch when entering in venue
- Using defaultFloor, defaultBearing and defaultPitch when entering in a venue
- Adding MapwizeConfiguration#Builder#serverUrl(String serverUrl) to simplify custom url settings
- Deprecating method that used serverScheme, serverHost, serverApiPath
- Adding documentation about MapwizeApi regarding when the result are returned from the database when offline mode is used
- Adding interpolation on stroke width to increase the width as the user zooms in
- Fixing issue when downloading multiple venues that use the same universe
- Offline manager call the onFailure callback when trying to download multiple venue/universe at the same time
- Improving offline manager process. Better error handling and progress.
- Adding method to check if new data is available for an offline venue/universe
- Adding method to get all the venue/universe offline at once
- Handling defaultFloor, defaultBearing and defaultPitch when entering in a venue
- Fixing crash when promote a place on floor null
- Improving MapOptions parcelable implementation
- Fixing potential crash on venueEnter
- Adding navigationDidFail in the onNavigationUpdate listener
- Adding onLanguageChangeListener and add/remove methods
- Fixing offline direction Serialization issue
- Fixing typo in Serializer
- Fixing a potential crash on provider stop
- Adding serialize methods
- Fixing a potential issue when calling methods while the map is being destroyed
- Fixing a potential caching issue when multiple venues are taken offline
- Fixing issue with Mapbox OfflineRegions == null
- Fixing issue on navigation start
- Deprecate startNavigation method and replace it with a new one that take an isAccessible argument
- Improving download data process and avoid OutOfMemory issue
- Fixing crash on download data if no direction are available
- Fixing issue with animationDuration == 0 in centerOn methods
- Fixing entering venue issue when venue is offline
- Fixing NPE on removeLocationProvider
- Adding fade animation on floor change
- PlacePreview implements DirectionPoint
- Improving threading managment
- Fixing issue with the first user location not displayed
- Fixing issue with GeoJSON layers
Methods that interact with the MapwizeMap such as move camera or add marker HAVE TO be called on the ui thread. Those methods are annotated @UiThread.
- Fixing crash when trying to restrict content to venueIds
- Fixing crash that can happen when IndoorLocationProvider is set
- Exposing MapboxView under MapwizeMap.getMapboxView
- Changing returns type of getFloors method from Double to Floor
- Fixing issue with getFloors returns empty array
- Fixing method visibility issue
This new version focusses on performance! The rendering engine has been completely redesigned while we have tried to keep the usage of the SDK as close as possible to the previous version to make migration as easy as possible. Here are the main changes to take into account:
- MapwizeForMapbox changed to MapwizeSDK: Please check the details in the documentation on how to install the SDK.
- AccountManager -> MapwizeConfiguration: AccountManager has been replaced with MapwizeConfiguration. MapwizeConfiguration is the first object that you have to instantiate in order to get access to the MapwizeApi and the MapView.
- Api -> MapwizeApi: Api has been replaced with MapwizeApi. The interface remains (mostly) the same. You can get a MapwizeApi from the factory
- MapwizeApi and MapwizeConfiguration: The usage of those 2 objects has changed to make it simple to use a single configuration stored in your info.plist, or possible to change configuration at run time.
- Standalone MapView: The map is now a standalone view and not a plugin. The instanciation of the underlying Mapbox map is done directly by the MapView. Still, the full Mapbox map remains available.
- Floors: Methds returning floors such as
getFloorForVenue now return a Floor object instead of just a floor number.
- Camera Animation: Methods moving the camera such as
centerOnVenue can now specify an animation duration.
- Markers: Methods that are synchronous now return the Marker immediatly. Adding marker on a placelist might require an Api call so the markers are returned using the OnMarkersAdded interface.
- Promoting places: Methods taking places as parameter do not return anything. Methods taking a PlaceList as parameter might require an Api call so the promoted places are returned using the OnPlacesPromoted interface.
- Setting style for places: The method
setPlaceStyles has been added to improve the performance when changing the style on a lot of places.
- Map events: New events have been added to the map, in particular will change and did change for floors and universes.
- Object preview: Some events now only return preview of objects like places and venues. When possible, methods like
centerOn can use those preview objects. If you need the full object, you can use
getFullObjectAsync on the preview object.
- Fixing callback not called on OfflineManager#downloadData if there is no direction on the venue
- Fixing multiple failure call on OfflineManager#downloadData
- Adding MapOptions to restrict content to a list of venues
- Fixing issue with download manager downloading the content twice
- Fixing background thread crash
- Fixing issue with setFloor and setFollowUserMode when locationProvider is not set
- Fixing issue with connectors not displayed
[BREAKING CHANGE] All addMarker methods now take a callback that contains the added marker(s) instead of returning the marker directly. This avoids issues when the SDK has to make a request to the server in order to add a marker.
- Upgrading Mapbox to v8.0.0
- Using the Mapbox Location Component to handle navigation and provide every Mapbox customization methods
- Navigation callback is now also triggered at start
- Handling the place order in the place click event
- Handling invisible places in the addMarkers(PlaceList placelist) method
- Adding process to refresh the venue if something has changed in the venue
- Adding placetypeId in the place object
- Avoiding SQL crash when downgrading the SDK version
- Updating Mapbox to 7.3.2
- Improving NullPointerException protection
- Fixing crash when the view is destroy in some circonstances
- Refactoring offline download process
- Only downloading modified data
- Improving error handling
- Skipping Mapbox download if not required
- Keeping existing offline data if the download of an update fails
- Adding getData() method to MapwizeObject interface
- Fixing null pointer issue on searchParams
- Fixing issue with parser
- Adding methods for cordova
- Fixing Offline download callback not called issue when the connection is interrupted
- Improving Offline download error message
- Improving progress value in the Offline downloader
- Adding download method that allow developper to skip the Mapbox data download
- Fixing issue with api methods
- Adding parsing methods for Cordova
- Adding parsing methods for Cordova
- Improving offline download workflow
- Fixing crash when hiding the follow user mode
- Fixing issue with set style method
- Fixing issue with promoted place methods
- Adding setter on Account Manager to change the server url dynamically
- Fixing no callback call issue on Api#getVenue
- Fixing issue with location engine
- Fixing default floor error
- Fixing floor when entering in venue with follow user mode activated
- Improving database writing performance
- Removing unnecessary API call if data is already in database for places and universes.
- Fixing double callback call on Api methods
- Changing parser visibility to public
- Adding constructor for OfflineManager that takes a style url as parameter
- Fixing crash when entering in a venue
- Fixing issue with layer transition animation
- Adding sign in / sign out api methods
- Fixing inconsistant behaviour on Navigation
- Adding complete offline support for display, search and directions.
- Adding cache for displayed content.
- Adding setApiKey method on account manager
- Preventing crash with compass update
- Adding mapView.isDestroyed() check before adding element to the map
- Adding Java documentation
- Replacing MapwizePlugin constructor with MapwizePluginFactory
- Replacing setListener methods to addListener to allow multiple listener on events
- Renaming and adding several options to MapOptions
- Renaming : venueId and organizationId -> restrictContentToVenueId and restrictContentToOrganizationId
- Adding : universeId (set the universe displayed at start), centerOnPlace and centerOnVenue
- Reworking package organization to improve visibility for classes and interface
- Fixing Parcelable implementation
- Fixing issue with setUniverse methods
- Fixing bug when a data try to be display from a non ui thread
- Fixing issues when entering access key
- Updating Mapbox dependencies to 6.3.0
- Fixing memory issues
- Improving floor and venue detection to avoid overload
- Filtering compass value to improve performance
- Improve layer transition
- Improve background computation behavior
- Adding floor in ApiFilter
- Fixing issues with navigation
- Adding navigation methods allowing developer to start a navigation instead of a direction if the starting point of a direction is the user position.
- Adding support for default center and default zoom on venue
- Fixing issue with Api.getMapwizeOkhttpClient
- Adding non null check to avoid crash if follow user mode is activated before a location is provided
- Limiting request on start
- Adding non null check to avoid so crash on venue enter
- Fixing crash on malformated icon url
- Fixing issue with languages
- Fixing crash on exit venue
- Fixing crash if sw and ne are equals when parsing bounds
- Fixing issue with direction display
- Fixing issue with preferred language
- Fixing possible crash on marker click
- Upgrading to Mapbox 6.0.1
- Fixing issue with end direction marker
- Add possibility to hide place markers and shapes using custom style
- Cancel followUserMode on compass click
- Fixing place click issue
- Updating build tools, compile sdk version and following libraries
- Adding venueId and organiationId on MapOptions to limit displayed venues
- Fixing issue with removing a marker
- Adding setLatLngFloor method on Mapwize Marker
- Fixing click issues caused by invisible marker
- Running onPluginDidLoad on main thread
- Fixing issues with UISettings
- Fixing issues with StrictMode policy
- Allowing Mapwize to be instantiated before Mapbox has finished loading to start fetching data earlier and improve loading performance
- Adding OnDidLoadListener on MapwizePlugin
- MapwizePlugin constructor does not require the MapboxMap and allows the extra UISettings
- Adding UISettings class to handle UI options
- Moving showFollowUserMode and showFloorController from MapOptions to UISettings
- Allowing to move MapboxLogo, MapboxAttribution and MapboxCompass without impacting Mapwize UI
- Improving Mapwize UI components
- Adding support for default Mapwize outdoor map style. Dedicated Mapbox account only required to customize the outdoor map.
- Mapwize logo and attributions are displayed by default when default Mapwize outdoor map is used
- Adding DirectionOptions and method setDirection(Direction direction, DirectionOptions options)
- Removing setDirection(Direction direction, Icon icon)
- Changing default camera behaviour of setDirection(Direction direction)
- Fixing change floor call on venue Enter / Exit
- Avoid potential crash on venue enter
- Fixing methods that take a list of interface
- Fixing typo : getDistance -> getDistances
- Improving stability
- Updating location layer visual on venue enter
- Fixing issue on follow user mode and heading
- Adding distances Api route
- Adding setDirection with Icon paramater
- Changing floors behaviour to only have in the floor selector the floors for which there is a layer visible on the screen. Changed the behaviour of getFloors and on didChangeFloors accordingly.
- Removing default tilt on FOLLOW_USER_AND_HEADING mode
- Limiting map freeze on drag
- Fixing connector display
- Adding data attribute to Place and Venue classes
- Limiting user location blinking
- Adding LatLngFloorInVenue class
- Adding MapwizePlugin.grantAccess
- Removing Realm
- Adding support for mapboxMarkerClickListener, mapboxPolygonClickListener, mapboxPolylineClickListener.
- Improving support of different device resolution.
- Adding animation on location change
- Adding getUserHeading, setUniverse, setFloorForVenue, getPreferedLanguage.
- Removing out-of-floor icons
- Adding support for custom Mapwize server
- Fixing bugs
- Adding support for mainColor
- Adding API methods
- Exposing okhttp client