Android SDK Release Notes

The Android SDK release notes describe recent improvements, fixes, and new features for the Meridian Android SDK which can be used to create new Android Meridian-powered apps or incorporate Meridian functionality in existing Android apps.

SDK (Android)

Go here to download the latest version of the Android SDK.

October 26, 2017 - 3.9.0

  • Fixed: A crash related to searching for a map.
  • Fixed: An issue where Android Oreo was interfering with location services.

September 28, 2017 - 3.8.0

  • Fixed: A bug related to paginated requests.
  • Fixed: Even when the compass was turned off, the reorientation message would appear.
  • Fixed: Miscellaneous bug fixes and performance improvements.
  • Fixed: The accessibility icon was appearing in the wrong location.

August 24, 2017 - 3.7.0

  • Fixed: Issues related to an upcoming feature.
  • Improved: Better internal metrics.
  • Improved: Increased the minimum GPS constant to 10 meters.

July 27, 2017 - 3.6.0

  • Fixed: A bug related to an upcoming feature.
  • Fixed: Miscellaneous bugs.
  • Fixed: The map label wasn't showing the map name correctly.
  • Improved: Support for a new upcoming endpoint.

June 20, 2017 - 3.5.0

  • Fixed: The animated route loading animation wasn't visible on 4.x device.
  • Improved: Active Campaigns now support on exit triggers.
  • Improved: New API endpoints for simulated location and campaign triggers.
  • Improved: The externalID field has been added to the asset tracking API endpoint.

May 31, 2017 - 3.4.0

  • Fixed: Campaign dwell times weren't being reported to the Editor.
  • Fixed: Sometimes the app would crash when switching locations while a route was being plotted.
  • Fixed: The SDK now uses the new maps API endpoint.
  • Improved: Better search for an upcoming feature.
  • Improved: Better support for TalkBack/Accessibility.
  • Improved: The new Search API is now available.
  • Improved: The Samples app points to a new, read-only location.
  • Improved: There's better messaging when a map can't be loaded.
  • New: Support for an upcoming feature.

April 18, 2017 - 3.3.0

  • Fixed: The default placemark zoom levels match iOS now.
  • Fixed: The Directions and Show My Location buttons weren't vertically aligned. They are now.
  • Fixed: The Samples app reorient message wasn't disappearing after canceling directions.
  • Improved: Making sure things are working right for an upcoming feature.
  • Improved: The Samples app no longer includes the Meridian app token. Please use your own app token.
  • Improved: We've put the application token in a "shared" location to make it easier to set up location sharing and other upcoming features.
  • New: Internal admin tools.

March 27, 2017 - 3.2.0

  • Fixed: Miscellaneous bugs.
  • Fixed: There was a bug related to manually advancing directions.
  • Improved: Performance tweaks.
  • Improved: The Location button behavior is now customizable.
  • Improved: When the routing compass is enabled, there are orientation alerts that will tell you if you're facing away from a route's direction.

February 22, 2017 - 3.1.0

  • Fixed: The blue dot had an excessive delay when updating to the user's current location.
  • Fixed: The compass direction would flip when the device was rotated downward past the horizontal.
  • Fixed: The default style for an inaccessible area is full white with full opacity. This was causing problems because this was also the style for unset colors. It renders correctly now.
  • Improved: The double-tap zoom is smooth now.
  • New: A two-finger single tap gesture zooms out.
  • New: The SDK checks if all required dependencies have been added to the project.

January 27, 2017 - 3.0.0

  • Added: Customizable rerouting parameters.
  • Fixed: An occasional crash when loading placemarks.
  • Fixed: Certain BuildConfig values were being ignored.
  • Fixed: Ellipse map elements render.
  • Fixed: Issues with compass calibration and accuracy.
  • Fixed: Push notifications weren't being received on Android 7.
  • Improved: Consolidated loading spinner and MapLabel when loading placemarks.
  • Improved: The blue dot compass is a cone instead of an arrow, matching iOS.
  • Improved: Zoom levels adjusted to match iOS SDK.

December 14, 2016 - 2.19.0

  • Fixed: Adjusted text size on default PlacemarkMarker.
  • Fixed: The Map Name label is back.
  • Improved: More consistent results for the new PlacemarkRequest.
  • Improved: More predictable and consistent zoom while navigating.
  • New: MapFragment and Mapview can now be initialized with a placemark key. This will cause them to load only a single placemark.
  • New: Asynchronous loading for large sets (100+) of placemarks.

November 4, 2016 - 2.18.0

  • Fixed: The Map Controls are now hidden correctly.
  • Fixed: The My Location button was immediately causing an error when a location hadn't been generated. It now starts a loading spinner.
  • Fixed: The SDK calls onMapRenderFinished after initial centering of the MapView, instead of before.
  • Improved: Location accuracy.
  • Improved: The placemark UID is now accessible.
  • New: Minimum supported Android API is 16.
  • New: The SDK uses the new placemarks API.

September 29, 2016 - 2.17.0

  • Fixed: The location button wasn't hidden properly.
  • Improved: In the map picker, buildings are sorted alphabetically and map levels are sorted in descending order.
  • New: The GPS accuracy threshold value is now modifiable.

September 22, 2016 - 2.16.1

  • Fixed: Apps crashed when a Location Sharing friends icon was tapped.

September 20, 2016 - 2.16.0

  • Fixed: If a placemark was selected and a user chose a different floor using the map level picker, the selected placemark appeared on the new map.
  • Fixed: If the map level picker was opened, and then closed by tapping outside the menu, a white circle was rendered on the map.
  • Fixed: On some devices, the selected placemark icon underlay was offset too much.
  • Fixed: Some Location Sharing friend icons were larger than others.
  • Fixed: The formatting and alignment of the placemark text callout was inconsistent.
  • Fixed: The map level picker wasn't visible on some overview maps.
  • Improved: Map UI design.
  • Improved: The routing context menu was too small to tap easily. It's now a bit larger.
  • New: Blue dot compass can now be enabled/disabled.

August 4, 2016 - 2.15.3

  • Added: Diagnostics includes zoom level.
  • Added: Support for reading per map maximum zoom values from the Editor.
  • Fixed: An issue involving an upcoming feature.
  • Improved: Default settings for an upcoming feature.
  • Improved: Routing advancement.
  • Improved: We're using the New Search Level Picker as the default floor selector.

June 29, 2016 - 2.15.2

  • Added: It's now possible to enable a compass arrow on user's the blue dot location. GPS coordinates are required for the compass arrow to work.
  • Fixed: Bluetooth hardware on some Samsung devices was causing a stack crash.

June 22, 2016 - 2.15.1

  • Added: getCampaignId(Intent i) in the CampaignBroadcastReciever.
  • Added: Language updates.
  • Fixed: Crashing when Beacon RSSIs were updated while Beacons were being sorted.
  • Fixed: GPS exclusion areas used on multiple maps weren't being calculated correctly.
  • Fixed: Location generation data wasn't being updated appropriately when switching between locations.
  • Fixed: Map rendering would intermittently stall.
  • Fixed: Placemarks without names weren't showing on the map.
  • Fixed: The default GPS accuracy was set to zero.

April 25, 2016 - 2.15.0

  • Added: New Location Sharing feature. Please see the Meridian Samples project in the SDK for example usage.
  • Added: New map level picker designed for large numbers of maps. Enable it with Meridian.getShared().setPickerStyle().
  • Fixed: The creation process for some maps was causing the app to crash.
  • Improved: General location generation and smoothing improvements.
  • Improved: Map rendering is done on demand, instead of continuously.
  • Improved: The default routing snap to route distance can be set with Meridian.getShared(),setRouteSnapDistance().
  • Improved: The maximum zoom level can be set globally with Meridian.getShared().setDefaultMaxMapZoom().
  • Improved: Transparent markers are ignored for collision.

January 28, 2016 - 2.14.6

  • Added: Email crash reporting to AppViewer's Samples app.
  • Added: Native library support for the armabi-v8a ABI for better CPU performance.
  • Added: New onLocationUpdated callback to MapFragment to improve location performance.
  • Fixed: BLE scans were blocking Wi-Fi on some shared Wi-Fi/Bluetooth antennae hardware.
  • Fixed: Blue dot occasionally vanished during map switching.
  • Fixed: Crash when switching maps while routing.
  • Fixed: On some LG devices running Android 4.x, BLE scans were causing the UI to stutter.
  • Fixed: Some location performance issues.
  • Improved: Beacon detection.
  • Improved: Better smoothing.
  • Improved: Device identifiers are more reliably unique.
  • Improved: Routing step distances update as a user changes location.
  • Updated: Now using Android API 23 style permissions. Older manifest permission still work.

November 20, 2015 - 2.14.5

  • Added: User location can now be simulated for development builds. See Simulating Location in the README.
  • Fixed: A crash caused by some listeners unexpectedly being null.
  • Fixed: A native crash when removing Markers in a specific order.
  • Fixed: Markers that were added to the map and then moved to the bottom of the weight priority were failing to render.
  • Fixed: Units per meter were being incorrectly calculated for some maps with a rare arrangement of GPS reference points.
  • Fixed: ZoomLevels were being calculated incorrectly with some screen densities.
  • Improved: Campaign reporting.

September 8, 2015 - 2.14.4

  • Added: Support for Alpha and Scale animations for Markers.
  • Added: Support for minimum and maximum visible zoom levels for Markers.
  • Fixed: Areas not being set on Placemarks.
  • Fixed: Crash caused by rapidly switching back and forth between maps while animations were active.

August 17, 2015 - 2.14.3

  • Added: MapInfo methods for converting between latitude/longitude and Meridian map coordinates.
  • Fixed: Various map-related crashes.
  • Improved: Proguard exceptions.
  • Fixed: Corrupted transparency issue when the same bitmap is used for multiple Markers.

July 27, 2015 - 2.14.2

  • Added: Markers have invalidate methods that will update Marker properties and bitmaps.
  • Added: Propagate Proguard rules.
  • Added: Support for manually setting the PlacemarkMarkers icon.
  • Added: Support for right-to-left languages, such as Hebrew and Arabic.
  • Fixed: Added Markers vanished when the map reloaded.
  • Fixed: Various map-related crashes.
  • Improved: Auto re-routing for an improved end-user experience.

July 1, 2015 - 2.14.1

  • Added: Example proguard rules in the MeridianSamples project.
  • Added: Report analytics to the Meridian Editor.
  • Added: Two new Map Markers properties--ScaleFixedToMap and RotationFixedToMap. Enables locking Markers to the scale and rotation of the map, as opposed to the screen.
  • Fixed: Marker weights to order both colliding and non-colliding Markers properly.
  • Improved: Moved all MapView and MapFragment listener callbacks to the main thread. (The Marker's getBitmap and all Transaction callbacks are on the GLThread. Make sure to return quickly and catch exceptions to avoid a native crash.)
  • Improved: Native layer memory.
  • Improved: Stability fixes for the MapView when setting keys not attached to a window.

June 16, 2015 - 2.14.0

  • Added: MapEventListener method for easier notification of map transforms changing.
  • Added: Transaction animation times are configurable, as well as callbacks for when Transactions are added to the map and their initial animation has completed. (In the Samples app, see CustomMarkerFragment for examples.)
  • Improved: Map Markers allow for Marker Transactions to be added, modified, or removed.
  • Improved: Marker objects can be weighted to adjust priority during collision.
  • Improved: Marker rendering performance.
  • Improved: Pausing and resuming on Android 5+ devices conserves battery more effectively.
  • New: Marker objects can toggle Collision.

May 28, 2015 - 2.13.12

  • Fixed: Crashing issue on Android 5+ devices.
  • Fixed: Exit campaigns firing when a proximity beacon was never seen.
  • Fixed: OpenGL generating excessive log spam.
  • Improved: Marker rendering performance.
  • MapView: Added support for setting background color.
  • MapView: Added frame time limiter to improve battery use.

April 13, 2015 - 2.13.11

  • Added: Snap to route and auto rerouting. These are disabled by default and must be enabled in the Meridian class.
  • Added: Support for hiding PlacemarkMarker names.
  • Fixed: Black screen when animating a MapView.
  • Fixed: Routing bug causing "Route not found" errors for devices set to Spanish
  • MapEventListener: Updated to show when a map is loaded and rendered. (see README)
  • onDirectionsStart: Added to MapDirectionsListener to show when directions have finished loading and are being displayed.
  • Updated: Moved initial configuration into a Meridian singleton. (see README)

March 17, 2015 - 2.13.10

  • Added: Support for Campaign Push through the Editor. (see README)
  • Added: Support for clearing a MapView by setting its MapKey to null.
  • Fixed: Placemarks not showing with more than 500 placemarks on a map.
  • Fixed: Prompt for bluetooth to be turned on when already enabled.
  • Fixed: MapOptions not being propagated correctly to the MapFragment.
  • Fixed: Crash caused by lack of network connectivity.
  • Fixed: Campaign reset delay bug.

February 24, 2015 - 2.13.9

  • Added: Support for directions arrows for devices set to a non-English language.
  • Fixed: Campaign notifications not triggering correctly.
  • Fixed: Crash when clearing the map in a MapView during onPause/onResume.
  • Fixed: Route vanishing after onPause/onResume when using MapView directly.

February 13, 2015 - 2.13.8

  • Fixed: Crash related to poor network connectivity.
  • Fixed: NullPointerException caused by a threading issue in MeridianLocationService.

February 10, 2015 - 2.13.7

  • Added: Cache timeout override properties to the Meridian class.
  • Added: Caching support for all web requests.
  • Added: Loading spinner to the MapFragment while the map is loading.
  • Added: New location issue reporting screen (hold down 2 fingers on any map)
  • Fixed: Dialogs on Samsung devices not canceling correctly.
  • Fixed: Map controls too small or misaligned.
  • Fixed: Related maps on placemarks not being followed when tapped.
  • MapItem: Removed in favor of explicit DirectionsSource and DirectionsDestination parameters.

January 12, 2015 - 2.13.6

  • Added: Ability to exclude specific placemark keys from SearchFragment results.
  • Added: More EditorKey static constructors.
  • Fixed: Crash when switching rapidly between maps.
  • Fixed: Directions using a single placemark as a source were not generating a route.
  • Fixed: Routes were not clearing appropriately on fragment resume.
  • Updated: Improved Samples app.
  • Updated: Reorganized listeners on MapView and MapFragment to make implementations simpler. (see README)