- Version 2.86.3 - May 25, 2023
- Version 2.86.2 - May 15, 2023 - [Stable]
- Version 2.86.1 - May 10, 2023
- Version 2.86.0 - May 08, 2023
- Version 2.85.3 - April 24, 2023
- Version 2.85.2 - April 3, 2023
- Version 2.85.1 - March 20, 2023
- Version 2.85.0 - March 2, 2023 - [Stable]
- Version 2.84.0 - February 14, 2023
- Version 2.83.9 - February 13, 2023
- Version 2.83.8 - January 31, 2023
- Version 2.83.7 - January 27, 2023
- Version 2.83.6 - January 19, 2023
- Version 2.83.5 - January 10, 2023
- Version 2.83.4 - December 28, 2022
- Version 2.83.3 - December 19, 2022
- Version 2.83.2 - December 16, 2022
- Version 2.83.1 - December 14, 2022
- Version 2.83.0 - November 29, 2022
- Version 2.82.1 - November 28, 2022
- Version 2.82.0 - November 16, 2022
- Version 2.81.0 - November 04, 2022 - [Stable]
- Version 2.80.1 - October 03, 2022
- Version 2.80.0 - September 30, 2022
- Version 2.79.2 - September 19, 2022
- Version 2.79.1 - September 6, 2022 [beta]
- Version 2.79.0 - August 22, 2022
- Version 2.78.0 - August 2, 2022
- Version 2.77.0 - July 8, 2022
- Version 2.76.2 - June 14, 2022
- Version 2.76.1 - May 25, 2022
- Version 2.76.0 - May 10, 2022
- Version 2.74.2 - April 27, 2022
- Version 2.74.1 - March 28, 2022 - [Stable]
- Version 2.74.0 - March 16, 2022
- Version 2.73.0 - February 10, 2022
- Version 2.72.0 - December 20, 2021
- Version 2.71.2 - November 25, 2021
- Version 2.71.1 - November 16, 2021
- Version 2.71.0 - November 15, 2021
- Version 2.70.4 - October 27, 2021
- Version 2.70.3 - October 20, 2021
- Version 2.70.2 - September 30, 2021
- Version 2.70.1 - September 22, 2021
- Version 2.70.0 - September 8, 2021
- Version 2.69.1 - August 17, 2021
- Version 2.69.0 - July 28, 2021
- Version 2.68.8 - July 16, 2021
- Version 2.68.7 - June 30, 2021
- Version 2.68.6 - June 03, 2021
- Version 2.68.5 - June 01, 2021
- Version 2.68.4 - May 24, 2021
- Version 2.68.3 - May 19, 2021
- Version 2.68.2 - April 12, 2021
- Version 2.68.0 - March 12, 2021
- Version 2.67.2 - January 27, 2021
- Version 2.67.1 - January 11, 2021
- Version 2.67.0 - December 17, 2020
- Version 2.66.0 - December 09, 2020
- Version 2.65.0 - November 24, 2020
- Version 2.64.1 - November 11, 2020
- Version 2.63.2 - November 02, 2020
- Version 2.63.1 - October 01, 2020
- Version 2.63.0 - September 15, 2020
- Version 2.62.0 - August 25, 2020
- Version 2.61.1 - August 05, 2020
- Version 2.61.0 - July 23, 2020
- Version 2.60.2 - July 16, 2020
- Version 2.60.1 - June 23, 2020
- Version 2.60.0 - June 15, 2020
- Version 2.59.2 - June 09, 2020
- Version 2.59.1 - June 04, 2020
- Version 2.59.0 - June 01, 2020
- Version 2.58.1 - May 18, 2020
- Version 2.58.0 - April 21, 2020
- Version 2.57.1 - April 13, 2020
- Version 2.56.0 - March 09, 2020
- Version 2.55.0 - March 03, 2020
- Version 2.54.0 - February 26, 2020
- Version 2.53.0 - February 20, 2020
- Version 2.52.0 - February 17, 2020
- Version 2.51.0 - February 12, 2020
- Version 2.50.1 - February 06, 2020
- Version 2.50.0 - February 05, 2020
- Version 2.49.0 - February 04, 2020
- Version 2.48.1 - January 30, 2020
- Version 2.48.0 - January 23, 2020
- Version 2.47.0 - January 21, 2020
- Version 2.46.7 - January 16, 2020
- Version 2.46.6 - December 20, 2019
- Version 2.46.5 - December 13, 2019
- Version 2.46.4 - November 25, 2019
- Version 2.46.3 - November 20, 2019
- Version 2.46.2 - November 14, 2019
- Version 2.46.1 - November 08, 2019
- Version 2.46.0 - November 06, 2019
- Version 2.45.0 - October 29, 2019
- Version 2.43.0 - October 08, 2019
- Version 2.42.0 - October 03, 2019
- Version 2.41.1 - October 01, 2019
- Version 2.41.0 - September 20, 2019
- Version 2.40.0 - July 11, 2019
- Version 2.39.0 - June 26, 2019
- Version 2.38.0 - June 06, 2019
- Version 2.37.11 - June 03, 2019
- Version 2.37.6 - May 22, 2019
- Version 2.37.3 - May 13, 2019
- Version 2.37.0 - April 16, 2019
- Version 2.36.0 - April 09, 2019
- Version 2.35.1 - March 27, 2019
- Version 2.35.0 - March 25, 2019
- Version 2.34.1 - March 14, 2019
- Version 2.33.0 - March 12, 2019
- Version 2.32.3 - March 07, 2019
- Version 2.32.2 - March 06, 2019
- Version 2.32.1 - February 27, 2019
- Version 2.32.0 - February 21, 2019
- Version 2.31.5 - February 20, 2019
- Version 2.31.3 - February 11, 2019
- Version 2.31.2 - January 28, 2019
- Version 2.31.0 - January 11, 2019
- Version 2.30.4 - December 20, 2018
- Version 2.30.3 - December 18, 2018
- Version 2.30.1 - December 04, 2018
- Version 2.30.0 - November 27, 2018
- Version 2.29.1 - November 22, 2018
- Version 2.29.0 - November 20, 2018
- Version 2.28.1 - November 15, 2018
- Version 2.28.0 - November 08, 2018
- Version 2.27.0 - October 31, 2018
- Version 2.26.2 - October 23, 2018
- Version 2.26.0 - October 18, 2018
- Version 2.25.6 - October 15, 2018
- Version 2.25.5 - October 02, 2018
- Version 2.25.4 - September 18, 2018
- Version 2.25.3 - September 12, 2018
- Version 2.25.2 - September 06, 2018
- Version 2.25.1 - September 04, 2018
- Version 2.25.0 - August 27, 2018
- Version 2.24.3 - August 20, 2018
- Version 2.24.2 - August 06, 2018
- Version 2.24.0 - July 24, 2018
- Version 2.23.0 - June 28, 2018
- Version 2.22.0 - June 19, 2018
- Version 2.21.1 - June 05, 2018
- Version 2.21.0 - May 24, 2018
- Version 2.20.1 - May 23, 2018
- Version 2.20.0 - May 21, 2018
- Version 2.19.0 - May 16, 2018
- Version 2.18.2 - May 02, 2018
- Version 2.18.0 - April 17, 2018
- Version 2.17.0 - March 22, 2018
- Version 2.16.0 - February 28, 2018
- Version 2.15.0 - February 20, 2018
- Version 2.14.3 - January 30, 2018
- Version 2.14.2 - January 22, 2018
- Version 2.14.0 - January 09, 2018
- Version 2.13.0 - December 20, 2017
- Version 2.12.1 - December 13, 2017
- Version 2.12.0 - November 29, 2017
- Version 2.11.0 - November 14, 2017
- Version 2.10.1 - November 07, 2017
- Version 2.10.0 - October 31, 2017
- Version 2.9.0 - September 18, 2017
- Version 2.8.1 - September 11, 2017
- Version 2.8.0 - September 04, 2017
- Version 2.7.0 - August 02, 2017
- Version 2.6.0 - June 30, 2017
- Version 2.5.0 - June 07, 2017
- Version 2.4.0 - May 12, 2017
- Version 2.3.0 - April 26, 2017
- Version 2.2.0 - April 20, 2017
- Version 2.1.0 - April 10, 2017
- Version 2.0.1 - March 31, 2017
- Version 2.0.0 - March 28, 2017
- Version 1.66g - February 15, 2017
- Version 1.66e - November 23, 2016
- Version 1.66d - September 27, 2016
- Version 1.66c - September 20, 2016
- Version 1.66b - September 01, 2016
- Version 1.66 - August 30, 2016
- Version 1.65c - July 28, 2016
- Version 1.65b - July 22, 2016
Version 2.86.3 – May 25, 2023 #
Changed
- We have updated the removeUpdates() method to immediately emit the LocationStatus.STOPPED state through the method LocationListener#onStatusChange(LocationStatus).
- The implementation of the toMap() method in the Route and RouteStep objects has been updated to correct a typo: the value of TO is now in lowercase for consistency with the rest of the fields. “TO” was maintained to avoid compatibility issues.
- Internal improvements and code optimizations.
Version 2.86.2 – May 15, 2023 – [Stable] #
Changed
- Fixed an error added in version 2.86.1. In some cases LocationStatus.USER_NOT_IN_BUILDING took to much time to be sent
Version 2.86.1 – May 10, 2023 #
Changed
- Improved positioning in outdoor geofences when following a route.
Fixed
- Fixed bug that caused USER_NOT_IN_BUILDING not to be returned when the GNSS position does not match the position of the building in which it is trying to be positioned.
- Fixed bug that could provoke to return the initial poses near coordinates 0,0 if that area in the building is passable.
Version 2.86.0 – May 08, 2023 #
Changed
- When useForegroundService is false and the app goes to background more than 30 seconds then when it returns to foreground the positioning will be automatically restarted.
- Internal improvements and code optimized.
Version 2.85.3 – April 24, 2023 #
Fixed
- Fixed Indication#toMap() returns enum type at orientationType instead of String.
Changed
- Improved GNSS based out of building detector.
Version 2.85.2 – April 3, 2023 #
Changed
- Changed ble scanning behaviour that could cause some bluetooth devices to disconnect momentarily.
- Changed Out of Building estimation to be coherent with the sensors used in the building detector.
Fixed
- Fixed bug in positions cache which could make the first positions to be incorrect.
Version 2.85.1 – March 20, 2023 #
Changed
- Improves positioning orientation when the compass does not work correctly.
Version 2.85.0 – March 2, 2023 – [Stable] #
Fixed
- Fixed the sequence of actions STARTING and CALCULATING notified in reverse order at LocationListener#onStatusChanged in Global Mode.
Changed
- Performed internal refactors that improve stability in cases where the SDK and the Wayfinding module coexist.
Version 2.84.0 – February 14, 2023 #
Added
- Added new methods addLocationListener(LocationListener), removeLocationListener(LocationListener) and removeAllLocationListeners() to LocationManager. With these methods you can subscribe and unsubscribe to the SitumSdk positioning and receive location updates, status codes and errors. This new API is especially useful in scenarios where the SDK and Wayfinding coexist.
- Added new method overloads requestLocationUpdates(LocationRequest) and removeUpdates(). These new methods allow you to start and stop positioning while keeping references to previously set LocationListeners.
- To maintain compatibility with older versions of the SDK, LocationManager#requestLocationUpdates(LocationRequest, LocationListener) will start positioning but also remove any other LocationListener references.
- Added the method LocationManager#getLocationRequest() to retrieve the LocationRequest used in the current positioning session. This is useful when using remote configuration as the values of the location request can be:
- Exactly those configured in the dashboard.
- The merge of remote and local parameters, if indicated when the positioning was started.
- Added support for Portuguese.
Fixed
- Fixed STOPPED status not being notified to LocationListener in building mode.
- LocationManager#isRunning() now returns true immediately after requesting location updates.
Version 2.83.9 – February 13, 2023 #
Fixed
- Fixed bug in which in the absence of sensor information the system temporarily returned an incorrect position before returning Out Of Building.
Changed
- Improved bearing quality estimation.
- Improved condition to return Out Of Building when positioning only with GNSS.
Version 2.83.8 – January 31, 2023 #
Changed
- Positioning improvements in outdoor fences
Version 2.83.7 – January 27, 2023 #
Fixed
- [Only in React native plugin] Crash that happened when you downloaded the Poi Category images
Version 2.83.6 – January 19, 2023 #
Added
Version 2.83.5 – January 10, 2023 #
Changed
- From now on, the ‘remote configuration’ option will always be set to true by default.
Version 2.83.4 – December 28, 2022 #
Changed
- Now you can start positioning using only indoor gps sensor, you no longer need to have BLE or WiFi enabled. Note that if you try to use this in a building not prepared to work with uncalibrated gps mode you won’t get any location.
Version 2.83.3 – December 19, 2022 #
Changed
- Added method toMap() for the domain public classes. This methods allows you to transform objects like Buildings or Geofences into an object of type Map<String, Object>. For more information check the Javadoc documentation.
Version 2.83.2 – December 16, 2022 #
Fixed
- Fixed Zip Path Traversal vulnerability. The Zip Path Traversal vulnerability is related to handling compressed archives and may prevent your app to be published on Google Play. The method fetchTilesFromBuilding(…) introduced the vulnerability in the SDK version 2.82.1 as it downloads and uncompresses a Zip file containing all the building map tiles. We have followed the documentation and now the vulnerability was completely fixed.
Version 2.83.1 – December 14, 2022 #
Version affected by Zip Path Traversal vulnerability. Fixed in version 2.83.2.
Added
- Added Turkish translations.
Version 2.83.0 – November 29, 2022 #
Version affected by Zip Path Traversal vulnerability. Fixed in version 2.83.2.
Changed
- Updated play-services-location library to version 21.0.1. If you use an older version of this library it may produce errors.
- When the user initiates positioning, the system calculates the position and the orientation of the user. Situm has improved the calculation of the orientation, being now more exact, especially when the user starts the positioning and user is stopped (most complicated case to calculate the orientation).
- When the user is outside building and leaves navigable zone, the system notifies an “out of building” message. If the user came back to the navigable area, the system took time to calculate a correct position. In this version, system reduces considerably the time it takes for calculate correct position.
- In the same building there can be floors that have been calibrated and exterior floors which is not necessary to calibrate, for example terraces. In this version, sytem has reduces the time it takes to detect change floor made by the user.
Version 2.82.1 – November 28, 2022 #
Version affected by Zip Path Traversal vulnerability. Fixed in version 2.83.2.
This is the recommended version if you’re targeting Android 13 (although previous versions will also work if you add the permission POST_NOTIFICATIONS to your Manifest).
Added
- New permission POST_NOTIFICATIONS for Android >= 13 devices.
- Added a new feature to download map tiles for a specific building. Tiles allow you to upload really large floor plans while maintaining a high display quality. We are publishing a specific API at CommunicationManager to manage map tiles, both online and offline:
- fetchTilesFromBuilding(buildingId, callback): download all the map tiles for the given building (provides offline map tiles).
- getTileFromBuilding(buildingId, floorId, x, y, zoom): returns a specific tile for the given building and floor. The Tile object will contain a path to the internal storage if it was previously fetched, otherwise a URL.
- invalidateTiles(): delete any tiles previously downloaded.
Changed
- SDK target & compile versions have been upgraded to API 33.
- Some deprecated methods have been refactored.
- autoEnableBleDuringPositioning(Boolean) does not work in Android 13. Learn how to auto-enable ble in this version here.
Version 2.82.0 – November 16, 2022 #
Added
- New method setLanguage(String code) that allows you to force the language in which you want the cartography names and info. In order of this to work you have to have it configured in the dashboard.
- New permission android.permission.HIGH_SAMPLING_RATE_SENSORS. We need this permission to be able to make fast scans of the gyro.
- EXPERIMENTAL New methods in PoiCategory getUnselectedIconBase64() and getSelectedIconBase64. This returns the images of the PoiCategory as a string coded in base64. Right now the strings comes empty because it is disabled by default.
Version 2.81.0 – November 04, 2022 – [Stable] #
Added
- New parameters in PoiCategory to obtain the poi image coded in base64.
Changed
- Now if the base64 string is available the images are never downloaded.
- Gps provider from Android to Google. If the google provider is not available in the device the Android provider will be used
Fixed
- Remote configuration now works offline
Version 2.80.1 – October 03, 2022 #
Changed
- Now the cartography objects (Building,POI,Floor) name and info (when the object has it) comes translated to the current phone language if they are configured in the dashboard. To configure this you have to put a custom field in the object you want with “name_en” as key and the name you want as value. You can put the language code that you want after “name_”.
Version 2.80.0 – September 30, 2022 #
Added
- SDK detects when the user enters or leaves geofences and advises it by GeofenceListener methods
Version 2.79.2 – September 19, 2022 #
Added
- Added Arabic translations.
Changed
- Beacon’s UUIDs filter was added again.
Version 2.79.1 – September 6, 2022 [beta] #
Changed
- Any beacon uuid can be now used for calibrating and positioning without any configuration
Version 2.79.0 – August 22, 2022 #
Added
- Added a new method DirectionsRequest.Builder#excluding(Circle). When requesting directions between two points, this method allows you to specify exclusion areas. The route will never contain a path that collides with the given circle, for example:
DirectionsRequest request = new DirectionsRequest.Builder() .from(a) .to(b) .excluding(new Circle(c, radius)) .build(); SitumSdk.directionsManager().requestDirections(request, …); // The given route will avoid the point c.
Version 2.78.0 – August 2, 2022 #
Added
- New functionality External provider locations. You can learn more about it in our documentation.
Changed
- Reduced time in the floor transitions
Fixed
- Problem with the accesible routes. They now work as intended
Version 2.77.0 – July 8, 2022 #
Added
- New LocationStatus AUTO_ENABLE_BLE_FORBIDDEN.
Fixed
- Bug reported on Huawei devices. Now autoEnableBluetooth mode is disabled on Huawei devices due to behaviour issues.
Version 2.76.2 – June 14, 2022 #
Fixed
- Fixed a crash on Android 12 devices produced when the bluetooth permissions (BLUETOOTH_SCAN and BLUETOOTH_CONNECT) are denied but the positioning is requested anyway.
Now the SDK notifies the new error MISSING_BLUETOOTH_PERMISSION.
Added
- MISSING_BLUETOOTH_PERMISSION error code at LocationManager.Code.
Version 2.76.1 – May 25, 2022 #
Changed
- Improved encryption security
Version 2.76.0 – May 10, 2022 #
Changed
- Downgrade Gradle version to 6.9 from 7.0.2 and Gradle Plugin Version to 4.2.2 from 7.0.2. The newer versions caused a crash in release versions when compiling apps with older Gradle versions.
Version 2.74.2 – April 27, 2022 #
Added
- Location includes rotation matrix data when positioning outdoor. This rotation is provided by the Android operating system.
- OutdoorLocationOptions.updateInterval no longer has a 1000ms minimum limit. This parameter now allows faster intervals. The default value is still 1000ms, but for AR applicaitons we recommend 62ms for a better user experience.
- We have slightly improved the speed at which we can calculate the user’s orientation once inside the building, allowing for a more seamless transition between outdoor and indoor positioning in AR apps.
Version 2.74.1 – March 28, 2022 – [Stable] #
Changed
- Update ARCore dependency version to 1.30.0
Version 2.74.0 – March 16, 2022 #
Added
- Location includes rotation matrix data when positioning indoor and deadReckoning is active. In the context of Android sensors, the rotation matrix allows you to map a point from the co-ordinate system of the phone (where the phone itself lies in the x-y plane) to the real world North/East/”Gravity-direction” co-ordinate system.
Version 2.73.0 – February 10, 2022 #
Added
- Added a fetchRemoteConfiguration(LocationRequest, Handler) method overload in CommunicationManager. This method gets the Remote Configuration and merges the given LocationRequest with the remote one so you can obtain all the parameters used in your positioning requests.
Improved
- Improves positioning initialization in buildings with large extensions of outdoor surface using the gps sensor.
Version 2.72.0 – December 20, 2021 #
Added
- Permission: android.permission.SCHEDULE_EXACT_ALARM. This mode is required to implement anti-DOZE meassures that keep Situm SDK running in the background.
Changed
- SDK now compiles and targets sdkVersion 31 (Android 12).
- The minimum supported version has been updated to sdkVersion 21 (Android 5.0). Official support has been withdrawn more than one year ago.
- A large amount of the SDK’s dependencies have been updated to their latest versions.
Removed
- Open Sky Detector is no longer available on devices running Android 12. It will still work on devices with Android 11 or lower. This feature has been deprecated and will be removed in future versions of the SDK.
Notes
Warning: Two new runtime permissions are required to guarantee the SDK functions correctly: android.permission.BLUETOOTH_SCAN and android.permission.BLUETOOTH_CONNECT. These permissions must be requested at runtime just like android.permission.ACCESS_FINE_LOCATION , for most SDK functionality involving bluetooth.
Warning: For this version of the SDK to work properly on Android 12 devices and above, the host app must target android api 31 or above.
Version 2.71.2 – November 25, 2021 #
Fixed
- Battery Saver now works when the RealtimeUpdateInterval is Never.
Removed
- Removed app icons added by mistake in the version 2.71.0
Version 2.71.1 – November 16, 2021 #
Changed
- An error is thrown with the correct code when the token expires and the sdk tries to obtain a new one. Previously, it always had the code 0.
- Removed redundant parameters cartesianPitch and cartesianRoll. Use pitch and roll instead.
Version 2.71.0 – November 15, 2021 #
Added
- The SDK can now restart bluetooth sensors if it suddenly stops detecting BLE signals. This has been implemented to mitigate the know issue where bluetooth sensors may stop detecting BLE signals without notice.
- Location now includes 3D orientation values pitch and roll. DeadReckoning must be on for these values to be calculated by the SDK.
Fixed
- Fixed bug where the floor plan’s rotation was not taken into account for movable buildings. This resulted in the user not positioning correctly on the Y axis in a movable building if the building floor plan was not horizontal.
Version 2.70.4 – October 27, 2021 #
Updated
- Updated CommunicationManager#invalidateCache() to also clear local database tables.
- Updated the cache strategy used to fetch points of interest custom fields. This keeps positioning information up to date and ensures that the SDK status is consistent even in environments that are still in testing (where positioning information changes frequently).
Fixed:
- Fixed a bug that led to erroneous building detections in changing environments.
Version 2.70.3 – October 20, 2021 #
Fixed
- From REST API v 1.86.1, if your account has beacons with the same major & minor, those will not be returned and therefore the the SDKs will not use them during the building detection process (WIFI_AND_BLE or BLE). However, under some edge circumstances the SDK used other beacon information (including repeated beacons if there were some in the account) and this resulted (sometimes) in a wrong building selection. This problem has been fixed and the building selection should work fine.
Version 2.70.2 – September 30, 2021 #
Fixed
- Fix a crash in the positioning mode added in the version 2.70.0
Version 2.70.1 – September 22, 2021 #
This version crashes in the indoor positioning mode. The version 2.70.2 fix this.
Fixed
- Always notify WiFi throttling when it is detected. The bug in the detection was added in a recent version
Version 2.70.0 – September 8, 2021 #
This version crashes in the indoor positioning mode. The version 2.70.2 fix this.
We have published a blog entry about this release here
Changed
- Migrated SDK to AndroidX libraries.
- Updated dependency protobuf-lite to protobuf-javalite.
- Other minor dependency updates
Removed
- Android Support Library is no longer supported. If you want to update to this or future versions of the SDK please migrate your project to AndroidX. Android Studio can migrate your project automatically.
Known Issues
Migrating to Situm SDK 2.70.0 from older versions can cause problems if your project contains old configurations. If that is your case, we recommend that you review the following checklist in your Android project:
- Check that you have already replaced all the support libraries by their counterparts in AndroidX.
- Update the Gradle version in your “gradle-wrapper.properties” file. There is not a recommended version, just update to a newer version and most of the time this will solve it.
- Update the Android Gradle plugin. We recommend using version 4.2 or higher. Also check that the Gradle version is supported (version 4.2 of the AGP requires Gradle 6.7 or higher).
- Check the JDK version used to run Gradle. From the Android Studio settings screen, or through the “org.gradle.java.home” entry in your “gradle.properties” file, check your Java home and also the compatibility with the Gradle version (for example, AGP 7 requires JDK11).
- Kotlin Gradle Plugin. We have experienced problems with kapt in versions lower than 1.3.72.
Notice that since Kotlin 1.4 it is not necessary to declare stdlib dependencies. - The Kotlin coroutines library. Update the version of the artifacts inline with the language version.
- Finally update third party dependencies.
- We have found problems using moshi 1.8. If that is your case, just update to a newer version (latest is 1.12).
Version 2.69.1 – August 17, 2021 #
Added
- Native support for querying the system about the status of WiFi Throttling on the device. This
allows Situm SDK to detect the current device state and automatically update the WiFi scan rate. Prior to this addition, WiFi Throttling was detected after exceeding the system scan limits, which produced a scan penalty time of aproximately two minutes in which it is not possible to receive WiFi scans.
Now WiFi Throttling can be detected beforehand in all versions except Android 10 (due to SO limitations), but you still can use LocationRequest.Builder#ignoreWifiThrottling method to avoid the two minutes of scan penalty time.
See the documentation for a full explanation. - Notifies LocationStatus.WIFI_SCAN_THROTTLED immediately when possible.
Due to a known issue this state will not be notified in Android 10 devices when the Global Mode is enabled. - A new method fetchRemoteConfig in CommunicationManager to asynchronously get the remote configuration values. A new object RemoteConfig is returned in a callback. It encapsulates a LocationRequest right now but is expected to grow in line with subsequent remote settings.
Fixed
- LocationRequest.Builder#ignoreWifiThrottling ignored when Global Mode is enabled.
- A crash produced by the use of invalid characters in a http header while getting the remote config.
- A bug produced when loading remote config with multiple accounts.
Upcoming changes
- We will update our dependencies in Situm SDK version 2.70.0. Notice that we will migrate to AndroidX as a replacement of Android Support Library. Therefore, all projects that want to incorporate the improvements added from version 2.70.0 onwards must also be migrated to AndroidX. We recommend that these projects also update their dependencies.
Version 2.69.0 – July 28, 2021 #
Added
- Enabled destructive migration fallback for SDK database. If a future version of the SDK needs to downgrade to this one and the database has suffered structural changes, the newer database will be wiped and this older version will be rebuilt.
- New functionality: Remote configuration. Now you can load the configuration from the Dashboard and the SDK will automatically use it if you enable it. You can learn more about this and how to use it here.
Removed
- The following list of deprecated methods have been removed:
- OutdoorLocationOptions.continuousMode()
- OutdoorLocationOptions.burstInterval()
- OutdoorLocationOptions.getMinNumberSatellitesToRunDetector()
- OutdoorLocationOptions.getMinSnrToUseSatellite()
- OutdoorLocationOptions.getMinPercentageToDetectOutdoor()
Version 2.68.8 – July 16, 2021 #
Fixed
- SDK returning duplicate positions every second. This does not affect Dead Reckoning
- If the SDK was running in the background and not using a Foreground Service, sometimes it would stop after being deprived from access to computing/sensor resources (probably caused by Doze Mode and Android energy saving policies). After this, the SDK state would be inconsistent and positioning could not be restarted.
Version 2.68.7 – June 30, 2021 #
Fixed a bug that caused CommunicationConfig to be ignored in prefetch. This caused floorplan images and POI icons to load during prefetch, although it was specified not to do so. The same happened with the specified cache strategy.
Version 2.68.6 – June 03, 2021 #
Fixed a bug in RealtimeClient added in a recent version that caused the listener to respond in a worker thread.
Version 2.68.5 – June 01, 2021 #
Fixed a bug that caused WIFI automatically turning on and off endlessly.
Fixed a bug that caused a crash if logout is called with a null callback.
Version 2.68.4 – May 24, 2021 #
Improved performance during prefetch. The SDK no longer blocks the main thread.
Fixed a bug that caused the SDK to stop positioning without updating its state to STOPPED
Modified the motion mode BY_CAR in order to improve performance of cleaning machines and forklifts positioning
Version 2.68.3 – May 19, 2021 #
Stop launching a dialog from the SDK when the wifi scanning is not always enabled
Improved the javadoc.
Version 2.68.2 – April 12, 2021 #
Fixed crash causing bug in scan based building selector
Version 2.68.0 – March 12, 2021 #
Now OrganizationTheme extends Resource
Fixed a crash in the building selector
Version 2.67.2 – January 27, 2021 #
Improved out of building detection when positioning with wifi and ble
Version 2.67.1 – January 11, 2021 #
Increase the time before starting the battery saving mode
Version 2.67.0 – December 17, 2020 #
Added CommunicationManager.fetchAllPOIsFromUser
Improved indoor positioning experience with Android 9 devices
Version 2.66.0 – December 09, 2020 #
Included options to control the interval of computing and updating outdoor locations
Version 2.65.0 – November 24, 2020 #
Add Location.customFields
Deprecated LocationRequest.IndoorProvider.SUPPORT
Fixed some bugs in the geofences positioning
Version 2.64.1 – November 11, 2020 #
Upgrade compileSdkVersion to 30
Upgrade targetSdkVersion to 30
Fixed ocasional crash when using OutdoorLocationOptions.useGeofencesInBuildingSelector
Version 2.63.2 – November 02, 2020 #
Removed unnecessary ACCESS_BACKGROUND_LOCATION permission
Version 2.63.1 – October 01, 2020 #
Improved the use of geofences in the building selector
Version 2.63.0 – September 15, 2020 #
Add new option LocationRequest.useLocationsCache to activate the position cache. If activated it will smooth dispersion of initial positions on starts that occur shortly after stopping..
Add new option OutdoorLocationOption.enableOpenSkyDetector to activate open sky detector. By default it is deactivated.
Version 2.62.0 – August 25, 2020 #
Add new option OutdoorLocationOptions.useGeofencesInBuildingSelector to use the geofences in global positioning. This will help the scans based detector (BLE,WIFI and WIFI_AND_BLE) select the building.
Version 2.61.1 – August 05, 2020 #
Fix bug in battery saver mode that caused the sdk to upload locations to realtime when it should not
Version 2.61.0 – July 23, 2020 #
Added new option OutdoorLocationOptions.enableOutdoorPositions(Boolean) that can be used stop the SDK returning outdoor positions while GlobalLocation is on. This new feature is incompatible with BuildingDetector.GPS_PROXIMTY.
Added support for building custom field use_gps. This custom field can be used to deactivate the use of gps data in indoor positioning for specific buildings.
Version 2.60.2 – July 16, 2020 #
Fixed a bug in the positioning notification, in Android 6 sometimes crashed and in other versions was not showed.
Version 2.60.1 – June 23, 2020 #
Fixed a bug in positioning, when starting sometimes the db was accesed in the main thread and caused a crash.
Version 2.60.0 – June 15, 2020 #
Add the geofences list in BuildingInfo.
Fixed a bug in the POI icons download when the SDK was updated from older versions
Version 2.59.2 – June 09, 2020 #
Fixed a bug in the realtime upload.
Version 2.59.1 – June 04, 2020 #
Updated CacheStrategy names. DEFAULT is now called TIMED_CACHE and FORCE_DOWNLOAD is now called IGNORE_CACHE.
Version 2.59.0 – June 01, 2020 #
Implemented new Configuration system for CommunicationManager. Deprecated methods with older configuration system.
Version 2.58.1 – May 18, 2020 #
Fixed a bug in positioning system that caused a crash
Version 2.58.0 – April 21, 2020 #
Added OutdoorLocationOptions.minimumOutdoorLocationAccuracy. With this option you can select the minimum accuracy that an outdoor position must have to be returned by the LocationListener
Version 2.57.1 – April 13, 2020 #
Fixed a bug in CommunicationManager.prefetchPositioningInfo. Sometimes there was some info that was not downloaded
Version 2.56.0 – March 09, 2020 #
Added LocationStatus.STOPPED that indicates when positioning has been stopped
Added LocationManager.ConfigurationError that is thrown when the LocationRequest is not configured properly
Fixed bug in positioning, sometimes the positioning stopped but an error was not notified
Version 2.55.0 – March 03, 2020 #
Added option LocationRequest.preloadInfo. If true, this option will download POI and Floor images on location start.
Fixed offline positioning bug.
Version 2.54.0 – February 26, 2020 #
Added error LocationManager.START_SERVICE_FAILED. This error is thrown if the positioning is started when the app is in background and LocationRequest.useForegroundService is false.
Version 2.53.0 – February 20, 2020 #
Added option OutdoorLocationOptions.centerPositionInBuildingDuringTransition to center position in building when transitioning from outdoor to indoor position while using BLE and/or WIFI based building detection.
Version 2.52.0 – February 17, 2020 #
Improved positioning startup times for global positioning using scans based building detection.
Version 2.51.0 – February 12, 2020 #
Change method CommunicationManager.prefetchInfo name to CommunicationManager.prefetchPositioningInfo and add Floor and POICategory images download. Improved the documentation.
Remove CommunicationManager.PREFETCH_INFO_ERROR
Version 2.50.1 – February 06, 2020 #
Indoor-outdoor positioning will notify of errors, and stop positioning ,while trying to obtain building information. Previously it would retry endlessly.
Version 2.50.0 – February 05, 2020 #
Added new methods to download all the info neccesary to position in the building or buildings you want. The methods are in CommunicationManager.prefetchInfo and you can download the info of all account buildings or some of them
Version 2.49.0 – February 04, 2020 #
Scans based building detection can now be configured to work while positioning. New option scansBasedDetectorAlwaysOn in OutdoorLocationOptions.Builder
Version 2.48.1 – January 30, 2020 #
Fix crash in the SDK init added in the version 2.46.7
Version 2.48.0 – January 23, 2020 #
Added CommunicationOptions.PRELOAD_IMAGES. Set this option to false when calling the methods of CommunicationManager to prevent the Floor and POI images from being downloaded when calling methods that do not download them specifically like fetchBuildingInfo or fetchFloorsFromBuilding
Improve load time to start positioning in big buildings
Version 2.47.0 – January 21, 2020 #
Added RealtimeUpdateInterval.NEVER option to never upload the locations to the realtime dashboard
Version 2.46.7 – January 16, 2020 #
Improve floor changes when the barometer is used
Minor fixes
Version 2.46.6 – December 20, 2019 #
Fix a bug that caused a memory leak
Version 2.46.5 – December 13, 2019 #
Fix a bug that blocks the main thread when positioning service is starting
Version 2.46.4 – November 25, 2019 #
Fix a bug in the method Configuration.allowInvalidSSLCertificate
Version 2.46.3 – November 20, 2019 #
Minor fixes and improvements
Version 2.46.2 – November 14, 2019 #
Update targetSdkVersion to 28
Version 2.46.1 – November 08, 2019 #
Fixed an issue with positions file upload in different locales.
Version 2.46.0 – November 06, 2019 #
Added new functionality to follow devices (beacons) of your interest.
Version 2.45.0 – October 29, 2019 #
Added new functionalities to directions API
Added support to background positioning in Android 10
Update compileSdkVersion to 29
Version 2.43.0 – October 08, 2019 #
Added WIFI_SCAN_THROTTLED to LocationStatus to notify when the WiFi scan throttling is detected in Android 10
Added ignoreWifiThrottling to LocationRequest to set if you want to ignore the WiFi scan throttling during the positioning in Android 10. If set to true the SDK will perform a background check on the WiFi scans and if the throttling is detected the scan interval will change to one scan every 30 seconds and a LocationStatus will be sent. The default value is false.
Version 2.42.0 – October 03, 2019 #
Included option to use route to better adjut locations. Check LocationManager (updateLocationParameters) for more details.
Version 2.41.1 – October 01, 2019 #
Fixed the dead reckoning in the indoor-outdoor mode
Version 2.41.0 – September 20, 2019 #
Deprecated description property from geofence. Use htmlInfo instead so api is consistent with same properties of different objects
Deprecated level from Floor object. Using floor instead.
Version 2.40.0 – July 11, 2019 #
Added Geofence class and CommunicationManager.fetchGeofencesFromBuilding(Building) method to download the geofences of a building
Added method OutdoorLocationOptions.Builder.buildingDetector(BuildingDetector) to selected the building detector used in indoor-outdoor mode to find the building where the user is located
Version 2.39.0 – June 26, 2019 #
Added new info to Floor model: name and custom fields
Fixed an issue with indoor-outdoor initialization
Version 2.38.0 – June 06, 2019 #
Improved robustness of battery saver mode: it allows you to save battery when the smartphone is not moving
Improved indoor-outdoor using only outdoor locations with good accuracy
Version 2.37.11 – June 03, 2019 #
Fixed Google Play Security Alert “Your app contains an unsafe unzipping pattern that may lead to a Path Traversal vulnerability”
Improved download images time
Version 2.37.6 – May 22, 2019 #
Improved indoor-outdoor transitions
Other minor improvements and fixes
Version 2.37.3 – May 13, 2019 #
Fixes to navigation and positioning
Version 2.37.0 – April 16, 2019 #
Added new constructor for Point Point#Point(Building, String, Coordinate) to create and indoor Point
Version 2.36.0 – April 09, 2019 #
Added useBarometer to location request to use barometer for positioning.
Version 2.35.1 – March 27, 2019 #
Added data persistence to prevent realtime information loss
Version 2.35.0 – March 25, 2019 #
Added method NavigationProgress.getPoints() that return the route points left to reach the destination
Added methods Route.getSegments() and NavigationProgress.getSegments() that return the route segments of the route split by floor. This method is intended to make it easy to draw polylines.
Deprecated Filter class and Filterable interface
Version 2.34.1 – March 14, 2019 #
Added LocationStatus.LOCATION_DISABLED status that would be sent when the location is disabled. You should prompt the user to enable it, otherwise the Wi-Fi and BLE scanning will not work.
Improved the transition from indoor to outdoor
Version 2.33.0 – March 12, 2019 #
Added method NavigationRequest#Builder#ignoreLowQualityLocations(boolean) to set if low quality locations should be ignored during navigation. This will make navigation updates more reliable. For more information see the Javadoc
Version 2.32.3 – March 07, 2019 #
Fix crash starting the positioning using BLE
Version 2.32.2 – March 06, 2019 #
Improved the performance of the gps in the indoor positioning mode.
Version 2.32.1 – February 27, 2019 #
Added reading of new custom fields: use_wifi_floor_classifier and use_ble_floor_classifier from dashboard.
Version 2.32.0 – February 21, 2019 #
Updated ArCore library from version 1.5.0 to 1.7.0
Added LocationManager.VISUAL_ODOMETRY_ERROR code that is returned in the positioning with the camera activated when ArCore thrown an error during the start
Version 2.31.5 – February 20, 2019 #
Fix crash when starting the positioning foreground service from the background
Version 2.31.3 – February 11, 2019 #
Added reading of new custom fields: return_gps_pose_outdoors and gps_default_floor_id from dashboard.
Version 2.31.2 – January 28, 2019 #
Modified the next NavigationRequest default values so that they adapt better to large buildings. This will change the default behaviour of previous versions.
- Increased NavigationRequest.distanceToGoalThreshold from 5 to 15 meters
- Increased NavigationRequest.distanceToFloorChangeThreshold from 10 to 15 meters
- Increased NavigationRequest.distanceToChangeIndicationThreshold from 5 to 8 meters
Fix Indoor-outdoor transition issues
Version 2.31.0 – January 11, 2019 #
Added autoEnableBleDuringPositioning to LocationRequest to set if you want to disable that the SDK enable automatically the BLE sensor if the user disables it. The default value is true.
Added `LocationStatus.BLE_SENSOR_DISABLED_BY_USER` that would be sent when the user disables the BLE sensor. If autoEnableBleDuringPositioning is disabled you should prompt the use the enable it. BLE scanning is not possible if the sensor is disabled.
Improved compatibility with Android 9.
Version 2.30.4 – December 20, 2018 #
Indoor GPS improvements
Version 2.30.3 – December 18, 2018 #
Added metadata
Version 2.30.1 – December 04, 2018 #
Improved WiFi scanning. Now it works in Android 9 with its restrictions (one scan every 30s).
Version 2.30.0 – November 27, 2018 #
Added accessibilityMode to DirectionsRequest. Now you can force routes to use not accessible floor changes (stairs). Deprecated DirectionsRequest.Builder.accessible(boolean)
Version 2.29.1 – November 22, 2018 #
Improved floor transitions
Version 2.29.0 – November 20, 2018 #
Added useGyro(boolean) to LocationRequest to add the option to disable the gyro for positioning
Added useCompass(boolean) to LocationRequest to add the option to disable the compass for positioning
Version 2.28.1 – November 15, 2018 #
Improved auth token renovation
Fix disappearing outdoor locations in realtime in some circunstances
Version 2.28.0 – November 08, 2018 #
Updated Play Services Location library from version 11.2.0 to 16.0.0
Updated Support libraries from version 26.1.0 to 28.0.0
Version 2.27.0 – October 31, 2018 #
Added new MotionMode.VEHICLE_VISUAL_ODOMETRY to be used with the camera in a vehicle
Removed LocationRequest.useCamera(boolean) and replaced with MotionMode.BY_FOOT_VISUAL_ODOMETRY
Version 2.26.2 – October 23, 2018 #
Added load of beacons_uuids building custom field automatically. Now you don’t have to configure them in your code, you only set them once in the Dashboard. See Terminology page.
Version 2.26.0 – October 18, 2018 #
Added useCamera(boolean) to LocationRequest to use the camera for positioning. This is an experimental feature.
Fix returning LocationManager.isRunning() returning true after stoping the positioning
Version 2.25.6 – October 15, 2018 #
Fixed a bug when BLE setting was disabled.
Update to API 26.
Version 2.25.5 – October 02, 2018 #
Fixed wifi scanning when wifi status was changing constantly.
Fixed a bug that did not show how to enable wifi scanning in some Samsung devices.
Version 2.25.4 – September 18, 2018 #
Internal improvements.
Version 2.25.3 – September 12, 2018 #
Removed v1 classes.
Version 2.25.2 – September 06, 2018 #
Fixed BLE scanning in background with the screen off on Android 8+. The smartphone stopped scanning after some minutes.
Version 2.25.1 – September 04, 2018 #
Fixed realtime upload when using the RealtimeUpdateInterval.BATTERY_SAVER value
Version 2.25.0 – August 27, 2018 #
Refactored SitumEvent class. Deprecated some attributes and added trigger and conversion attributes and getters.
Version 2.24.3 – August 20, 2018 #
Added LocationStatus#GLOBAL_LOCATION_NOT_FOUND that is returned in indoor-outdoor mode when the Google Location Services don’t return any Location during the first 30s in the initilization phase.
Fixed a bug when the Google Location Services don’t return any location during the first 30s in initialization phase
Version 2.24.2 – August 06, 2018 #
Removed deprecated v1 classes from Javadoc
Version 2.24.0 – July 24, 2018 #
Added new errors when calculating routes: DirectionsManager.Code#GRAPH_NOT_FOUND and DirectionsManager.Code#GRAPH_BETWEEN_TWO_POINTS_NOT_FOUND returned when the building or the origin/destination floor has no paths
Reduced data usage sending locations to Realtime
Version 2.23.0 – June 28, 2018 #
Added option useGps(boolean) to LocationRequest.Builder to use GPS in indoor mode to improve the positioning
Version 2.22.0 – June 19, 2018 #
Added new algorithm to calculate routes that minimizes the number of floor change transitions (e.g. using one lift instead of two lifts) even if the route is longer. The default algorithm calculates the shortest route independent of floor changes. You can use the new algorithm setting passing true to the new option minimizeFloorChanges(bool) in DirectionRequest.Builder
On navigation during a floor change transition, fixed calling onUserOutsideRoute() when the user is positioning between the origin and destination floor
Fixed some invalid instructions in rare situations
Other internal performance improvements
Version 2.21.1 – June 05, 2018 #
During navigation, fix calling onDestinationReached() when the location is in a different floor than the destination and there is only a floor change left
Version 2.21.0 – May 24, 2018 #
Added method CommunicationManager#fetchOrganizationTheme() to fetch the organization theme
Version 2.20.1 – May 23, 2018 #
Increased HTTP request timeout to 40s
Version 2.20.0 – May 21, 2018 #
Added support for x86 and x86_64 architectures
Version 2.19.0 – May 16, 2018 #
Added method NavigationProgress#getClosestLocationInRoute() that returns the projected Location in the route. This will replace the method getClosestPointInRoute() (now deprecated) that returns a Point
Added method NavigationRequest#Builder#timeToIgnoreUnexpectedFloorChanges(long) to set the maximum time (in millis) to ignore locations in unexpected floors during a floor change indication during navigation. This will improve navigation experience during floor transitions
Version 2.18.2 – May 02, 2018 #
More improvements to indications during navigation
Version 2.18.0 – April 17, 2018 #
Improved indications during navigation. Added new options in NavigationRequest:
- Added NavigationRequest#Builder#indicationsInterval(long) to set the interval to return indications during navigation
- Added NavigationRequest#Builder#timeToFirstIndication(long) to set the time to return the first indication when starting navigation. While starting it will return a CALCULATING indication
- Added NavigationRequest#Builder#roundIndicationsStep(int) to group the distances of the indications
Added method RouteStep#hasFloorChange() that return true if there is a floor change in that route step
Fixed a crash in NavigationManager#requestDirections()
Version 2.17.0 – March 22, 2018 #
Now you can configure the distance to receive the next indication during navigation with the method NavigationRequest.Builder#distanceToChangeIndicationThreshold(double distanceToChangeIndicationThreshold)
Fix BLE not scanning in Android 8.1 when the screen is off
Other minor improvements and fixes
Version 2.16.0 – February 28, 2018 #
Fixed notification channel needed in Android 8 for the Foreground notification
Show CHANGE_FLOOR indication when the user gets within a given threshold around a floor change. Added NavigationRequest.Builder#distanceToChangeFloorThreshold(double distanceToChangeFloorThreshold) and RouteStep.Builder.distanceToFloorChange(Double distanceToFloorChange)
Edit CHANGE_FLOOR indication to show destination level insted the number of levels to go up/down. Added Indication#getNextLevel()
Version 2.15.0 – February 20, 2018 #
Increased minSdkVersion from API 15 to API 16
Added notification channel needed in Android 8 for the Foreground notification
Other minor fixes
Version 2.14.3 – January 30, 2018 #
Added new LocationStatus.TIME_SETTINGS_MANUAL status message that will be sent when the device date & time is not set to automatic
Other minor fixes
Version 2.14.2 – January 22, 2018 #
Indoor-outdoor positioning fixes
Version 2.14.0 – January 09, 2018 #
Add internal support information
Minor positioning improvements
Version 2.13.0 – December 20, 2017 #
Now LocationRequest.useForegroundService(boolean) option is enabled by default. See Using Situm SDK in the background page for more information.
Improve memory management when downloading images
Other minor improvements
Version 2.12.1 – December 13, 2017 #
Fix orientation issue when uploading indoor locations to Realtime
Version 2.12.0 – November 29, 2017 #
Added more information when starting the positioning that will be sent in the LocationListener#onStatusChanged method: PREPARING_POSITIONING_MODEL, START_DOWNLOADING_POSITIONING_MODEL, RETRY_DOWNLOAD_POSITIONING_MODEL, RETRY_DOWNLOAD_POSITIONING_MODEL and STARTING_POSITIONING.
Deprecated the next LocationRequest.IndoorProvider enum values: HYBRID and CLOUD. They are replaced with INPHONE mode. Added new SUPPORT mode to use only in communication with Situm support team
Improved positioning system and network data usage
Version 2.11.0 – November 14, 2017 #
Minor improvements to positioning system
Version 2.10.1 – November 07, 2017 #
Added new realtime upload interval, REALTIME, in LocationRequest that will upload locations every second. This interval is now the default value
Change the default indoor provider in LocationRequest from HYBRID to INPHONE
Version 2.10.0 – October 31, 2017 #
Improved some edge cases in positioning
Updated Play Services from version 10.0.1 to version 11.2.0. You will need to update your Gradle build scripts, see Play Services version 11.2.0 Release Notes
Updated support libraries from 23.4.0 to 25.2.0
Fixed that RealtimeManager returned outdoor locations with isIndoor() to true and with floorIdentifier empty
Improved indications returned by NavigationProgress
Version 2.9.0 – September 18, 2017 #
Added a battery saver mode that will save battery when the phone is not moving. You can enable it with the method LocationRequest.Builder#useBatterySaver(boolean)
Added option NavigationRequest#distanceToIgnoreFirstIndication(double) to ignore the first indication if the distance to the next is less than the value passed to the method
Added method Location.Builder#timestamp(long)
Improved indoor-outdoor transition
Other minor fixes to route calculation and indications
Version 2.8.1 – September 11, 2017 #
Fix an issue when positioning or calibrating in a building with a lot of WiFi APs
Version 2.8.0 – September 04, 2017 #
Added method Coordinate#distanceTo()
Added new constructor for Point Point#Point(Building, String, CartesianCoordinate) to create and indoor Point
Added method LocationRequest.Builder#smallestDisplacement(float) to set the minimum displacement between location updates
Added method LocationRequest.Builder#realtimeUpdateInterval(RealtimeUpdateInterval to change the realtime upload interval. This will improve the battery duration if the indoor provider is set to Inphone
Now the method LocationRequest.Builder#interval(float) is used to set the minimum interval between location updates
Internal improvements the location service and network data usage
Other minor fixes
Version 2.7.0 – August 02, 2017 #
Improved BLE and WiFi scanning. This will increase the positioning accuracy
Fixed scanning issues in some devices
Fixed starting the positioning in the main thread that caused the ui to block
Fixed SitumSdk#getVersion() method
Internal improvements to calibrations
Other minor fixes
Version 2.6.0 – June 30, 2017 #
Added RealtimeManager class. Now you can get the positioning users in realtime. Start using it with SitumSdk#realtimeManager()
Now you can use your custom beacon UUIDs for positioning. You can add them to the LocationRequest with the methods addBeaconFilter(BeaconFilter) and addBeaconFilters(List)
Other internal improvements
Version 2.5.0 – June 07, 2017 #
Added Dead Reckoning option in LocationRequest class to update the location bearing in ‘real-time’. Use the method LocationRequest#useDeadReckoning(boolean) to enable it
Other minor fixes and internal improvements
Version 2.4.0 – May 12, 2017 #
Added upload of locations to the realtime when using the Inphone indoor location provider
Other minor fixes and internal improvements
Version 2.3.0 – April 26, 2017 #
Improved positioning accuracy
Added the posibility to simulate locations with your own implementation of LocationManager that you can set in SitumSdk#setSimulatedLocationManager(LocationManager). To check if the SDK is using simulated locations the method SitumSdk#isUsingSimulatedLocationManager() is added
Fix POI categories not assigned correctly when calling CommunicationManager#fetchBuildingInfo() method
Fix CommunicationManager#fetchPoiCategoryIconNormal() returning the selected icon and CommunicationManager#fetchPoiCategoryIconSelected() returning the normal icon
Other minor fixes and improvements
Version 2.2.0 – April 20, 2017 #
Added method Location#getBearingQuality() to get the bearing quality. In indoors this will return the value calculated by the positioning system, in outdoors it will always return Quality#HIGH
Now Location#getCartesianBearing() and Location#getBearing() will return always the value calculated by the positioning system (like in SDK v1) but it can be unreliable, you must check Location#getBearingQuality(). For compatibility, Location#hasCartesianBearing() and Location#hasBearing() return True only if the Location has orientation and quality is Quality#HIGH
Improved Angle#toString() output
Version 2.1.0 – April 10, 2017 #
Added custom fields to SitumEvent, you can access to them with SitumEvent#getCustomFields()
Added getVersion() to SitumSdk class
With LocationRequest.Buider.interval(int) now you can configure with the interval to send data to the server to compute locations
Minor fixes
Version 2.0.1 – March 31, 2017 #
Fixed a bug when starting indoor-outdoor location with an user without builings
Fixed a bug with indications calculation
Fix issue with location bearing computation
Version 2.0.0 – March 28, 2017 #
Added indoor-outdoor mode
Added new interfaces to make it easy to use the SDK. See the migration guide
Reduced the configuration you need to start working with the SDK. Take a look to the new quickstart guide
Deprecated the old interfaces
Version 1.66g – February 15, 2017 #
Added an option in SitumPositioningOptions to select the indoor location provider: hybrid, cloud or inphone
Other minor fixes
Version 1.66e – November 23, 2016 #
Minor fixes to positioning
Version 1.66d – September 27, 2016 #
Added method SitumIpsManager#isRunning() to check if the positioning is running.
Minor changes to BLE scanning
Version 1.66c – September 20, 2016 #
Fix SitumDataManager callbacks not returning on main thread
Minor improvements to positioning
Version 1.66b – September 01, 2016 #
Added new methods with parameter options, fetchIndoorPOIsForBuilding and fetchOutdoorPOIsForBuilding, to filter the received pois by the custom fields.
Minor improvements.
Version 1.66 – August 30, 2016 #
Removed READ_EXTERNAL_STORAGE and WRITE_EXTERNAL_STORAGE permissions. Now are optionals.
Now Point2f and SitumFloorPoint classes implement the Parcelable interface.
Added two new methods in SitumBaseLogin:
- setDashboardUrl(): allows to change the Dashboard URL.
- setDefaultDashboardUrl(): changes the Dashboard URL to the SDK’s default value.
Added method getDashboardUrl() in SitumBaseDataManager to obtain the Dashboard URL.
Added BUILDING_WITH_NO_CALIBRATIONS error in SitumError.
Added the possibility to adjust the position a route during navigation.
Added the following methods in SitumIPSManager class:
- adjustLocationToRoute(list<SitumFloorPoint>): starts setting the next localizations received to a route.
- stopAdjustingLocation(), for setting the localizations to the route.
- isAdjustingLocation(): it returns true if the setting localizations to a route is activated
Version 1.65c – July 28, 2016 #
If proguard is used to obfuscate the apk’s, it is required include the following line into the proguard-rules:
keep class es.situm.sdk.v1.** { *;}
The method of the SitumIndoorPOI.getLevelid() class is renamed to SitumIndoorPOI.getLevelId().
The method of the SitumPOI.getHtmldescription() class is renamed to SitumPOI.getDescription().
Version 1.65b – July 22, 2016 #
A method is added in SitumBaseDataManager to invalidate the cache: invalidateCache().