Fairmatic Issue Type
The type of a FairmaticSettingError or FairmaticSettingWarning.
Entries
Power saver mode is enabled. This is returned only on devices running OS version Lollipop or higher. For devices running OS versions prior to Android P, this is returned as a warning. For devices running Android P and above, it is returned as an error if this affects location when device screen is turned off. Otherwise this is returned as a warning.
User has enabled background restrictions on the application. This error is returned on devices running Android P and onwards.
User has denied location permission to the application. On Android Q and above, the user needs to grant Manifest.permission.ACCESS_BACKGROUND_LOCATION in addition to Manifest.permission.ACCESS_FINE_LOCATION.
Battery optimization is enabled. This can happen when:
OnePlus OEM specific Deep Optimization battery setting is enabled on device. This error indicates that trip detection of Fairmatic SDK is heavily restricted and drives may not be properly recorded. This is returned on devices running OS version Android P or lower.
Fairmatic SDK was unable to connect to Google Play services. The user should cast the FairmaticSettingError to an instance of GooglePlayConnectionError. The user should then use the GooglePlayConnectionError.connectionResult to diagnose and resolve the issue.
There is a settings error from Google play services. The user should cast the FairmaticSettingError to an instance of GooglePlaySettingsError. The user should then use the GooglePlaySettingsError.googlePlaySettingsResult to diagnose and resolve the issue.
User has denied activity recognition permission to the application. This is returned on devices running:
Draw over other apps is disabled. This is returned only on devices running OS version Marshmallow or higher.
Airplane mode is enabled on the device and is affecting location accuracy.
Bluetooth is disabled when there are some vehicles already associated by using FairmaticVehicleTagging.associateVehicle or beacon vehicle tagging is enabled.
Specific to the While In Use location permission, resuming the drives from the background is affected due to location unavailability when the request is made from the background. The user needs to either get the application in the foreground or grant Manifest.permission.ACCESS_BACKGROUND_LOCATION in addition to Manifest.permission.ACCESS_FINE_LOCATION.
This will be returned on devices running on Android 12 and above when the user has set the location accuracy for the application as "Approximate" (which provides the location access accuracy corresponding to Manifest.permission.ACCESS_COARSE_LOCATION). Fairmatic SDK needs the location access accuracy for the application to be set as "Precise" (which provides the location accuracy corresponding to Manifest.permission.ACCESS_FINE_LOCATION) to operate. Hence, it is recommended to not manually downgrade the location access accuracy.
This will be returned on devices running on Android versions 4.4 to 8.1 when user has not set location mode as Settings.Secure (https://developer.android.com/reference/android/provider/Settings.Secure.html?is-external=true#LOCATION_MODE_HIGH_ACCURACY). In android versions 4.4 to Android 8.1, a user can choose location mode based on accuracy, speed, and battery use.
This warning is thrown when there are associated vehicles for bluetooth vehicle tagging but the necessary bluetooth permissions have been denied. So vehicle tagging using bluetooth will not work properly. Please check the cases below which can lead to this error:
This warning is thrown when there are Beacon vehicle tagging feature is enabled but the necessary permissions have been denied. So vehicle tagging using beacons will not work properly. Please check the cases below which can lead to this error:
This warning is thrown when there is an internal error
Inherited properties
Functions
Returns the enum constant of this type with the specified name. The string must match exactly an identifier used to declare an enum constant in this type. (Extraneous whitespace characters are not permitted.)
Returns an array containing the constants of this enum type, in the order they're declared.