The application can register a listener to be informed of important lifecycle events such as trip detection enabled, recording started, and/or failures. This can be done by adding a listener while the app is running.
Copy // Listen for trip manager status updates
ImsTripManager. addTripStatusListener ( object : ImsTripManager . TripStatusListener {
override fun onTripStatusUpdate (tripStatus: ImsTripStatus ) {
tripStatusData. value = tripStatus // Sample app uses LiveData
when (tripStatus.tripState) {
ImsTripStatus.TripState.ENABLED -> {}
ImsTripStatus.TripState.STARTED -> Log. d (LOG_TAG, "Trip Started." )
ImsTripStatus.TripState.CHECKING -> Log. d (LOG_TAG, "Checking for a Trip ." )
ImsTripStatus.TripState.STOPPED -> Log. d (LOG_TAG, "Trip Ended." )
ImsTripStatus.TripState.DISABLED -> {}
}
}
})
You can also query the current trip manager state at any time.
Copy ImsTripManager.tripManagerStatus