Android

[ 2.9.0 ] - 2024/12/16

Changed

  • TripAnalysis: Add callbacks to the TripListener to improve monitoring of trip recording states.

Fixed

  • TripAnalysis: Clear trip metadata when DriveKit is reset.

[ 2.8.0 ] - 2024/12/03

Fixed

Deprecated

  • TripAnalysis: the object account has been deprecated in PostGenericResponse.

[ 2.7.3 ] - 2024/11/26

Fixed

  • Project: Improve migration code managing an occasional migration error occurring when the SDK is integrated into a minified application.

[ 2.7.2 ] - 2024/11/21

Fixed

  • Core: Prevent requests from using cache.

  • Core: Improve the way of deserializing objects from GSON.

[ 2.7.1 ] - 2024/11/19

Fixed

  • Project: Update ProGuard rules to fix minification issues.

[ 2.7.0 ] - 2024/11/05

Added

  • TripAnalysis: Add a new method getCurrentTripInfo()to retrieve some information about the current trip. Follow this link to learn more.

getCurrentStartMode() and getCurrentTripStartDate()methods on DriveKitTripAnalysis module are deprecated and will be removed at the end of 2025. Please use getCurrentTripInfo() method instead.

[ 2.6.0 ] - 2024/10/22

Added

  • TripAnalysis: Add a new method to retrieve the arrival location of the last trip: getLastTripLocation(). Follow this link to learn more.

  • TripAnalysis: The getLastTripPoint(): TripPoint? method is now deprecated and replaced by getLastTripPointOfCurrentTrip(): TripPoint?. It avoids confusion with the new getLastTripLocation method.

[ 2.5.0 ] - 2024/10/15

Changed

  • Project: The EncryptedSharedPreferences library is no longer used in the SDK as it is no longer maintained by Android.

  • TripAnalysis: The tripFinished(post: PostGeneric, response: PostGenericResponse) TripListener's callback is now deprecated and replaced by tripFinished(result: TripResult). The TripResult makes it easier to understand the trip analysis result from our DriveQuant servers.

[ 2.4.4 ] - 2024/11/22

Fixed

  • Core: Prevent requests from using cache.

[ 2.4.3 ] - 2024/09/17

Fixed

  • Project: New ProGuard rules have been added to avoid obfuscation of useful classes. This update is important if you have enabled minification in your application.

[ 2.4.2 ] - 2024/09/12

Fixed

  • Core: In some rare cases, calling the methods enableLogging/disableLogging can interrupt the SDK initialization.

  • TripAnalysis: Avoid interruptions in trip recording that could be caused by a problem with the EncryptedSharedPreferences library.

[ 2.4.1 ] - 2024/08/28

Fixed

  • Core: Better management of diagnosis data backup in case of changes in minification rules.

[ 2.4.0 ] - 2024/07/31

Changed

  • DriveKit is now targeting Android 15 (API level 35). It is recommended to check our migration guide and the Android documentation.

  • ProGuard rules have been added to handle enabled code minification in client app configuration.

  • DriverAchievement: The LEGACY RankingPeriod is deprecated and will be removed in early 2025.

  • Challenge: Challenge list sync service has been enhanced to be up to 20x faster.

[ 2.3.1 ] - 2024/11/22

Fixed

  • Core: Prevent requests from using cache.

[ 2.3.0 ] - 2024/06/19

Changed

  • Core: Updated version of the security-crypto library to prevent ANR events on Android 12 devices.

Fixed

  • Core: AutoReset permission value was inverted in DKDeviceConfigurationListener.

  • TripAnalysis: Fix of a rare crash that could occur when the iBeacon scan starts if the Bluetooth sensor has been turned off.

  • TripAnalysis: Fix a rare crash when the user Bluetooth device class is null during a phone call.

[ 2.2.0 ] - 2024/05/29

Changed

  • TripAnalysis: Manage Full Screen Intent runtime permission which can be revoked by the Google Play Store for apps on Android 14+ devices that do not have calling or alarm functionalities. If you are using the Crash Detection Feedback feature, have a check about the dedicated section.

[ 2.1.0 ] - 2024/05/20

Changed

  • DriverAchievement: We have updated statistics of badges to get more details: acquired, remaining and total number of badges for each level (bronze, silver and gold).

[ 2.0.2 ] - 2024/05/02

Fixed

  • TripAnalysis: On rare occasions, an error in calculating the variance of the gyroscope can interrupt trip recording and collision detection.

[ 2.0.1 ] - 2024/04/18

Fixed

  • TripAnalysis: The bluetooth sensor could be unexpectedly turned off at the end of a trip for devices on Android 12 and below.

[ 2.0.0 ] - 2024/04/10

This is a major version of the DriveKit SDK.

There is no breaking changes, except the deletion of methods and properties already marked as deprecated for more than a year.

Added

  • TripSimulator: Add the new TRIP_WITH_CRASH_2_STILL_DRIVING dataset to simulate a trip with a confirmed accident after which the driver continues to drive. Learn more here.

Deleted

  • Core: The deprecated property listener is now deleted.

  • TripAnalysis: The deprecated setVehicle(vehicle: Vehicle) method is now deleted and replaced by setVehicle(vehicle: TripVehicle)

  • DriverData: Deprecated methods saveTrainTrip(…) and getTimelines() are now deleted.

Changed

  • Project: The internal modules are now automatically initialized. It means that you no longer have to initialize the modules in the onCreate method of your Application class. Read more via the Quick start part.

  • DriverData: Add new ignoreItemsWithoutTripScored parameter for getDriverTimelines() method. If set to true, the returned timeline data will not contain items (DKAllContextItem and DKRoadContextItem) where there are only unscored trips. Learn more here.

Deleted

  • Core: The deprecated delegate is now deleted.

  • DriverData: Deprecated methods saveTrainTrip(…) and getTimelines() are now deleted.

[ 1.41.1 ] - 2024/11/22

Fixed

  • Core: Prevent requests from using cache.

[ 1.41.0 ] - 2024/02/07

Changed

  • TripAnalysis: From this version, the callback tripPoint() is also triggered during the stopping state.

  • TripAnalysis: In addition to phone compatibility, isCrashDetectionAvailable now measures whether the accelerometer is working properly and whether access to the crash detection feature is enabled. Read more.

  • DriverAchievement: New method to get the number of badges: total number, number of badges collected and number of badges remaining. Read more.

Fixed

  • Project: Better management of parallel synchronisation for trip list, vehicle list, challenge list and coaching message.

[ 1.40.1 ] - 2024/01/19

Changed

  • Project: Update Kotlin version to 1.8.22, Android Gradle Plugin to 8.1.4 and Gradle to 8.3.

  • Vehicle: DriveKit accepts new values for engine index parameters: Biofuel (6), Bi-fuel gasoline bioethanol (7), Dual-fuel gasoline NGV (8), Dual-fuel gasoline LPG (9), Not available (10) and Hydrogen (12).

  • Challenge : Update challenge list by adding number of registered and number of ranked users for a given challenge. The rank of the user is also provided. See Challenge.

  • Challenge: Update challenge detail by adding number of registered users for a given challenge. The booleans isRegistered and conditionsFilled has also been added. See ChallengeDetail.

DriveKit now requires JDK 17.

Added

  • TripAnalysis: Add the getTripResponseStatus() method to ease the access to the status and data of a completed trip. See Get the trip response status.

  • Vehicle: Documentation of the main methods included in the DriveKit internal component Vehicle

[ 1.39.2 ] - 2024/06/12

Fixed

  • Core: Fix incorrect state value for AutoReset permission when DKDeviceConfigurationListener.onDeviceConfigurationChanged(event: DKDeviceConfigurationEvent) callback is triggered: the isValid returned value was inverted.

[ 1.39.1 ] - 2024/05/03

Fixed

  • TripAnalysis: On rare occasions, an error in calculating the variance of the gyroscope can interrupt trip recording and collision detection.

[ 1.39.0 ] - 2023/12/06

Changed

  • TripAnalysis: New log message to indicate when trip analysis is postponed because the smartphone has no internet connection.

  • TripAnalysis: Some TripListener methods are now optional: tripPoint, beaconDetected, potentialTripStart, crashDetected and crashFeedbackSent. If you don't use these methods, there's no need to override them.

Fixed

  • TripAnalysis: Improve Bluetooth device verification during a trip recording.

[ 1.38.0 ] - 2023/11/07

Added

  • Core: Add new DKDeviceConfigurationListener to get informed when permissions and sensors status have changed. Read more.

onDeviceConfigEvent() method in TripListener is deprecated and will be removed in a future version. Please use DKDeviceConfigurationListener instead.

Fixed

  • TripAnalysis: Fixed a crash that could occur on Android 14 if the location sensor is deactivated before the start of a trip recording.

  • TripAnalysis: In rare cases, IMU data vectors (pitch, roll and yaw) may have different sizes to GPS data vectors.

Changed

  • TripAnalysis: crashDetected()callback can be called even if enableCrashFeedback is disabled

  • Core: Improved logs with an information message if the Core, TripAnalysis or DriverData modules are initialized multiple times.

  • Update Gradle configuration to avoid overriding the sdkStateChanged method in the TripListener interface.

[ 1.37.0 ] - 2023/10/19

Fixed

  • TripAnalysis: Fix a crash that may occur if the location permission is revoked during a trip analysis.

  • TripAnalysis: The callback tripStarted is now called when a trip StartMode is MANUAL.

Changed

  • Vehicle: Add Plug-in hybrid gasoline engine index.

  • DriveKitListeners or TripListeners are no longer stored as weak references. This change enables the registration of anonymous classes.

[ 1.36.1 ] - 2023/10/04

Fixed

  • TripAnalysis: Fixed a minor bug that blocked the simulation of a trip with a collision.

[ 1.36.0 ] - 2023/09/14

Added

  • Core: DriveKit detects critical changes that can disrupt trip recording (permissions status, sensors and user logout). This information is included in the diagnostic log file and shared with the DriveQuant platform.

  • Vehicle: New service to replace a vehicle.

Fixed

  • TripAnalysis: Check if background location is authorized on Android 14+ devices before starting a trip recording.

[ 1.35.2 ] - 2023/08/09

Breaking changes

  • TripAnalysis: In the DeviceConfigEvent sealed class:

    • BLUETOOTH_SENSOR_STATE_CHANGED has been renamed to BluetoothSensorStateChanged

    • GpsSensorStateChanged has been added to monitor when GPS sensor has been turned on and off.

Changed

  • DriveKit is now targeting Android 14 (API level 34). It is recommended to check our migration guide and the Android documentation.

  • TripAnalysis: Upgrade Play Services Location to v21.0.1

[ 1.34.0 ] - 2023/07/17

Added

  • DriverData: The DriveData component includes detailed data describing the user's profile. The driver's profile is based on driving habits.

Breaking changes

  • The DKDay enum has been moved from TripAnalysis to Core.

[ 1.33.0 ] - 2023/06/12

Added

  • TripAnalysis: DriveKit can use the connection between the smartphone and an Android Auto system to initiate a trip recording.

Changed

  • TripAnalysis: Several TripListener can now be added independently and after module initialization. This makes it easier to use multiple trip listeners in your project if you need more than one..

[ 1.32.0 ] - 2023/05/23

Changed

  • TripAnalysis: Improve vehicle configuration.

[ 1.31.2 ] - 2023/05/17

Fixed

  • TripAnalysis: Fixed TripPoint incorrect distance computation value in rare cases.

[ 1.31.1 ] - 2023/05/05

Added

  • DriverData: The timeline data has been extended to include the variables needed to display driving conditions: distance category of trips, weather, day/night trips and week/weekend trips.

[ 1.30.0 ] - 2023/03/27

Breaking changes

  • TripAnalysis: We have simplified the message that informs that a trip has been cancelled. For that, a new method tripCancelled() has been added in TripListener (Read more)

Fixed

  • TripAnalysis: Fixed a rare issue of concurrent access on the gyrometer sensor recording for the crash detection feature.

  • Core: Improve DriveKitLog content and management.

[ 1.29.4 ] - 2023/02/21

Fixed

  • TripAnalysis: Smartphones with facial recognition are better handled for the computation of the distraction score.

[ 1.29.1 ] - 2023/02/06

Added

  • TripAnalysis: Add allowBeaconTripStart parameter to disable beacon trip start (Read more).

  • TripAnalysis: Improve temporary save trip mechanism when a beacon or a Bluetooth device is required.

  • TripAnalysis: Logging of trip cancellation mode when the Bluetooth device is missing and improved detection of the Bluetooth device when a trip confirmation is in progress.

Changed

  • Core: Secure storage of sensitive data using EncryptedSharedPreferences.

  • Core: Display an explicit error message in logcat when DriveKit is not correctly initialized.

  • DriverData: Trip synchronisation time was significantly reduced.

[ 1.28.0 ] - 2023/01/16

Changed

  • Project: The minimum version supported by DriveKit is now Android 6.0 Marshmallow (API 23).

  • DriverData: Add fuelSaving values into Timeline

[ 1.27.2 ] - 2022/12/09

Added

  • TripAnalysis: Add a method to get the startMode of the current trip

[ 1.27.1 ] - 2022/11/24

Changed

  • Project: Remove the allowBackup flag. Read more on the official Android documentation

[ 1.27.0 ] - 2022/10/17

Fixed

  • TripAnalysis: Check ACTIVITY_RECOGNITION runtime permission is granted by the user before initializing the auto start mode

Changed

  • Project: Update Play Services to 20.0.0

Added

  • TripAnalysis: New configuration to cancel or enable trip recording when the Bluetooth device paired with a vehicle is not connected to the smartphone.

  • Core: Add a function to delete a user account

  • Group: New module to manage driver’s groups

[ 1.26.0 ] - 2022/08/29

Breaking changes

Added

  • Permissions utils : Android 13 permission support. See the Notification Runtime Permission section.

  • TripSimulator: The trip simulator can emulate a bus trip to test the transportation mode detection service.

Changed

  • DriveKit is now targeting Android 13 (API level 33)

  • TripAnalysis: Added a listener the change of the state of the Bluetooth sensor (enabled/disabled)

[ 1.25.1 ] - 2022/07/27

Fixed

  • TripAnalysis: Fixed a rare glitch when recording gyroscope measurements on some Android smartphones

[ 1.25.0 ] - 2022/07/20

Changed

  • Vehicle: We have improved error messages and synchronisation in the case of deleted vehicles.

[ 1.24.0 ] - 2022/07/01

Changed

  • BeaconUtils: The module can now be configured to support multiple beacon types.

  • TripAnalysis: The beacon's battery level is measured at each trip.

[ 1.23.0 ] - 2022/06/14

Fixed

  • Core: Improve DriveKit initialization: the access service is not called until the userId is not configured.

Changed

  • DriverData: Added speeding duration, speeding distance and ecodriving sub-scores into the timeline data.

  • DriverData: Added energy and energy consumption for electric vehicles.

[ 1.22.2 ] - 2022/05/18

Changed

  • TripSimulator: Update of PresetTrip distance and duration information.

[ 1.22.1 ] - 2022/05/17

Changed

  • TripAnalysis: Handle a crash that may happen when the device has rebooted and if DriveKit is not initialized.

[ 1.22.0 ] - 2022/05/11

Added

  • TripAnalysis: Add method tripFinished() in TripListener which is called when a trip has been recorded by the SDK and sent to DriveQuant server for analysis. More details here.

  • DatabaseUtils: Add a method on TransportationMode to indicate whether or not it is an alternative travel mode.

Fixed

  • TripAnalysis: Fix a ConcurrentModificationException that may happen during gyroscope computation value.

[ 1.21.0 ] - 2022/04/20

Changed

  • TripAnalysis: Improved reverse geocoding of departure and arrival addresses.

Fixed

  • TripAnalysis: In Crash Detection, handle NaN values in gyroscope variance computation.

  • Vehicle: Update vehicle in local database when changeBeaconToVehicle(…) is called.

[ 1.20.0 ] - 2022/04/11

Changed

  • TripAnalysis: The "working hours" feature brings more flexibility and lets you choose to label as business or personal a trip performed during an unchecked day.

  • TripAnalysis: Improve phone distraction detection.

  • Trip analysis: The collection of GPS data around the collision detection event has been improved.

[ 1.19.2 ] - 2022/04/07

Fixed

  • All DriveKit components: Fix an issue when saving an existing trip in local database.

[ 1.19.1 ] - 2022/03/31

Fixed

  • Core: Fix a crash that can occur when retrieving DriveKitLog zip files at the end of the month.

[ 1.19.0 ] - 2022/03/23

Added

  • TripAnalysis: All DriveKit users can now get a built-in crash detection feature integrated in the Trip Analysis component. This function analyzes the motion sensors during the trip recording to detect a collision.

  • TripSimulator: Add a new trip with a crash to simulate an accident.

Changed

  • DatabaseUtils: Update Room library version to v2.4.1.

  • All DriveKit components: To better understand the SDK lifecycle and to help you check your integration we have enriched and improved the activity logs.

[ 1.18.0 ] - 2022/01/24

Added

  • TripAnalysis: add a working hours management feature to control the time period in which automatic trip recording is enabled.

[ 1.17.0 ] - 2022/01/10

Added

  • DriverAchievement: New phone call badge to encourage drivers to reduce distracted driving.

[ 1.16.0 ] - 2021/12/06

Added

  • DriverAchievement: Add calls in streaks.

[ 1.15.1 ] - 2021/11/23

Changed

  • Core: Activate logs by default.

[ 1.14.1 ] - 2021/10/29

Fixed

  • Trip Analysis: Manage cases when Nearby Devices permissions is not authorized yet.

[ 1.14.0 ] - 2021/10/14

Added

  • Core : Sensors availability are now returned in authentication service.

  • Driver Data : Add functions to manage manual trips.

[ 1.13.2 ] - 2021/10/05

Breaking changes

External libraries in DriveKit now require Java 8. If you run into any issues, please check the Android documentation.

[ 1.13.1 ] - 2021/09/22

Fixed

  • Core : Handle nullable address locality in reverse geocoder

[ 1.13.0 ] - 2021/09/08

Changed

  • DriverData: Better management of reverse geocoding

[ 1.12.2 ] - 2021/07/22

Added

  • New driveKit Component to implement a driving challenge in your app.

Changed

  • The minimum version supported by DriveKit is now Android 5.0 Lollipop (API 21).

[ 1.11.3 ] - 2021/05/24

Fixed

  • Trip Analysis : improved initialization of localTripId when the application has been killed by a manufacturer battery optimization.

[ 1.11.2 ] - 2021/05/07

Fixed

  • Trip Analysis: Manage phone calls during StartingState

[ 1.11.0 ] - 2021/04/05

Added

  • Driver Data: Synchronize speeding data in local database

Changed

  • Trip Analysis: Optimized local database synchronization for new trip

[ 1.10.0 ] - 2021/03/03

Added

  • Driver Data: phone distraction indicators update (new scoring and call events)

Changed

  • Driver Data: Improved deleted trip synchronisation if the user is connected to multiple smartphones.

  • General : AndroidX libraries update.

[ 1.9.0 ] - 2021/01/20

Added

  • Trip Analysis: Retrieving new data for the identification of distracted driving.

  • Driver Data : Add function to declare transportation mode.

  • Driver Data : Synchronize maneuver and evaluation with trips.

[ 1.8.0 ] - 2020/11/26

Fixed

  • DriverData : Remove DriveQuant Google API Key in AndroidManifest.xml

Added

  • Driver Data: The driver synthesis data and timeline of scores can be synchronised and used from the Driver Data component.

  • Trip Analysis: It is now possible to add specific data within a trip's post

[ 1.7.0 ] - 2020/10/28

Added

  • Trip Simulator: We have introduced a new component able to simulate trips in order to help your mobile app testings

[ 1.6.2 ] - 2020/10/22

Added

  • Driver Achievement: A new ranking score (speed limit) can be displayed on the driver leaderboard.

  • Trip Simulator: We have introduced a new component able to simulate trips in order to help your mobile app testings

  • Trip Analysis: Handle an error that may occur when a trip is manually stopped

Changed

  • Driver Data: By default, the trip list shows only the trips made in vehicles. A configuration parameter enables the display of the trips detected in alternative transportation modes

Fixed

  • Trip Analysis: Handle an error that may occur when a trip is manually stopped

[ 1.6.1 ] - 2020/09/22

Changed

  • All DriveKit components are now compatible with Android 11

Fixed

  • Trip Analysis: In some cases vehicle is not correctly configured

[ 1.6.0 ] - 2020/08/26

Added

  • DriverAchievement: New feature Rankings

  • TripAnalysis: Enhancement of automatic trip recording by geozone detection

[ 1.5.1 ] - 2020/07/07

Added

  • TripAnalysis: New public method to check and manually repost trips

  • TripAnalysis: Improved detection of bicycle mobility

[ 1.5.0 ] - 2020/06/24

Added

  • DriverAchievement: New feature for collection of driving badges.

  • Vehicle: New feature to set-up a truck

Changed

  • TripAnalysis: Improve Bluetooth device detection check during the trip

  • Vehicle: Add new car brands

Fixed

  • Core: Update the refresh token mechanism

  • DatabaseUtils: Manage trips without phone distraction indicators

[ 1.4.2 ] - 2020/05/20

Fixed

  • Vehicle component: Vehicles synchronization now manages odometers' deleted references

  • TripAnalysis component: vehiclesConfigTakeOver parameter is correctly saved in SharedPreferences and reset when necessary

Changed

  • Core: Improve logging system

[ 1.4.0 ] - 2020/04/20

Added

  • New Vehicle component: Manage vehicle synchronization with local database, detection mode configuration of vehicle, and functions to pair a beacon or a bluetooth device to the vehicle

  • Core: Add log configuration to remove log from console

[ 1.3.1 ] - 2020/03/27

Changed

  • Trip Analysis: Update share position service with canceled events

[ 1.3.0 ] - 2020/03/06

Added

  • New Driver Achievement SDK with streak features

[ 1.2.3 ] - 2020/03/02

Added

  • Trip Analysis: Add optional sdkStateChanged method on TripListener

Fixed

  • Trip Analysis: Fix ItineraryStatistics parsing for day and weekDay fields

[ 1.2.0 ] - 2020/01/17

Added

  • Trip Analysis: The autostart feature supports Bluetooth vehicle detection. More detail here.

[ 1.1.6 ] - 2019/12/17

Added

  • Trip Analysis: Notification channel name and id of trip recording foreground notification are now configurable for device running Android 8 or higher

  • Trip Analysis: Add beacon detection for pre-Lollipop devices

[ 1.1.4 ] - 2019/11/26

Fixed

  • Core: Logging system compatibilty with Android 10

  • Trip Analysis: Fix IllegalStateException when some error messages are null

[ 1.1.3 ] - 2019/11/12

Fixed

  • Trip Analysis: Beacon verification can failed when only UUID and major is configure

  • Core: Authentication failed with some userId

[ 1.1.1 ] - 2019/10/31

Added

[ 1.1.0 ] - 2019/10/25

Added

  • Add Driver Data SDK for Driver's trips synchronisation.

  • Add Driver Data UI for trip display.

[ 1.0.1 ] - 2019/10/10

Fixed

  • Calling startTrip method may generate an exception

  • Trip Analysis SDK throws an exception when launched on Android virtual devices

Added

  • Support of Android 10

[ 1.0.0 ] - 2019/09/16

Changed

  • Release version of the Trip Analysis SDK.

Added

  • New interface to retrieve the detected beacon event before the start of the trip.

  • Add method to get the SDK recorder state.

[ 1.0.0 - beta 1 ] - 2019/09/09

Added

  • Trip Analysis SDK is now available in beta version

Last updated