Android

[4.12.0] - 4 Oct 2019

Removed

  • The ACCESS_BACKGROUND_LOCATION permission is now removed from the SDK's manifest. If you are targeting API level 29+, please add this permission to your app's manifest instead. The inclusion of this permission affected apps targeting API level 28 or lower. For more information about this change, please see here.

[4.11.0] - 23 Sep 2019

This version targets API level 29, adding Android 10 support.

Added

  • Android 10 permission support.

    • The ACCESS_BACKGROUND_LOCATION permission has been added to the SDK's manifest. Background location access is mandatory to support proper detections. See Location Permission.

    • The android.permission.ACTIVITY_RECOGNITION permission is required on Android 10 and above to prevent degradation in the detection quality. See Activity Recognition Permission.

  • Ability to obtain a user's nearby points of interest during stationary. You can now obtain a list of POIs and their type directly from the SDK instead of querying the Sentiance API. See getPointsOfInterest().

  • Report the app's notification setting (enabled/disabled) to the Sentiance Platform.

  • Report the device's Google Play Services version to the Sentiance Platform.

  • Keep a metadata journal to prevent sending duplicate user metadata requests.

Changed

  • Target API level is now 29.

  • Use Android's network capability API on Android 10.

  • The return type of StationaryInfo.getLocation() is no longer nullable. A stationary activity is guaranteed to have a proper location.

Fixed

  • Rare crash caused by a null pointer exception during call detection.

  • Rare crash caused by concurrent modification exception.

  • Properly capture unhandled exceptions (reported to the Sentiance Platform).

  • Incorrect user activity type reported during SDK startup.

Security

  • The Sentiance app secret is no longer stored by the SDK.

[4.10.1] - 26 Aug 2019

Added

  • Improved stationary detection.

  • Faster detection of location permission grant.

Changed

  • Decrease the number of notifications shown during stationary.

  • Explicitly set the uses-feature "android.hardware.location.gps" required attribute to false.

Fixed

  • Add missing fields to toString() and equals() methods of the SdkStatus class.

  • Properly detect and end ongoing (internal) SDK trips with poor location accuracy.

[4.10.0] - 24 Jun 2019

Added

  • Support automatic stopping of detections by specifying an expiry date when calling start(). The expired detection will cause the StartStatus to become START_EXPIRED.

  • Support additional fine-tuning of the SDK's disk usage quota.

Fixed

  • Rare crash caused by a NullPointerException in the ContinuousSensorStreamService class.

[4.9.1] - 6 Jun 2019

Added

  • Remotely configurable sensor collection rate for non -R SDK versions.

Changed

  • Relax the high accuracy location mode requirement. Detections will also work with battery saving mode.

Fixed

  • Occasional excessive wake-ups on Samsung devices.

  • Rare issue where duplicate detection payloads are uploaded to the server.

  • Rare issue where an invalid waypoint is added to a trip.

[4.9.0] - 21 May 2019

Added

Changed

  • Internal changes to user linking, sdk configuration updates, and SDK heartbeat data.

Fixed

  • Issue related to incorrectly timed activity transition events supplied by play services.

[4.8.0] - 24 Apr 2019

Added

  • Batched payload submission.

  • Voip call detection.

Changed

  • Improved trip detection.

Fixed

  • Screen on/off detection during trips.

[4.7.1] - 3 Apr 2019

Fixed

  • Deobfuscate TripInfo and StationaryInfo classes used with UserActivity.

  • Fix crash when targeting a pre-12.0.1 version of Google Play Location Services.

  • Minor internal bug fixes and improvements.

[4.7.0] - 25 Mar 2019

Added

Fixed

  • Fixed a rare issue where the location availability sdk status value is incorrect.

  • Other minor bugs.

[4.6.0] - 13 Mar 2019

Added

Fixed

  • Prevent creating very long stationaries when the device has been offline (no location updates or powered off).

[4.5.2] - 4 Mar 2019

Changed

  • Include geofence exit triggering locations in trips.

  • Drop payloads when the API responds with 413 (payload too large).

  • Reschedule SDK tasks with changed criteria.

Fixed

  • Rare crash caused by shared SimpleDateFormat instance.

  • Prevent stopping of incoming location fixes during trips caused by high frequency requests (1 per 10 secs or higher).

[4.5.1] - 20 Feb 2019

Added

Changed

Fixed

  • Stuck stationary issue.

  • Alarms not triggering on Samsung.

[4.5.0] - 11 Feb 2019

Added

  • Upload device location-mode, battery-saving state, and battery optimization config to the Sentiance platform.

  • Capture hourly heartbeat events to track SDK runtime.

  • Support uploading select SDK events (e.g. heartbeat) to the Sentiance platform over mobile data.

Fixed

[4.4.0] - 17 Jan 2019

Added

  • Support for uploading SDK logs over mobile data.

  • Detection improvements to some Samsung and Huawei devices.

Changed

  • Prevent Sentiance credentials change for an already authenticated user (init will fail with CHANGED_CREDENTIALS).

  • Prevent premature user access token refreshes.

Deprecated

Fixed

  • Minor bug fixes.

[4.3.0] - 9 Jan 2019

Added

  • Ability to disable battery optimization for improved detections (see here).

  • New SdkStatus fields.

    • isBatteryOptimizationEnabled

    • isBatterySavingEnabled

    • isBackgroundProcessingRestricted

Changed

  • Updated min required Google Play Location Services version to 12.0.1.

  • Improved detections.

Fixed

  • Minor bug fixes.

[4.2.9] - 18 Dec 2018

Added

  • android.permission.FOREGROUND_SERVICE permission required for Android 9.

Changed

  • Updated target API to 28.

Fixed

  • Bug fixes.

[4.2.8] - 21 Nov 2018

Changed

  • Improved detection algorithm.

[4.2.7] - 15 Nov 2018

Fixed

  • Bug fixes.

[4.2.6] - 12 Nov 2018

Added

  • Support for sending mocked locations.

Changed

  • Improved detection algorithm.

Fixed

  • Minor bug fixes.

[4.2.5] - 22 Oct 2018

Added

  • Provide the ability to set the SDK's notification ID.

Changed

  • Improve stationary detection.

Fixed

  • Fix google play console warning related to AWS credentials.

[4.2.4] - 8 Oct 2018

Changed

  • Disable SDK notifications for triggered trips flavor when no trip is ongoing.

Fixed

  • Prevent LocationService from crashing during startup.

[4.2.3] - 2 Oct 2018

Changed

  • Stationary detection improvement.

[4.2.1] - 24 Sep 2018

Added

  • More SDK logging.

Changed

  • Removed explicit allowBackup param from manifest.

Fixed

  • Wakelock prevention and other minor fixes.

[4.2.0] - 27 Aug 2018

Added

  • Support for meta users.

  • Remotely configurable required location providers.

[4.1.22] - 23 Aug 2018

Fixed

  • Prevent automatic detections in triggered trips mode.

[4.1.21] - 21 Aug 2018

Changed

  • Location parameter of CrashCallback.onCrash() is now nullable.

  • Vehicle crash detection algorithm update.

Fixed

  • Various bug fixes.