支持的系统属性

本页面列出了 VHAL 中支持的系统属性。VHAL 支持的属性必须是下方列表中的系统属性或供应商属性。在 Android 14 及更高版本中,属性定义在 hardware/interfaces/automotive/vehicle/aidl_property/android/hardware/automotive/vehicle/VehicleProperty.aidl 中定义。

属性定义在 AIDL 接口 (android.hardware.automotive.vehicle.property) 中定义,该接口与 VHAL 接口 (android.hardware.automotive.vehicle) 是分开的。VHAL 实现和 VHAL 客户端必须依赖这两个接口。

自动生成的访问模式和更改模式

在 Android 14 及更高版本中,为了支持 VHAL 实现,我们提供了自动生成的 C++ 头文件Java 类文件,其中包含允许对系统属性使用的更改模式或访问模式。供应商 VHAL 实现可以使用这些属性来确保属性配置符合规范。

ADAPTIVE_CRUISE_CONTROL_LEAD_VEHICLE_MEASURED_DISTANCE

Measured distance from leading vehicle when using Adaptive Cruise Control (ACC) or Predictive Cruise Control (PCC). Returns the measured distance in millimeters between the rear-most point of the leading vehicle and the front-most point of the ACC vehicle. The maxInt32Value and minInt32Value in VehicleAreaConfig must be defined. The minInt32Value should be 0. The maxInt32Value should be populated with the maximum range the distance sensor can support. This value should be non-negative.

When no lead vehicle is detected (that is, when there is no leading vehicle or the leading vehicle is too far away for the sensor to detect), this property should return StatusCode.NOT_AVAILABLE

When this property is not available because CC is disabled (for example, StatusCode#NOT_AVAILABLE_DISABLED is false), this property must return StatusCode#NOT_AVAILABLE_DISABLED If CRUISE_CONTROL_STATE is implemented and the state is set to an ErrorState value, then this property must return a StatusCode that aligns with the ErrorState value. For example, if CRUISE_CONTROL_STATE is set to ErrorState#NOT_AVAILABLE_SPEED_LOW, then this property must return StatusCode#NOT_AVAILABLE_SPEED_LOW

Change mode: CONTINUOUS
Access mode: READ
Enum type: N/A
Unit type: VehicleUnit:MILLIMETER
Release: Android 14

ADAPTIVE_CRUISE_CONTROL_TARGET_TIME_GAP

Current target time gap for ACC or PCC in milliseconds. This property should specify the target time gap to a leading vehicle. This gap is defined as the time to travel the distance between the leading vehicle's rear-most point to the ACC vehicle's front-most point. The actual time gap from a leading vehicle can be above or below this value.

The possible values to set for the target time gap should be specified in configArray in ascending order. All values must be positive. If the property is writable, all values must be writable. When this property is not available because CC is disabled (for example, CRUISE_CONTROL_ENABLED is false), this property must return StatusCode#NOT_AVAILABLE_DISABLED

If CRUISE_CONTROL_STATE is implemented and the state is set to an ErrorState value, then this property must return a StatusCode that aligns with the ErrorState value. For example, if CRUISE_CONTROL_STATE is set to ErrorState#NOT_AVAILABLE_SPEED_LOW, then this property must return StatusCode#NOT_AVAILABLE_SPEED_LOW

This property is defined as VehiclePropertyAccess.READ_WRITE, but OEMs can implement it as VehiclePropertyAccess.READ only.

Change mode: ON_CHANGE
Access mode: READ_WRITE/READ
Enum type: N/A
Unit type: VehicleUnit:MILLI_SECS
Release: Android 14

ABS_ACTIVE

The automatic brake system (ABS) is active. Set to true when ABS is active and reset to false when ABS is off. This property can be intermittently set (pulse) based on the real-time state of the ABS system.

Change mode: ON_CHANGE
Access mode: READ
Enum type: N/A
Unit type: N/A
Release: Android 13

ANDROID_EPOCH_TIME

Current date and time, encoded as Epoch time (in milliseconds). This value denotes the number of milliseconds seconds that have elapsed since 1/1/1970 UTC.

This value denotes the number of milliseconds seconds that have elapsed since 1/1/1970 UTC. CarServices WRITEs to this value to give VHAL the Android system's time, if the VHAL supports this property. This can be useful to synchronize other vehicle systems (dash clock) with Android's time.

AAOS WRITEs to this property once during boot, and thereafter WRITE only when time-source changes are propagated. AAOS will fill in VehiclePropValue.timestamp correctly. AAOS does not send updates for natural elapse of time. int64Values[0] = provided Unix time (in milliseconds).

The property may take more than 0 ms to get propagated through the stack and, having a timestamped property helps reduce any time drift. So, for all WRITEs to the property, the timestamp can be used to negate this drift:

drift = elapsedTime - PropValue.timestamp effectiveTime = PropValue.value.int64Values[0] + drift

Change mode: ON_CHANGE
Access mode: WRITE
Enum type: N/A
Unit type: VehicleUnit:MILLI_SECS
Release: Android 13

AP_POWER_BOOTUP_REASON

Property to report bootup reason for the current power on. This is a STATIC property that won't change for the whole duration until power off. For example, even if the user presses the power button after automatic power on with door unlock, the bootup reason must stay with VehicleApPowerBootupReason#USER_UNLOCK int32Values[0] must be VehicleApPowerBootupReason

Change mode: STATIC
Access mode: READ
Enum type: N/A
Unit type: N/A
Release: Android 13

AP_POWER_STATE_REPORT

Property to report power state of app processor. It is assumed that AP's power state is controller by separate power controller.

  • int32Values[0] VehicleApPowerStateReport enum value
  • int32Values[1] Time in ms to wake up, if necessary (otherwise 0)

Change mode: ON_CHANGE
Access mode: READ_WRITE
Enum type: N/A
Unit type: N/A
Release: Android 13

AP_POWER_STATE_REQ

Property to control power state of app processor. It is assumed that AP's power state is controlled by a separate power controller. For configuration information, VehiclePropConfig.configArray must have bit flag combining values in VehicleApPowerStateConfigFlag

  • int32Values[0] VehicleApPowerStateReq enum value
  • int32Values[1] Aadditional parameter relevant for each state, 0 if not used.

Change mode: ON_CHANGE
Access mode: READ
Enum type: N/A
Unit type: N/A
Release: Android 13

AUTOMATIC_EMERGENCY_BRAKING_ENABLED

Enable or disable Automatic Emergency Braking (AEB). Set true to enable AEB and false to disable AEB. When AEB is enabled, the ADAS system in the vehicle should be turned on and monitoring to avoid potential collisions. This property should apply for higher speed applications only. For enabling low speed automatic emergency braking, LOW_SPEED_AUTOMATIC_EMERGENCY_BRAKING_ENABLED should be used.

In general, AUTOMATIC_EMERGENCY_BRAKING_ENABLED should always return true or false. If the feature is not available due to some temporary state, such as the vehicle speed being too low, that information must be conveyed through the ErrorState values in the AUTOMATIC_EMERGENCY_BRAKING_STATE property.

This property is defined as VehiclePropertyAccess.READ_WRITE, but OEMs can implement it as VehiclePropertyAccess.READ only.

Change mode: ON_CHANGE
Access mode: READ_WRITE/READ
Enum type: N/A
Unit type: N/A
Release: Android 14

AUTOMATIC_EMERGENCY_BRAKING_STATE

Automatic Emergency Braking (AEB) state. Returns the current state of AEB. This property must always return a valid state defined in AutomaticEmergencyBrakingState or ErrorState It must not surface errors through StatusCode and must use the supported error states instead. This property should apply for higher speed applications only. For representing the state of the low speed automatic emergency braking system, LOW_SPEED_AUTOMATIC_EMERGENCY_BRAKING_STATE should be used.

If AEB includes forward collision warnings before activating the brakes, those warnings must be surfaced through the Forward Collision Warning (FCW) properties.

For the global area ID (0), the StatusCode#VehicleAreaConfig#supportedEnumValues array must be defined unless all states of both AutomaticEmergencyBrakingState (including OTHER, which is not recommended) and ErrorState are supported.

Change mode: ON_CHANGE
Access mode: READ
Enun type: ForwardCollisionWarningState/ErrorState
Unit type: N/A
Release: Android 14

BLIND_SPOT_WARNING_ENABLED

Enable and disable Blind Spot Warning (BSW). Set true to enable BSW and false to disable BSW. When BSW is enabled, the ADAS system in the vehicle should be turned on and monitoring for objects in the vehicle's blind spots.

In general, BLIND_SPOT_WARNING_ENABLED should always return true or false. If the feature is not available due to some temporary state, such as the vehicle speed being too low, that information must be conveyed through the ErrorState values in the BLIND_SPOT_WARNING_STATE property.

This property is defined as VehiclePropertyAccess.READ_WRITE, but OEMs can implement it as VehiclePropertyAccess.READ only.

Change mode: ON_CHANGE
Access mode: READ_WRITE/READ
Enum type: N/A
Unit type: N/A
Release: Android 14

BLIND_SPOT_WARNING_STATE

Blind Spot Warning (BSW) state. Returns the current state of BSW. This property must always return a valid state defined in BlindSpotWarningState or ErrorState It must not surface errors through StatusCode and must use the supported error states instead.

For each supported area ID, StatusCode#VehicleAreaConfig#supportedEnumValues array must be defined unless all states of both BlindSpotWarningState (including OTHER, which is not recommended) and ErrorState are supported.

Change mode: ON_CHANGE
Access mode: READ
Enum type: BlindSpotWarningState/ErrorState
Unit type: N/A
Release: Android 14

CABIN_LIGHTS_STATE

Returns the state for the cabin lights.

Change mode: ON_CHANGE
Access mode: READ
Enum type: VehicleLightState
Unit type: N/A
Release: Android 13

CABIN_LIGHTS_SWITCH

Cabin lights switch. The position of the physical switch which controls the cabin lights. This might differ than the CABIN_LIGHTS_STATE if the lights are on because a door is open or because of a voice command. For example, when the switch is in the off or automatic position.

This property is defined as VehiclePropertyAccess.READ_WRITE, but OEMs can implement it as VehiclePropertyAccess.READ only.

Change mode: ON_CHANGE
Access mode: READ_WRITE/READ
Enum type: VehicleLightSwitch
Unit type: N/A
Release: Android 13

CLUSTER_DISPLAY_STATE

Changes the state of the cluster display.

  • Bounds: Area to render the cluster Activity.
  • Inset: Area that Activity should not place important information.

Possible values:

  • int32[0] On, Off: 0 - off, 1 - on, -1 - don't care
  • int32[1] Bounds - left: positive number - left position in pixels -1 - don't care (should set all Bounds fields)
  • int32[2] Bounds - top: same format with 'left'
  • int32[3] Bounds - right: same format with 'left'
  • int32[4] Bounds - bottom: same format with 'left'
  • int32[5] Inset - left: positive number - actual left inset value in pixels -1 - don't care (should set "don't care" all Inset fields)
  • int32[6] Inset - top: same format with 'left'
  • int32[7] Inset - right: same format with 'left'
  • int32[8] Inset - bottom: same format with 'left'

Change mode: ON_CHANGE
Access mode: READ
Enum type: N/A
Unit type: N/A
Release: Android 13

CLUSTER_NAVIGATION_STATE

Informs the current navigation state. bytes: the serialized message of NavigationStateProto.

Change mode: ON_CHANGE
Access mode: WRITE
Enum type:
Unit type: N/A
Release: Android 13

CLUSTER_REPORT_STATE

Reports the current display state and ClusterUI state. ClusterHome sends this message when it handles CLUSTER_SWITCH_UI, CLUSTER_DISPLAY_STATE In addition, ClusterHome should send this message when it starts for the first time. When ClusterOS receives this message and if the internal expectation is different with the received message, then it should send CLUSTER_SWITCH_UI, CLUSTER_DISPLAY_STATE again to match the state.

  • int32[0] on/off: 0 - off, 1 - on
  • int32[1] Bounds - left
  • int32[2] Bounds - top
  • int32[3] Bounds - right
  • int32[4] Bounds - bottom
  • int32[5] Inset - left
  • int32[6] Inset - top
  • int32[7] Inset - right
  • int32[8] Inset - bottom
  • int32[9] Type of ClusterUI in the fullscreen or main screen. 0 indicates ClusterHome. Other values are followed by the OEM's definition.
  • int32[10] Type of ClusterUI in subscreen if the currently two UIs are shown. -1 indicates the area is no longer used. bytes: the array to represent the availability of ClusterUI. 0 indicates non-available and 1 indicates available. For example, if a car supports three OEM-defined ClusterUI such as HOME, MAPS, and CALL and only supports the CALL UI only when the cellular network is available. Then, if the nework is available, it sends [1 1 1] and, if out of network, sends [1 1 0].

Change mode: ON_CHANGE
Access mode: WRITE
Enum type: VehicleLightSwitch
Unit type: N/A
Release: Android 13

CLUSTER_REQUEST_DISPLAY

Requests to change the cluster display state to show some ClusterUI. When the current display state is off and ClusterHome sends this message to ClusterOS to request to turn the display on to show a specific ClusterUI. ClusterOS should response this with CLUSTER_DISPLAY_STATE

  • int32 Type of ClusterUI to show

Change mode: ON_CHANGE
Access mode: WRITE
Enum type: N/A
Unit type: N/A
Release: Android 13

CLUSTER_SWITCH_UI

Starts the ClusterUI in cluster display.

  • int32 Type of ClusterUI to show 0 indicates ClusterHome, the Home screen of the cluster display, and provides the default UI and a kind of launcher functionality for the cluster display. Other values are per the OEM's definition.

Change mode: ON_CHANGE
Access mode: READ
Enum type: N/A
Unit type: N/A
Release: Android 13

CREATE_USER

Called by the Android System after an Android user was created. The HAL can use this property to create its equivalent user. This is an async request: Android makes the request by setting a VehiclePropValue, and HAL must respond with a property change indicating whether the request succeeded or failed. If it failed, the Android system removes the user.

The format of the request is defined by CreateUserRequest and the format of the response by CreateUserResponse. For example, if system had two users (0 and 10) and a third one (which is an ephemeral guest) was created, the request would be:

  • int32[0] 42 // request id
  • int32[1] 11 // Android id of the created user
  • int32[2] 6 // Android flags (ephemeral guest) of the created user
  • int32[3] 10 // current user
  • int32[4] 0 // current user flags (none)
  • int32[5] 3 // number of users
  • int32[6] 0 // first user (user 0)
  • int32[7] 0 // first user flags (none)
  • int32[8] 10 // second user (user 10)
  • int32[9] 0 // second user flags (none)
  • int32[10] 11 // third user (user 11)
  • int32[11] 6 // third user flags (ephemeral guest) string: "ElGuesto" // name of the new user

If the request succeeded, the HAL returns:

  • int32[0] 42 // request id
  • int32[1] 1 // CreateUserStatus::SUCCESS

But if it fails:

  • int32[0] 42 // request id
  • int32[1] 2 // CreateUserStatus::FAILURE string: "D'OH!" //

The meaning is a blackbox and is passed to the caller (such as the Settings UI), which takes the proper action.

Change mode: ON_CHANGE
Access mode: READ_WRITE
Enum type: N/A
Unit type: N/A
Release: Android 13

CRITICALLY_LOW_TIRE_PRESSURE

This property indicates the critically low pressure threshold for each tire. It indicates when it to replace or to fix a tire. The value must be less than or equal to minFloatValue in TIRE_PRESSURE. The minimum and maximum property values (minFloatValue and maxFloatValue) do not apply to this property.

Change mode: STATIC
Access mode: READ
Enum type: N/A
Unit type: VehicleUnit:KILOPASCAL
Release: Android 13

CRUISE_CONTROL_COMMAND

WRITE Cruise Control (CC) commands. See CruiseControlCommand for the details about each supported command. For the global area ID (0), the StatusCode#VehicleAreaConfig#supportedEnumValues array must be defined unless all states of CruiseControlState are supported. Any unsupported commands sent through this property must return StatusCode#INVALID_ARG When this property is not available because CC is disabled (for example, CRUISE_CONTROL_ENABLED is false), this property must return StatusCode#NOT_AVAILABLE_DISABLED If CRUISE_CONTROL_STATE is implemented and the state is set to an ErrorState value, then this property must return a StatusCode that aligns with the ErrorState value. For example, if CRUISE_CONTROL_STATE is set to ErrorState#NOT_AVAILABLE_SPEED_LOW, then this property must return StatusCode#NOT_AVAILABLE_SPEED_LOW

Change mode: ON_CHANGE
Access mode: WRITE
Enum type: CruiseControlCommand
Unit type: N/A
Release: Android 14

CRUISE_CONTROL_ENABLED

Enable or disable cruise control (CC). Set true to enable CC and false to disable CC. This property is shared by all forms of CruiseControlType(s). When CC is enabled, the ADAS system in the vehicle should be turned on and responding to commands. In general, CRUISE_CONTROL_ENABLED should always return true or false. If the feature is not available due to some temporary state, such as the vehicle speed being too low, that information must be conveyed through the ErrorState values in the CRUISE_CONTROL_STATE property. This property is defined as VehiclePropertyAccess.READ_WRITE, but OEMs can implement it as VehiclePropertyAccess.READ only.

Change mode: ON_CHANGE
Access mode: READ_WRITE/READ
Enum type: N/A
Unit type: N/A
Release: Android 14

CRUISE_CONTROL_STATE

Current state of Cruise Control (CC). This property returns the current state of CC. Generally, this property should return a valid state defined in the CruiseControlState or ErrorState For example, if the feature is not available due to some temporary state, that information should be conveyed through ErrorState For the global area ID (0), the VehicleAreaConfig#supportedEnumValue array must be defined unless all states of CruiseControlState (including OTHER, which is not recommended) and ErrorState are supported.

Change mode: ON_CHANGE
Access mode: READ
Enum type: CruiseControlState/ErrorState
Unit type: N/A
Release: Android 14

CRUISE_CONTROL_TARGET_SPEED

Current target speed for Cruise Control (CC). OEMs should set the minFloatValue and maxFloatValue values for this property to define the min and max target speed values. These values must be non-negative. The maxFloatValue represents the upper bound of the target speed. The minFloatValue represents the lower bound of the target speed. When this property is not available because CC is disabled (for example, CRUISE_CONTROL_ENABLED is false), this property must return StatusCode#NOT_AVAILABLE_DISABLED If CRUISE_CONTROL_STATE is implemented and the state is set to an ErrorState value, then this property must return a StatusCode that aligns with the ErrorState value. For example, if CRUISE_CONTROL_STATE is set to ErrorState#NOT_AVAILABLE_SPEED_LOW, then this property must return StatusCode#NOT_AVAILABLE_SPEED_LOW

Change mode: ON_CHANGE
Access mode: READ
Enum type: N/A
Unit type: VehicleUnit:METER_PER_SEC
Release: Android 14

CRUISE_CONTROL_TYPE

Current type of Cruise Control (CC). When CRUISE_CONTROL_ENABLED is true, this property returns the type of CC that is currently enabled (for example, standard CC and adaptive CC, predictive). enerally, this property should return a valid state defined in the CruiseControlType or ErrorState For example, if the feature is not available due to some temporary state, that information should be conveyed through ErrorState For the global area ID (0), the StatusCode#VehicleAreaConfig#supportedEnumValues array must be defined unless all states of CruiseControlType (including OTHER, which is not recommended) and ErrorState are supported. Trying to WRITE CruiseControlType#OTHER or an ErrorState to this property throws an IllegalArgumentException This property is defined as VehiclePropertyAccess.READ_WRITE, but OEMs can implement it as VehiclePropertyAccess.READ only.

Change mode: ON_CHANGE
Access mode: READ_WRITE/READ
Enum type: CruiseControlType ErrorState
Unit type: N/A
Release: Android 14

CURRENT_GEAR

Current gear. In a non-manual case, the selected gear might not match the current gear. For example, if the selected gear is GEAR_DRIVE, the current gear will be one of GEAR_1, GEAR_2 and so on, which reflects the actual gear the transmission is running in. Values in the config data must represent the list of supported gears for this vehicle. For example, config data for an automatic transmission must contain {GEAR_NEUTRAL, GEAR_REVERSE, GEAR_PARK, GEAR_1, GEAR_2,...} and, for manual transmission, the list must be {GEAR_NEUTRAL, GEAR_REVERSE, GEAR_1, GEAR_2,...} This list need not be the same as that of the supported gears reported in GEAR_SELECTION

Change mode: ON_CHANGE
Access mode: READ
Enum type: VehicleGear
Unit type: N/A
Release: Android 13

CURRENT_POWER_POLICY

Notifies the current power policy to VHAL layer. Car power policy service sets this property when the current power policy is changed

string: "sample_policy_id" // power policy ID

Change mode: ON_CHANGE
Access mode: READ_WRITE
Enum type: N/A
Unit type: N/A
Release: Android 13

DISABLED_OPTIONAL_FEATURES

Allow the disabling of optional features in VHAL. This property reports optional features that should be disabled. All allowed optional features for the system is declared in the Car service overlay, config_allowed_optional_car_features This property allows disabling features defined in the overlay. Without this property, all features declared in the overlay will be enabled. Value READ should include all features disabled with a comma (,) separation. For example, com.android.car.user.CarUserNoticeService,storage_monitoring

Change mode: STATIC
Access mode: READ
Enum type: N/A
Unit type: N/A
Release: Android 13

DISPLAY_BRIGHTNESS

Property to represent brightness of the display. Some cars have a single control for the brightness of all displays. This property is to share changes in that control. In cars that have displays whose brightness is controlled separately, they must use PER_DISPLAY_BRIGHTNESS Only one of DISPLAY_BRIGHTNESS and PER_DISPLAY_BRIGHTNESS should be implemented. If both are available, PER_DISPLAY_BRIGHTNESS is used by AAOS. If this is writable, Android can set this value when the user changes display brightness from Settings. If this is READ-only, user can still change display brightness from Settings, but the change must not be reflected on other displays.

Change mode: ON_CHANGE
Access mode: READ_WRITE
Enum type: N/A
Unit type: N/A
Release: Android 13

DISTANCE_DISPLAY_UNITS

Distance units for display. Indicates which units the car is using to display distances to the user. For example, Mile, Meter, or Kilometer. Distance units are defined in VehicleUnit. VehiclePropConfig.configArray is used to indicate the supported distance display units. For example, configArray[0] = METER configArray[1] = KILOMETER configArray[2] = MILE If updating DISTANCE_DISPLAY_UNITS affects the values of other *_DISPLAY_UNITS properties, then their values must be updated and communicated to the AAOS framework, too. This property is defined as VehiclePropertyAccess.READ_WRITE, but OEMs can implement it as VehiclePropertyAccess.READ only.

Change mode: ON_CHANGE
Access mode: READ_WRITE/READ
Enum type: VehicleUnit
Unit type: N/A
Release: Android 13

DOOR_CHILD_LOCK_ENABLED

Door child lock feature enabled. Returns true if the door child lock feature is enabled and false if disabled. If enabled, the door can't be opened from the inside. This property is defined as VehiclePropertyAccess.READ_WRITE, but OEMs can implement it as VehiclePropertyAccess.READ only.

Change mode: ON_CHANGE
Access mode: READ_WRITE/READ
Enum type: N/A
Unit type: N/A
Release: Android 14

DOOR_LOCK

Door lock true indicates the door is locked. This property is defined as VehiclePropertyAccess.READ_WRITE, but OEMs can implement it as VehiclePropertyAccess.READ only.

Change mode: ON_CHANGE
Access mode: READ_WRITE/READ
Enum type: N/A
Unit type: N/A
Release: Android 13

DOOR_MOVE

The maxInt32Value and minInt32Value in each VehicleAreaConfig must be defined. All integers between minInt32Value and maxInt32Value must be supported. The maxInt32Value represents the maximum movement speed of the door while opening. The minInt32Value represents the maximum movement speed of the door while closing.

Larger absolute values, either positive or negative, indicate a faster movement speed. Once the door reaches the positional limit, the value must reset to 0. If the value of DOOR_MOVE is 0, then that means there is no movement currently occurring.

This property is not in any particular unit but in a specified range of relative movement speeds.

This property is defined as VehiclePropertyAccess.READ_WRITE, but OEMs can implement it as VehiclePropertyAccess.READ only.

Change mode: ON_CHANGE
Access mode: READ_WRITE/READ
Enum type: N/A
Unit type: N/A
Release: Android 13

DOOR_POS

Door position. The maxInt32Value and minInt32Value in VehicleAreaConfig must be defined. All integers between minInt32Value and maxInt32Value must be supported. The minInt32Value indicates the door is closed. The minInt32Value must be 0. The maxInt32Value indicates the door is fully open. Values between minInt32Value and maxInt32Value indicate a transition state between the closed and fully open positions.

This property is not in any particular unit but in a specified range of relative positions. Some vehicles (minivans) can open the door electronically. Hence, the ability to WRITE this property. This property is defined as VehiclePropertyAccess READ_WRITE, but OEMs can implement it as VehiclePropertyAccess.READ only.

Change mode: ON_CHANGE
Access mode: READ_WRITE/READ
Enum type: N/A
Unit type: N/A
Release: Android 13

E 到 G

ELECTRONIC_TOLL_COLLECTION_CARD_STATUS

Electronic Toll Collection card status. This property indicates the status of ETC card in this vehicle. If the head unit is aware of an ETC card attached to the vehicle, ELECTRONIC_TOLL_COLLECTION_CARD_TYPE gives that status of the card. Otherwise, this property should be UNAVAILABLE

Change mode: ON_CHANGE
Access mode: READ
Enum type: ElectronicTollCollectionCardStatus
Unit type: N/A
Release: Android 13

ELECTRONIC_TOLL_COLLECTION_CARD_TYPE

Electronic Toll Collection (ETC) card type. This property indicates the type of ETC card in this vehicle. If the head unit is aware of an ETC card attached to the vehicle, this property should return the type of card attached; otherwise, this property should be UNAVAILABLE

Change mode: ON_CHANGE
Access mode: READ
Enum type: ElectronicTollCollectionCardType
Unit type: N/A
Release: Android 13

EMERGENCY_LANE_KEEP_ASSIST_ENABLED

Enable or disable Emergency Lane Keep Assist (ELKA). Set true to enable ELKA and false to disable ELKA. When ELKA is enabled, the ADAS system in the vehicle should be on and monitoring for unsafe lane changes by the driver. When an unsafe maneuver is detected, ELKA alerts the driver and applies steering corrections to keep the vehicle in its original lane. In general, EMERGENCY_LANE_KEEP_ASSIST_ENABLED should always return true or false. If the feature is not available due to some temporary state, such as the vehicle speed being too low, that information must be conveyed through the ErrorState values in the EMERGENCY_LANE_KEEP_ASSIST_STATE property. This property is defined as VehiclePropertyAccess.READ_WRITE, but OEMs can implement it as VehiclePropertyAccess.READ only.

Change mode: ON_CHANGE
Access mode: READ_WRITE/READ
Enum type: N/A
Unit type: N/A
Release: Android 14

EMERGENCY_LANE_KEEP_ASSIST_STATE

Emergency Lane Keep Assist (ELKA) state. Returns the current state of ELKA. Generally, this property should return a valid state defined in the EmergencyLaneKeepAssistState or ErrorState For example, if the feature is not available due to some temporary state, that information should be conveyed through ErrorState For the global area ID (0), the VehicleAreaConfig#supportedEnumValues array must be defined unless all states of EmergencyLaneKeepAssistState (including OTHER, which is not recommended) and ErrorState are supported.

Change mode: ON_CHANGE
Access mode: READ
Enum type: EmergencyLaneKeepAssistState/ErrorState
Unit type: N/A
Release: Android 14

ENGINE_COOLANT_TEMP

Temperature of engine coolant.

Change mode: CONTINUOUS
Access mode: READ
Enum type: N/A
Unit type: VehicleUnit:CELSIUS
Release: Android 13

ENGINE_IDLE_AUTO_STOP_ENABLED

Represents feature for engine idle automatic stop. If true, the vehicle may automatically shut off the engine when it is not needed and then automatically restart it when needed. This property is defined as VehiclePropertyAccess.READ_WRITE, but OEMs can implement it as VehiclePropertyAccess.READ only.

Change mode: ON_CHANGE
Access mode: READ_WRITE/READ
Enum type: N/A
Unit type: N/A
Release: Android 14

ENGINE_OIL_LEVEL

Engine oil level.

Change mode: ON_CHANGE
Access mode: READ
Enum type: VehicleOilLevel
Unit type: N/A
Release: Android 13

ENGINE_OIL_TEMP

Temperature of engine oil.

Change mode: CONTINUOUS
Access mode: READ
Enum type: N/A
Unit type: VehicleUnit:CELSIUS
Release: Android 13

ENGINE_RPM

Engine revolutions per minute (RPM).

Change mode: CONTINUOUS
Access mode: READ
Enum type: N/A
Unit type: VehicleUnit:RPM
Release: Android 13

ENV_OUTSIDE_TEMPERATURE

Outside temperature. This property must communicate the temperature reading of the environment outside the vehicle. If there are multiple sensors for measuring the outside temperature, this property should be populated with the mean or a meaningful weighted average of the readings that best represent the temperature of the outside environment.

Change mode: CONTINUOUS
Access mode: READ
Enum type: N/A
Unit type: VehicleUnit:CELSIUS
Release: Android 13

EV_BATTERY_DISPLAY_UNITS

EV battery units for display. Indicates which units the car is using to display EV battery information to the user. For example, watt-hours (Wh), kilowatt-hours (kWh) or ampere-hours (Ah). VehiclePropConfig.configArray is used to indicate the supported electrical energy. units. Electrical energy units are defined in VehicleUnit For example:

  configArray[0] = WATT_HOUR configArray[1] = AMPERE_HOURS configArray[2] = KILOWATT_HOUR

If updating EV_BATTERY_DISPLAY_UNITS affects the values of other *_DISPLAY_UNITS properties, then their values must be updated and communicated to the AAOS framework as well. This property is defined as VehiclePropertyAccess.READ_WRITE, but OEMs can implement it as VehiclePropertyAccess.READ only.

Change mode: ON_CHANGE
Access mode: READ_WRITE/READ
Enum type: VehicleUnit
Unit type: N/A
Release: Android 13

EV_BATTERY_INSTANTANEOUS_CHARGE_RATE

EV instantaneous charge rate in milliwatts. A positive value indicates the battery is being charged. A negative value indicates the battery being discharged.

Change mode: CONTINUOUS
Access mode: READ
Enum type: N/A
Unit type: VehicleUnit:MW
Release: Android 13

EV_BATTERY_LEVEL

Returns the current battery level, whether EV or hybrid. This value will not exceed EV_CURRENT_BATTERY_CAPACITY To calculate the battery percentage, use (EV_BATTERY_LEVEL, EV_CURRENT_BATTERY_CAPACITY)*100.

Change mode: CONTINUOUS
Access mode: READ
Enum type: N/A
Unit type: VehicleUnit:WH
Release: Android 13

EV_BRAKE_REGENERATION_LEVEL

Regenerative braking level of a electronic vehicle. The maxInt32Value and minInt32Value in VehicleAreaConfig must be defined. All values between minInt32Value and maxInt32Value must be supported. The minInt32Value must be 0. The maxInt32Value indicates the setting for the maximum amount of energy regenerated from braking. The minInt32Value indicates the setting for no regenerative braking. This property is a more granular form of EV_REGENERATIVE_BRAKING_STATE It allows the user to set a more specific level of regenerative braking if the states in EvRegenerativeBrakingState are not granular enough for the OEM. This property is defined as VehiclePropertyAccess.READ_WRITE, but OEMs can implement it as VehiclePropertyAccess.READ only.

Change mode: ON_CHANGE
Access mode: READ_WRITE/READ
Enum type: N/A
Unit type: N/A
Release: Android 13

EV_CHARGE_CURRENT_DRAW_LIMIT

Indicates the maximum current draw threshold for charging set by the user. EvChargeState::configArray[0] is used to specify the max current draw allowed by the vehicle in Amperes. This property is defined as VehiclePropertyAccess.READ_WRITE, but OEMs can implement it as VehiclePropertyAccess.READ only.

Change mode: ON_CHANGE
Access mode: READ_WRITEREAD
Enum type: N/A
Unit type: VehicleUnit:AMPERE
Release: Android 13

EV_CHARGE_PERCENT_LIMIT

Indicates the maximum charge percent threshold set by the user. Indicates the maximum charge percent threshold set by the user. Returns a float value from 0 to 100. configArray is used to specify the valid values. For example, if the vehicle supports the following charge percent limit values: [20, 40, 60, 80, 100] then the configArray should be {20, 40, 60, 80, 100} If the configArray is empty then all values from 0 to 100 must be valid. This property is defined as VehiclePropertyAccess.READ_WRITE, but OEMs can implement it as VehiclePropertyAccess.READ only.

Change mode: ON_CHANGE
Access mode: READ_WRITE,, READ
Enum type: N/A
Unit type: N/A
Release: Android 13

EV_CHARGE_PORT_CONNECTED

EV charge port connected. If the vehicle has multiple charging ports, this property must return true when any of the charge ports are connected.

Change mode: ON_CHANGE
Access mode: READ
Enum type: N/A
Unit type: N/A
Release: Android 13

EV_CHARGE_PORT_OPEN

EV charge port open. If the vehicle has multiple charging ports, this property must return true if any of the charge ports are open. This property is defined as VehiclePropertyAccess.READ_WRITE, but OEMs can implement it as VehiclePropertyAccess.READ only.

Change mode: ON_CHANGE
Access mode: READ_WRITEREAD
Enum type: N/A
Unit type: N/A
Release: Android 13

EV_CHARGE_STATE

Charging state of the car Returns the current charging state of the car. If the vehicle has a target charge percentage other than 100, this property must return EvChargeState::STATE_FULLY_CHARGED when the battery charge level has reached the target level. See EvChargeState::EV_CHARGE_PERCENT_LIMIT for more context.

Change mode: ON_CHANGE
Access mode: READ
Enum type: EvChargeState
Unit type: N/A
Release: Android 13

EV_CHARGE_SWITCH

Start or stop charging the EV battery. The setting wanted by the user. Setting this property to true starts the battery charging, and false to stop charging. This property is defined as VehiclePropertyAccess.READ_WRITE, but OEMs can implement it as VehiclePropertyAccess.READ only.

Change mode: ON_CHANGE
Access mode: READ_WRITEREAD
Enum type: N/A
Unit type: N/A
Release: Android 13

EV_CHARGE_TIME_REMAINING

Estimated charge time remaining in seconds. Returns 0 if the vehicle is not charging.

Change mode: CONTINUOUS
Access mode: READ
Enum type: N/A
Unit type: VehicleUnit:SECS
Release: Android 13

EV_CURRENT_BATTERY_CAPACITY

Current usable battery capacity for and EV or hybrid vehicle. Returns the actual value of battery capacity, when EV or hybrid. This property captures the real-time usable battery capacity taking into account factors such as battery aging and temperature dependency. This value might differ from INFO_EV_BATTERY_CAPACITY because INFO_EV_BATTERY_CAPACITY returns the nominal battery capacity from when the vehicle was new.

Change mode: ON_CHANGE
Access mode: READ
Enum type: N/A
Unit type: VehicleUnit:WH
Release: Android 14

EV_REGENERATIVE_BRAKING_STATE

Regenerative braking or one-pedal drive setting of the car. Returns the current setting associated with the regenerative braking setting in the car. If the OEM requires more setting than those provided in EvRegenerativeBrakingState, the EV_BRAKE_REGENERATION_LEVEL property can be used instead, which provides more granular information.

Change mode: ON_CHANGE
Access mode: READ
Enum type: EvRegenerativeBrakingState
Unit type: N/A
Release: Android 13

EV_STOPPING_MODE

Represents property for the current stopping mode of the vehicle. For the global area ID (0), the VehicleAreaConfig#supportedEnumValues must be defined unless all enum values of EvStoppingMode are supported. The EvStoppingMode enum may be extended to include more states in the future. This property is defined as VehiclePropertyAccess.READ_WRITE, but OEMs have the option to implement it as VehiclePropertyAccess.READ only.

Change mode: ON_CHANGE
Access mode: READ_WRITE/READ
Enum type: EvStoppingMode
Unit type: N/A
Release: Android 14

EVS_SERVICE_REQUEST

Enable and request an EVS service. The property provides a way to trigger EVS services. The VHAL should use this property to request Android to start or stop EVS service.

  • int32Values[0] Type of EVS service. The value must be and enum in EvsServiceType.
  • int32Values[1] State of the EVS service. The value must be one of enums in EvsServiceState.

For example, to enable rear view EVS service, Android can set the property value as:

[EvsServiceType::REAR_VIEW, EvsServiceState::ON]

Change mode: ON_CHANGE
Access mode: READ
Enum type: N/A
Unit type: N/A
Release: Android 13

EXTERNAL_CAR_TIME

Current date and time suggestion for the cr, encoded as Epoch time (in milliseconds). This value denotes the number of milliseconds seconds that have elapsed since 1/1/1970 UTC. This property signals a change in CarTime to Android. If the property is supported, VHAL must report the most accurate current CarTime when this property is read, and publish a change to this property when the CarTime value has changed.

An on-change event for this property must be published when CarTime changes for any reason other than the natural elapse of time (time delta smaller than 500ms should not trigger an on change event). Android will read and subscribe to this property to fetch time from VHAL. This can be useful to synchronize Android's time with other vehicle systems (dash clock). int64Values[0] = provided Epoch time (in milliseconds) Whenever a new Value for the property is received, AAOS creates and sends an ExternalTimeSuggestion to the TimeDetectorService.

If other sources do not have a higher priority, Android will use this to set the system time. For information on how to adjust time source priorities and how time suggestions are handled (including how Android handles gitter, drift, and minimum resolution), see the Time Detector Service documentation.

drift = elapsedTime - PropValue.timestamp effectiveTime = PropValue.value.int64Values[0] + drift

We strongly recommend that this propertynot be used to retrieve time from ECUs using protocols (such as GNSS, NTP, and Telephony). Since these protocols are already supported by Android, we recommend you use Android systems instead of wiring through the VHAL with this property.

Change mode: ON_CHANGE
Access mode: READ
Enum type: N/A
Unit type: VehicleUnit:MILLI_SECS
Release: Android 13

FOG_LIGHTS_STATE

Fog light state. Return the current state of fog lights. If the:

  • Car has front and rear fog lights. Front and rear fog lights can only be controlled together. FOG_LIGHTS_STATE must be implemented. FRONT_FOG_LIGHTS_STATE and REAR_FOG_LIGHTS_STATE must not be implemented.
  • Front and rear fog lights can only be controlled independently. FOG_LIGHTS_STATE must not be implemented and FRONT_FOG_LIGHTS_STATE and REAR_FOG_LIGHTS_STATE must be implemented.
  • Car has only front fog lights. Only one of FOG_LIGHTS_STATE or FRONT_FOG_LIGHTS_STATE must be implemented (not both). REAR_FOG_LIGHTS_STATE must not be implemented.
  • Car has only rear fog lights. Only one of FOG_LIGHTS_STATE or REAR_FOG_LIGHTS_STATE must be implemented (not both). FRONT_FOG_LIGHTS_STATE must not be implemented.

Change mode: ON_CHANGE
Access mode: READ
Enum type: VehicleLightState
Unit type: N/A
Release: Android 13

FOG_LIGHTS_SWITCH

Fog light switch. The setting wanted by the user. If the:

  • Car has both front and rear fog lights. If front and rear fog lights can only be controlled together, FOG_LIGHTS_SWITCH must be implemented. FRONT_FOG_LIGHTS_SWITCH and REAR_FOG_LIGHTS_SWITCH must not be implemented.
  • Front and rear fog lights can only be controlled independently. FOG_LIGHTS_SWITCH must not be implemented. FRONT_FOG_LIGHTS_SWITCH and REAR_FOG_LIGHTS_SWITCH must be implemented.
  • Car has only front fog lights. Only one of FOG_LIGHTS_SWITCH or FRONT_FOG_LIGHTS_SWITCH must be implemented (not both). REAR_FOG_LIGHTS_SWITCH must not be implemented.
  • Car has only rear fog lights. Only one of FOG_LIGHTS_SWITCH or REAR_FOG_LIGHTS_SWITCH must be implemented (and not both). FRONT_FOG_LIGHTS_SWITCH must not be implemented.

This property is defined as VehiclePropertyAccess.READ_WRITE, but OEMs can implement it as VehiclePropertyAccess.READ only.

Change mode: ON_CHANGE
Access mode: READ_WRITE/READ
Enum type: VehicleLightSwitch
Unit type: N/A
Release: Android 13

FORWARD_COLLISION_WARNING_ENABLED

Enable or disable Forward Collision Warning (FCW). Set to true to enable FCW and false to disable FCW. When FCW is enabled, the ADAS system in the vehicle should be turned on and monitoring for potential collisions. In general, FORWARD_COLLISION_WARNING_ENABLED should always return true or false. If the feature is not available due to some temporary state, such as the vehicle speed being too low, that information must be conveyed through the ErrorState values in the FORWARD_COLLISION_WARNING_STATE property.

This property is defined as VehiclePropertyAccess.READ_WRITE, but OEMs can implement it as VehiclePropertyAccess.READ only.

Change mode: ON_CHANGE
Access mode: READ_WRITE/READ
Enum type: N/A
Unit type: N/A
Release: Android 14

FORWARD_COLLISION_WARNING_STATE

Forward Collision Warning (FCW) state. Returns the current state of FCW. This property must always return a valid state defined in ForwardCollisionWarningState or ErrorState It must not surface errors through StatusCode and must use the supported error states instead. For the global area ID (0), the VehicleAreaConfig#supportedEnumValues array must be defined unless all states of both ForwardCollisionWarningState (including OTHER, which is not recommended) and ErrorState are supported.

Change mode: ON_CHANGE
Access mode: READ
Enun type: ForwardCollisionWarningState/ErrorState
Unit type: N/A
Release: Android 14

FRONT_FOG_LIGHTS_STATE

Front fog lights state. Returns the current state of the front fog lights. Only one of FOG_LIGHTS_STATE or FRONT_FOG_LIGHTS_STATE must be implemented. Refer to the documentation on FOG_LIGHTS_STATE for more information.

Change mode: ON_CHANGE
Access mode: READ
Enum type: VehicleLightState
Unit type: N/A
Release: Android 13

FRONT_FOG_LIGHTS_SWITCH

Front fog lights switch. The setting wanted by the user. Only one of FOG_LIGHTS_SWITCH or FRONT_FOG_LIGHTS_SWITCH must be implemented. Refer to the documentation on FOG_LIGHTS_SWITCH for more information.

This property is defined as VehiclePropertyAccess.READ_WRITE, but OEMs can implement it as VehiclePropertyAccess.READ only.

Change mode: ON_CHANGE
Access mode: READ_WRITE/READ
Enum type: VehicleLightSwitch
Unit type: N/A
Release: Android 13

FUEL_CONSUMPTION_UNITS_DISTANCE_OVER_VOLUME

Fuel consumption units for display. Indicates type of units the car is using to display fuel consumption information to user True indicates units are distance over volume such as MPG. False indicates units are volume over distance such as L/100KM. This property is defined as VehiclePropertyAccess.READ_WRITE, but OEMs can implement it as VehiclePropertyAccess.READ only.

Change mode: ON_CHANGE
Access mode: READ_WRITE/READ
Enum type: N/A
Unit type: N/A
Release: Android 13

FUEL_DOOR_OPEN

Fuel door open. This property must communicate if the fuel door on the vehicle is open or not. This property does not apply to EVs. That is, if INFO_FUEL_TYPE only contains FuelType::FUEL_TYPE_ELECTRIC, this property must not be implemented. For EVs, implement EV_CHARGE_PORT_OPEN. This property is defined as VehiclePropertyAccess.READ_WRITE but OEMs can implement it as VehiclePropertyAccess.READ only.

Change mode: ON_CHANGE
Access mode: READ_WRITE/READ
Enum type: N/A
Unit type: N/A
Release: Android 13

FUEL_LEVEL

Fuel remaining in the vehicle, in milliliters. This property must communicate the current amount of fuel remaining in the vehicle in milliliters. This property does not apply to electric vehicles. That is, if INFO_FUEL_TYPE only contains FuelType::FUEL_TYPE_ELECTRIC, this property must not be implemented. For EVs, implement EV_BATTERY_LEVEL Value can not exceed INFO_FUEL_CAPACITY

Change mode: CONTINUOUS
Access mode: READ
Enum type: N/A
Unit type: VehicleUnit:MILLILITER
Release: Android 13

FUEL_LEVEL_LOW

Warning for fuel low level. This property corresponds to the low fuel warning on the dashboard. Once FUEL_LEVEL_LOW is set, it should not be cleared until more fuel is added to the vehicle. This property can account for all fuel sources in a vehicle. For example, in a:

  • Gas-powered vehicle, this property is based solely on gas level.
  • Battery powered vehicle, this property is based only on battery level.
  • Hybrid vehicle, this property may can based on a combination of gas and battery levels, at the OEM's discretion.

Change mode: ON_CHANGE
Access mode: READ
Enum type: N/A
Unit type: N/A
Release: Android 13

FUEL_VOLUME_DISPLAY_UNITS

Fuel volume units for display. Indicates which units the car is using to display fuel volume to the user. For example, Liter or Gallon. VehiclePropConfig.configArray is used to indicate the supported fuel volume display units. Volume units are defined in VehicleUnit For example, configArray[0] = LITER configArray[1] = GALLON If updating FUEL_VOLUME_DISPLAY_UNITS affects the values of other *_DISPLAY_UNITS properties, then their values must be updated and communicated to the AAOS framework, too. This property is defined as VehiclePropertyAccess.READ_WRITE, but OEMs can implement it as VehiclePropertyAccess.READ only.

Change mode: ON_CHANGE
Access mode: READ_WRITE/READ
Enum type: VehicleUnit
Unit type: N/A
Release: Android 13

GEAR_SELECTION

The gear selected by the user. Values in the config data must represent the list of supported gears for this vehicle. For example, config data for an automatic transmission must contain {GEAR_NEUTRAL, GEAR_REVERSE, GEAR_PARK, GEAR_DRIVE, GEAR_1, GEAR_2,...} and for manual transmission the list must be {GEAR_NEUTRAL, GEAR_REVERSE, GEAR_1, GEAR_2,...} For an automatic transmission vehicle that allows the driver to select specific gears on demand (for example, manual mode), the value for GEAR_SELECTION must be set to the specific gear selected by the driver instead of GEAR_DRIVE

Change mode: ON_CHANGE
Access mode: READ
Enum type: VehicleGear
Unit type: N/A
Release: Android 13

GENERAL_SAFETY_REGULATION_COMPLIANCE_REQUIREMENT

EU's General security regulation compliance requirement. Returns a value to indicate if general security regulation compliance is required and, if so, the type of requirement.

Change mode: STATIC
Access mode: READ
Enum type: GsrComplianceRequirementType
Unit type: N/A
Release: Android 14

GLOVE_BOX_DOOR_POS

Property that represents the current position of the glove box door. The maxInt32Value and minInt32Value in VehicleAreaConfig must be defined. All integers between minInt32Value and maxInt32Value must be supported. The minInt32Value indicates that the glove box door is closed. The minInt32Value must be 0. The maxInt32Value indicates that the glove box door is in the fully open position. Values in between minInt32Value and maxInt32Value indicate a transition state between the closed and fully open positions.

This property is not in any particular unit but in a specified range of relative positions. The area ID must match the seat by which the glove box is intended to be used. For example if the front right dashboard has a glove box embedded in it, then the area ID should be SEAT_1_RIGHT

This property is defined as VehiclePropertyAccess.READ_WRITE, but OEMs can implement it as VehiclePropertyAccess.READ only.

Change mode: ON_CHANGE
Access mode: READ_WRITE/READ
Enum type: N/A
Unit type: N/A
Release: Android 14

GLOVE_BOX_LOCKED

Lock or unlock the glove box. If true, the glove box is locked. If false, the glove box is unlocked. The area ID must match the seat by which the glove box is intended to be used. For example, if the front right dashboard has an embedded glove box embedded, then the area ID should be VehicleAreaSeat#ROW_1_RIGHT

This property is defined as VehiclePropertyAccess.READ_WRITE, but OEMs can implement it as VehiclePropertyAccess.READ only.

Change mode: ON_CHANGE
Access mode: READ_WRITE/READ
Enum type: N/A
Unit type: N/A
Release: Android 14

H 到 I

HANDS_ON_DETECTION_DRIVER_STATE

Hands On Detection (HOD) driver state. Returns whether the driver's hands are on the steering wheel. Generally, this property should return a valid state defined in the HandsOnDetectionDriverState or ErrorState For example, if the feature is not available due to some temporary state, that information should be conveyed through ErrorState If the vehicle wants to send a warning to the user because the driver's hands have been off the steering wheel for too long, the warning should be surfaced through HANDS_ON_DETECTION_WARNING For the global area ID (0), the VehicleAreaConfig#supportedEnumValues array must be defined unless all states of both HandsOnDetectionDriverState (including OTHER, which is not recommended) and ErrorState are supported.

Change mode: ON_CHANGE
Access mode: READ
Enum type: HandsOnDetectionDriverState/ErrorState
Unit type: N/A
Release: Android 14

HANDS_ON_DETECTION_ENABLED

Enable or disable Hands On Detection (HOD). Set true to enable HOD and false to disable HOD. When HOD is enabled, a system inside the vehicle should be monitoring the presence of the driver's hands on the steering wheel and send a warning if it detects that the driver's hands are no longer on the steering wheel. In general, HANDS_ON_DETECTION_ENABLED should always return true or false.

If the feature is not available due to some temporary state, that information must be conveyed through the ErrorState values in the HANDS_ON_DETECTION_STATE property. This property is defined as minInt32Value VehiclePropertyAccess.READ_WRITE, but OEMs can implement it is VehiclePropertyAccess.READ only.

Change mode: ON_CHANGE
Access mode: READ_WRITE/READ
Enum type: N/A
Unit type: N/A
Release: Android 14

HANDS_ON_DETECTION_WARNING

Hands On Detection (HOD) warning. Returns whether a warning is being sent to the driver for having their hands off the wheel for too long a duration. Generally, this property should return a valid state defined in HandsOnDetectionWarning or ErrorState For example, if the feature is not available due to some temporary state, that information should be conveyed through an ErrorState For the global area ID (0), the VehicleAreaConfig#supportedEnumValues array must be defined unless all states of both HandsOnDetectionWarning (including OTHER, which is not recommended) and ErrorState are supported.

Change mode: ON_CHANGE
Access mode: READ
Enum type: HandsOnDetectionWarning/ErrorState
Unit type: N/A
Release: Android 14

HAZARD_LIGHTS_STATE

Hazard light status. Return the current status of hazard lights.

Change mode: ON_CHANGE
Access mode: READ
Enum type: VehicleLightState
Unit type: N/A
Release: Android 13

HAZARD_LIGHTS_SWITCH

Hazard light switch. The setting that the user wants. This property is defined as VehiclePropertyAccess.READ_WRITE, but OEMs can implement it as VehiclePropertyAccess.READ only.

Change mode: ON_CHANGE
Access mode: READ_WRITE/READ
Enum type: VehicleLightSwitch
Unit type: N/A
Release: Android 13

HEADLIGHTS_STATE

Headlights state. Returns the current state of headlights.

Change mode: ON_CHANGE
Access mode: READ
Enum type: VehicleLightState
Unit type: N/A
Release: Android 13

HEADLIGHTS_SWITCH

Headlight switch. The setting that the user wants. This property is defined as VehiclePropertyAccess.READ_WRITE, but OEMs can implement it as VehiclePropertyAccess.READ only.

Change mode: ON_CHANGE
Access mode: READ_WRITE/READ
Enum type: VehicleLightSwitch
Unit type: N/A
Release: Android 13

HIGH_BEAM_LIGHTS_STATE

High beam lights state. Returns the current state of high beam lights.

Change mode: ON_CHANGE
Access mode: READ
Enum type: VehicleLightState
Unit type: N/A
Release: Android 13

HIGH_BEAM_LIGHTS_SWITCH

High beam light switch. The setting that the user wants. This property is defined as VehiclePropertyAccess.READ_WRITE, but OEMs can implement it as VehiclePropertyAccess.READ only.

Change mode: ON_CHANGE
Access mode: READ_WRITE/READ
Enum type: VehicleLightSwitch
Unit type: N/A
Release: Android 13

HVAC_AC_ON

Turn AC on and off AC for the designated areaId. This property is defined as VehiclePropertyAccess.READ_WRITE, but OEMs can implement it as VehiclePropertyAccess.READ

Change mode: ON_CHANGE
Access mode: READ_WRITE/READ
Enum type: N/A
Unit type: N/A
Release: Android 13

HVAC_ACTUAL_FAN_SPEED_RPM

Actual fan speed.

Change mode: ON_CHANGE
Access mode: READ
Enum type: N/A
Unit type: N/A
Release: Android 13

HVAC_AUTO_ON

Turn automatic climate control on and off. If true, automatic climate control is on. If false, automatic climate control is off. If the vehicle does not support directly turning off automatic climate control, then OEMs should add logic in their VHAL implementation to set HVAC_AUTO_ON to false, which changes the necessary HVAC settings to indirectly turn off HVAC_AUTO_ON Ideally, this should not disrupt the user. OEMs should revert to the previous state any settings that were modified when automatic climate control is off. This way, the only outcome should be that HVAC_AUTO_ON is off. If restoring HVAC settings to previous settings is not possible, then the OEM should implement the least disruptive change.

Change mode: ON_CHANGE
Access mode: READ_WRITE/READ
Enum type: N/A
Unit type: N/A
Release: Android 13

HVAC_AUTO_RECIRC_ON

Automatic recirculation on or off. When automatic recirculation is on, the HVAC system may automatically switch to recirculation mode if the vehicle detects poor incoming air quality. This property is defined as VehiclePropertyAccess.READ_WRITE but OEMs can implement it as VehiclePropertyAccess.READ only.

Change mode: ON_CHANGE
Access mode: READ_WRITE/READ
Enum type: N/A
Unit type: N/A
Release: Android 13

HVAC_DEFROSTER

Fan-based defrost for designated window. This property is defined as VehiclePropertyAccess.READ_WRITE but OEMs can implement it as VehiclePropertyAccess.READ

Change mode: ON_CHANGE
Access mode: READ_WRITE/READ
Enum type: N/A
Unit type: N/A
Release: Android 13

HVAC_DUAL_ON

Enable temperature coupling between areas. The AreaIDs for the HVAC_DUAL_ON property shall contain a combination of HVAC_TEMPERATURE_SET AreaIDs that can be coupled together. If HVAC_TEMPERATURE_SET is mapped to AreaIDs[a_1, a_2, ..., a_n] and if HVAC_DUAL_ON can be enabled to couple a_i and a_j, then HVAC_DUAL_ON property must be mapped to [a_i | a_j]. Further, if a_k and a_l can also be coupled together separately, then HVAC_DUAL_ON must be mapped to [a_i | a_j, a_k | a_l]. For example, a car has two front seats (ROW_1_LEFT and ROW_1_RIGHT) and three back seats (ROW_2_LEFT, ROW_2_CENTER, and ROW_2_RIGHT). There are two temperature control units, driver side and passenger side, which can be optionally synchronized. This can be expressed this way in the AreaIDs:

HVAC_TEMPERATURE_SET > [ROW_1_LEFT | ROW_2_LEFT, ROW_1_RIGHT | ROW_2_CENTER | ROW_2_RIGHT]
HVAC_DUAL_ON > [ROW_1_LEFT | ROW_2_LEFT | ROW_1_RIGHT | ROW_2_CENTER | ROW_2_RIGHT]

When the property is enabled, the ECU must synchronize the temperature for the affected areas. Any parameters modified as a side effect of turning on or off the DUAL_ON parameter shall generate onPropertyEvent() callbacks to the VHAL. In addition, if setting a temperature (for example, driver temperature) changes another temperature (such as front passenger temperature), then the appropriate onPropertyEvent() callbacks must be generated.

If a user changes a temperature that breaks the coupling (for example, sets passenger temperature independently), then the VHAL must send the appropriate onPropertyEvent() callbacks (including HVAC_DUAL_ON = false and HVAC_TEMPERATURE_SET[AreaID] = xxx). This property is defined as VehiclePropertyAccess.READ_WRITE but OEMs can implement it as VehiclePropertyAccess.READ

Change mode: ON_CHANGE
Access mode: READ_WRITE/READ
Enum type: N/A
Unit type: N/A
Release: Android 13

HVAC_ELECTRIC_DEFROSTER_ON

Electric defrosters' status.

This property is defined as VehiclePropertyAccess.READ_WRITE, but OEMs can implement it as VehiclePropertyAccess.READ

Change mode: ON_CHANGE
Access mode: READ_WRITE/READ
Enum type: N/A
Unit type: N/A
Release: Android 13

HVAC_FAN_DIRECTION

Fan direction setting. This property is defined as VehiclePropertyAccess.READ_WRITE, but OEMs can implement it as VehiclePropertyAccess.READ only.

Change mode: ON_CHANGE
Access mode: READ_WRITE/READ
Enum type: VehicleHvacFanDirection
Unit type: N/A
Release: Android 13

HVAC_FAN_DIRECTION_AVAILABLE

Fan positions available. This is a bit mask of fan positions available for the zone. Each available fan direction is denoted by a separate entry in the vector. A fan direction can have multiple bits from vehicle_hvac_fan_direction set. For instance, a typical car may have these fan positions:

- FAN_DIRECTION_FACE (0x1) - FAN_DIRECTION_FLOOR (0x2) - FAN_DIRECTION_FACE | FAN_DIRECTION_FLOOR (0x3) - FAN_DIRECTION_DEFROST (0x4) - FAN_DIRECTION_FLOOR | FAN_DIRECTION_DEFROST (0x6)

Change mode: STATIC
Access mode: READ
Enum type: VehicleHvacFanDirection
Unit type: N/A
Release: Android 13

HVAC_FAN_SPEED

Fan speed setting. The maxInt32Value and minInt32Value in VehicleAreaConfig must be defined. All integers between minInt32Value and maxInt32Value must be supported.

  • minInt32Value lowest fan speed
  • maxInt32Value highest fan speed

This property is not in any specific unit but in a specified range of relative speeds. This property is defined as VehiclePropertyAccess.READ_WRITE, but OEMs can elect to implement it as VehiclePropertyAccess.READ only.

Change mode: ON_CHANGE
Access mode: READ_WRITE/READ
Enum type: N/A
Unit type: N/A
Release: Android 13

HVAC_MAX_AC_ON

MAX AC on or off. When MAX AC is on, the ECU can adjust items such as vent position, fan speed, and temperature as needed to cool the vehicle as quickly as possible. Any parameters modified as a side effect of turning on or off the MAX AC parameter generates onPropertyEvent() callbacks to the VHAL. This property is defined as VehiclePropertyAccess.READ_WRITE but OEMs can implement it as VehiclePropertyAccess.READ

Change mode: ON_CHANGE
Access mode: READ_WRITE/READ
Enum type: N/A
Unit type: N/A
Release: Android 13

HVAC_MAX_DEFROST_ON

Turn MAX DEFROST on and off. When MAX DEFROST is on, the ECU can adjust items such as vent position, fan speed, and temperature as needed to defrost the windows as quickly as possible. Any parameters modified as a side effect of turning on or off MAX DEFROST parameter generates onPropertyEvent() callbacks to the VHAL. The AreaIDs for HVAC_MAX_DEFROST_ON indicate MAX DEFROST can be controlled in the area. For example, areaConfig.areaId = {ROW_1_LEFT | ROW_1_RIGHT} indicates that HVAC_MAX_DEFROST_ON can only be controlled for the front rows. This property is defined as VehiclePropertyAccess.READ_WRITE but OEMs can implement it as VehiclePropertyAccess.READ

Change mode: ON_CHANGE
Access mode: READ_WRITE/READ
Enum type: N/A
Unit type: N/A
Release: Android 13

HVAC_POWER_ON

Represents the global power state for HVAC. Setting this property to false MAY mark some properties that control individual HVAC features and subsystems in the UNAVAILABLE state. Setting this property to true MAY mark some properties that control individual HVAC features and subsystems to the AVAILABLE state (unless any or all of the properties are UNAVAILABLE on their own individual merits).

HvacPower_DependentProperties are those properties that require HVAC to be powered on to enable functionality. In some cars, for example, to turn on the AC, HVAC must first be powered on. The HvacPower_DependentProperties list must be set in the VehiclePropConfig.configArray HvacPower_DependentProperties must only contain those properties associated with VehicleArea:SEAT

AreaID mapping for HVAC_POWER_ON property must contain all AreaIDs that HvacPower_DependentProperties are mapped to. For example, a car has two:

  1. Front seats (ROW_1_LEFT, ROW_1_RIGHT) and three back seats (ROW_2_LEFT, ROW_2_CENTER, ROW_2_RIGHT). If the HVAC features (AC, Temperature etc.) throughout the car are dependent on a single HVAC power controller, then HVAC_POWER_ON must be mapped to [ROW_1_LEFT | ROW_1_RIGHT | ROW_2_LEFT | ROW_2_CENTER | ROW_2_RIGHT]
  2. Seats in the front row (ROW_1_LEFT, ROW_1_RIGHT) and three seat in the second (ROW_2_LEFT, ROW_2_CENTER, ROW_2_RIGHT) and third rows (ROW_3_LEFT, ROW_3_CENTER, ROW_3_RIGHT). If the car has temperature controllers in the front row that can operate entirely independently of temperature controllers in the back of the vehicle, then HVAC_POWER_ON must be mapped to a two element array:
    - ROW_1_LEFT | ROW_1_RIGHT - ROW_2_LEFT | ROW_2_CENTER | ROW_2_RIGHT | ROW_3_LEFT | ROW_3_CENTER | ROW_3_RIGHT
    

This property is defined as VehiclePropertyAccess.READ_WRITE, but OEMs have the option to implement it as VehiclePropertyAccess.READ only.

Change mode: ON_CHANGE
Access mode: READ_WRITE/READ
Enum type: N/A
Unit type: N/A
Release: Android 13

HVAC_RECIRC_ON

Recirculation on and off. Controls the supply of exterior air to the cabin. Recirc on means most of the airflow into the cabin originates in the cabin. Recirc off means most of the airflow into the cabin comes from outside the car. This property is defined as VehiclePropertyAccess.READ_WRITE but OEMs can implement it as VehiclePropertyAccess.READ

Change mode: ON_CHANGE
Access mode: READ_WRITE/READ
Enum type: N/A
Unit type: N/A
Release: Android 13

HVAC_SEAT_TEMPERATURE

Seat heating and cooling. The maxInt32Value and minInt32Value in VehicleAreaConfig must be defined. All integers between minInt32Value and maxInt32Value must be supported. The maxInt32Value indicates the maximum seat temperature heating setting. The minInt32Value must be 0, unless the vehicle supports seat cooling. In this case, minInt32Value indicates the maximum seat temperature cooling setting. This property is not in any specific unit, but in a specified range of relative temperature settings. This property is defined as VehiclePropertyAccess.READ_WRITE, but OEMs can implement it as VehiclePropertyAccess.READ only.

Change mode: ON_CHANGE
Access mode: READ_WRITE/READ
Enum type: N/A
Unit type: N/A
Release: Android 13

HVAC_SEAT_VENTILATION

Seat ventilation. The maxInt32Value and minInt32Value in VehicleAreaConfig must be defined. All integers between minInt32Value and maxInt32Value must be supported. The minInt32Value must be 0. The maxInt32Value indicates the maximum ventilation setting available for the seat.

This property is not in any particular unit but in the specified range of ventilation settings.

Used by HVAC apps and Assistant to enable, change, or read state of seat ventilation. This is different than seating cooling. It can be on at the same time as cooling, or not.

This property is defined as >VehiclePropertyAccess.READ_WRITE, but OEMs can implement it as VehiclePropertyAccess.READ only.

Change mode: ON_CHANGE
Access mode: READ_WRITE/READ
Enum type: N/A
Unit type: N/A
Release: Android 13

HVAC_SIDE_MIRROR_HEAT

Side mirror heat. Increasing values denote higher heating levels for side mirrors. You must define maxInt32Value and minInt32Value in VehicleAreaConfig All integers between minInt32Value and maxInt32Value must be supported. In config data:

  • maxInt32Value represents maximum heating level.
  • minInt32Value MUST be 0 and indicates no heating.

This property is not in any particular unit but in a specified range of relative heating settings. This property is defined as VehiclePropertyAccess.READ_WRITE, but OEMs have the option to implement it as VehiclePropertyAccess.READ

Change mode: ON_CHANGE
Access mode: READ_WRITE/READ
Enum type: N/A
Unit type: N/A
Release: Android 13

HVAC_STEERING_WHEEL_HEAT

Sets the amount of heating and cooling for the steering wheel. The maxInt32Value and minInt32Value in VehicleAreaConfig must be defined. All integers between minInt32Value and maxInt32Value must be supported. The maxInt32Value indicates the maximum steering wheel heating setting. The minInt32Value should be 0, unless the vehicle supports steering wheel cooling, too. In this case, the minInt32Value indicates the maximum steering wheel cooling setting. This property is not in any particular unit but in a specified range of heating settings. This property is defined as VehiclePropertyAccess.READ, but OEMs can implement it as VehiclePropertyAccess.READ only.

Change mode: ON_CHANGE
Access mode: READ_WRITE/READ
Enum type: N/A
Unit type: N/A
Release: Android 13

HVAC_TEMPERATURE_CURRENT

HVAC current temperature.

Change mode: ON_CHANGE
Access mode: READ
Enum type: N/A
Unit type: VehicleUnit:CELSIUS
Release: Android 13

HVAC_TEMPERATURE_DISPLAY_UNITS

Temperature units for display. Indicates if temperature is displayed in Celsius or Fahrenheit. VehiclePropConfig.configArray indicates the supported temperature display units. For example, configArray[0] = CELSIUS configArray[1] = FAHRENHEIT This parameter MAY be used to display any HVAC temperature in the system. Values must be one of VehicleUnit.CELSIUS or VehicleUnit.FAHRENHEIT

If updating HVAC_TEMPERATURE_DISPLAY_UNITS affects the values of other *_DISPLAY_UNITSproperties, then their values must be updated and communicated to the AAOS framework.

This property is defined as VehiclePropertyAccess.READ_WRITE, but OEMs can implement it is VehiclePropertyAccess.READ only.

Change mode: ON_CHANGE
Access mode: READ_WRITE/READ
Enum type: VehicleUnit
Unit type: N/A
Release: Android 13

HVAC_TEMPERATURE_SET

HVAC target temperature set in Celsius.

The minFloatValue and maxFloatValue in VehicleAreaConfig must be defined:

  • minFloatValue minimum temperature setting in Celsius.
  • maxFloatValue maximum temperature setting in Celsius.

If all the values between minFloatValue and maxFloatValue are not supported, use the configArray to list the valid temperature values that can be set. This also describes a lookup table to convert the temperature from Celsius to Fahrenheit (and vice versa) for the vehicle. The configArray must be defined if standard unit conversion is not supported on the vehicle.

The configArray is set as follows:

  • configArray[0] [lower bound of supported temperature in Celsius] * 10
  • configArray[1] [upper bound of supported temperature in Celsius] * 10
  • configArray[2] [increment in Celsius] * 10
  • configArray[3] [lower bound of the supported temperature in Fahrenheit] * 10
  • configArray[4] [upper bound of the supported temperature in Fahrenheit] * 10
  • configArray[5] [increment in Fahrenheit] * 10

The minFloatValue and maxFloatValue in VehicleAreaConfig must be equal to configArray[0] and configArray[1] respectively. For example, if the vehicle supports temperature values as [16.0, 16.5, 17.0 ,..., 28.0] in Celsius [60.5, 61.5, 62.5 ,..., 84.5] in Fahrenheit, the configArray should be configArray = {160, 280, 5, 605, 845, 10}

Ideally, the ratio of the Celsius increment to the Fahrenheit increment should be as close to the actual ratio of 1 degree Celsius to 1.8 degrees Fahrenheit. There must be a one-to-one mapping of all Celsius values to Fahrenheit values defined by the configArray The configArray is used by clients to convert this property's temperature from Celsius to Fahrenheit. Also, it lets clients know what Celsius value to set the property to achieve their desired Fahreneheit value for the system. If the ECU does not have a one-to-one mapping of all Celsius values to Fahrenheit values, then the configArray should only define the list of Celsius and Fahrenheit values that have a one-to-one mapping.

For example, if the ECU supports Celsius values from 16 to 28 and Fahrenheit values from 60 to 85, each with an increment of 1, then one possible configArray is code>{160, 280, 10, 600, 840, 20}In this case, 85 is not a supported temperature.

Any value set in between a valid value should be rounded to the closest valid value. We highly recommended that the OEM also implement the HVAC_TEMPERATURE_VALUE_SUGGESTION vehicle property because it provides applications with a simple method for determining temperature values that can be set for a vehicle and for converting values between Celsius and Fahrenheit.

This property is defined as VehiclePropertyAccess.READ, but OEMs can implement it as VehiclePropertyAccess.READ

Change mode: ON_CHANGE
Access mode: READ_WRITE/READ
Enum type: N/A
Unit type: VehicleUnit:CELSIUS
Release: Android 13

HVAC_TEMPERATURE_VALUE_SUGGESTION

Suggested values for setting HVAC temperature.

Implement the property to help applications understand the closest supported temperature value in Celsius or Fahrenheit.

  • floatValues[0] Requested value that an app wants to set a temperature to.
  • floatValues[1] Unit for floatValues[0] and should be one of {VehicleUnit.CELSIUS, VehicleUnit.FAHRENHEIT}
  • floatValues[2] Value OEMs suggested in CELSIUS (this value is not included in the request).
  • floatValues[3] Value OEMs suggested in FAHRENHEIT (this value is not included in the request).

An application calls set(VehiclePropValue propValue) with the requested value and unit for the value. OEMs need to return the suggested values in floatValues[2] and floatValues[3] by onPropertyEvent() callbacks. The suggested values must conform to the values that can be derived from the HVAC_TEMPERATURE_SET configArray In other words, the suggested values and the table of values from the configArray should be the same.

We recommended that the OEM add custom logic in their VHAL implementation to avoid making requests to the HVAC ECU. The logic can be as follows. To convert temperature from Celsius to Fahrenheit:

// Given tempC and the configArray float minTempC = configArray[0] / 10.0; float temperatureIncrementCelsius = configArray[2] / 10.0; float minTempF = configArray[3] / 10.0; float temperatureIncrementFahrenheit = configArray[5] / 10.0; // Round to the closest increment int numIncrements = round((tempC - minTempC) / temperatureIncrementCelsius); tempF = temperatureIncrementFahrenheit * numIncrements + minTempF;

For example, when a driver uses the voice assistant to set HVAC temperature to 66.2 in Fahrenheit. First, an application sets this property with the value [66.2, (float)VehicleUnit.FAHRENHEIT,0,0] If an OEM suggests to set 19.0 in Celsius or 66.5 in Fahrenheit at the user's request, then VHAL must generate a callback with a property value [66.2, (float)VehicleUnit.FAHRENHEIT, 19.0, 66.5] After the voice assistant gets the callback, it informs the user and sets the HVAC temperature to the suggested value.

Another example, an app receives 21 Celsius as the current temperature value by querying HVC_TEMPERATURE_SET but the app needs to know what value is displayed on the car's UI in Fahrenheit. For this, the app sets the property to [21, (float)VehicleUnit.CELSIUS, 0, 0] If the suggested value by the OEM for 21 Celsius is 70 Fahrenheit, then VHAL must generate a callback with property value [21, (float)VehicleUnit.CELSIUS, 21.0, 70.0] In this case, the app can know that the value is 70.0 Fahrenheit in the car's UI.

Change mode: ON_CHANGE
Access mode: READ_WRITE
Enum type: N/A
Unit type: N/A
Release: Android 13

HW_CUSTOM_INPUT

Defines a custom OEM partner input event. This input event must be used by OEM partners who want to propagate events not supported by Android. It is composed by an array of int32 values only. The Android properties are:

  • int32Values[0] Input code identifying the function representing this event. Valid event types are defined by CustomInputType.CUSTOM_EVENT_F1 up to CustomInputType.CUSTOM_EVENT_F10 They represent the custom event to be defined by OEM partners.
  • int32Values[1] Target display type defined in VehicleDisplay Events not tied to a specific display must be sent to VehicleDisplay#MAIN
  • int32Values[2] Repeat counter, if 0 then event is not repeated. Values 1 or higher indicate how many times this event has been repeated.

Change mode: ON_CHANGE
Access mode: READ
Enum type: CustomInputType
Unit type: N/A
Release: Android 13

HW_KEY_INPUT

Property to feed hardware input events to Android.

  • int32Values[0] Action defined by VehicleHwKeyInputAction
  • int32Values[1] Key code, must use standard android key code
  • int32Values[2] Target display defined in VehicleDisplay Events not tied to specific display must be sent to VehicleDisplay#MAIN
  • int32Values[3] (Optional) Number of ticks. The value must be equal o greater than 1. When omitted, Android defaults to 1.

Change mode: .ON_CHANGE
Access mode: READ
Enum type: N/A
Unit type: N/A
Release: Android 13

HW_KEY_INPUT_V2

Property to feed hardware input events to Android.

  • int32array[0] Target display defined by VehicleDisplay such as:
    VehicleDisplay::MAIN, VehicleDisplay::INSTRUMENT_CLUSTER, VehicleDisplay::AUX
  • int32array[1] Key code, must use the standard Android key code, such as KEYCODE_HOME and KEYCODE_BACK
  • int32array[2] action defined in VehicleHwKeyInputAction, such as:
    VehicleHwKeyInputAction::ACTION_UP, VehicleHwKeyInputAction::ACTION_UP
  • int32array[3] Repeat count of the event. For key down events, this is the repeat count with the first down starting at 0 and counting up from there. For key up events, this is always equal to 0.
  • int64array[0] Down time in elapsed nanoseconds since the last boot. Denotes the time of the most recent key down event. For the down event, this is the event time of the down event.

Change mode: ON_CHANGE
Access mode: READ
Enum type: N/A
Unit type: N/A
Release: Android 14

HW_MOTION_INPUT

Property to feed hardware input events to Android.

  • int32array[0] Target display defined by VehicleDisplay, such as:
    VehicleDisplay::MAIN, VehicleDisplay::INSTRUMENT_CLUSTER, VehicleDisplay::AUX
  • int32array[1] Input type defined in VehicleHwMotionInputSource, such as:
    VehicleHwMotionInputSource::SOURCE_KEYBOARD, VehicleHwMotionInputSource::SOURCE_DPAD
  • int32array[2] Action code defined in VehicleHwMotionInputAction, such as:
    VehicleHwMotionInputAction::ACTION_UP, VehicleHwMotionInputAction::ACTION_DOWN
  • int32array[3] Button state flag defined in VehicleHwMotionButtonStateFlag, such as:
    VehicleHwMotionButtonStateFlag::BUTTON_PRIMARY, VehicleHwMotionButtonStateFlag::BUTTON_SECONDARY
  • int32array[4] Pointer events count, N. N must be a positive integer.
  • int32array[5:5+N-1] Pointer id, length N
  • int32array[5+N:5+2*N-1] Tool type, length N. As defined in VehicleHwMotionToolType, such as:
    VehicleHwMotionToolType::TOOL_TYPE_FINGER, VehicleHwMotionToolType::TOOL_TYPE_STYLUS
  • floatArray[0:N-1] x data, length N
  • floatArray[N:2*N-1] y data, length N
  • floatArray[2*N:3*N-1] pressure data, length N
  • floatArray[3*N:4*N-1] size data, length N
  • int64array[0] Down time, elapsed nanoseconds since boot. Denotes the time when the user originally pressed down to start a stream of position events. For the down event, it is the event time of the down event.

Change mode: ON_CHANGE
Access mode: READ
Enum type: N/A
Unit type: N/A
Release: Android 14

HW_ROTARY_INPUT

Property to feed hardware rotary events to Android.

  • int32Values[0] RotaryInputType to identify which rotary knob is rotated.
  • int32Values[1] Number of detents (clicks), positive for clockwise, negative for counterclockwise.
  • int32Values[2] Target display defined in VehicleDisplay Events not tied to a specific display must be sent to VehicleDisplay#MAIN
  • int32values[3 .. 3 + abs(number of detents) - 2] Nanosecond deltas between pairs of consecutive detents when the number of detents is more than 1 or less than -1.
  • VehiclePropValue.timestamp When the rotation took place. If the number of detents is more than 1 or less than -1, when the first detent of rotation took place.

Change mode: ON_CHANGE
Access mode: READ
Enum type: RotaryInputType
Unit type: N/A
Release: Android 13

IGNITION_STATE

Represents ignition state.

Change mode: ON_CHANGE
Access mode: READ
Enum type: VehicleIgnitionState
Unit type: N/A
Release: Android 13

INFO_DRIVER_SEAT

Driver's seat location VHAL implementations must ignore the areaId. Use VehicleArea:GLOBAL

Change mode: STATIC
Access mode: READ
Enum type: VehicleAreaSeat
Unit type: N/A
Release: Android 13

INFO_EV_BATTERY_CAPACITY

Nominal battery capacity for EV or hybrid vehicle. Returns the nominal battery capacity, EV or hybrid. This is the total usable battery capacity when the vehicle is new. This value may differ from EV_CURRENT_BATTERY_CAPACITY because EV_CURRENT_BATTERY_CAPACITY returns the real-time usable battery capacity taking into account factors such as battery aging and temperature dependency.

Change mode: STATIC
Access mode: READ
Enum type: N/A
Unit type: VehicleUnit:WH
Release: Android 13

INFO_EV_CONNECTOR_TYPE

List of connectors this EV may use. If the vehicle has multiple charging ports, this property must return all possible connector types that can be used by at least one charging port on the vehicle.

Change mode: STATIC
Access mode: READ
Enum type: EvConnectorType
Unit type: N/A
Release: Android 13

INFO_EV_PORT_LOCATION

This property must communicate the location of the charging port on the EV using the PortLocationType enum. If a vehicle has multiple ports, this property must return the port that allows the fastest charging. To communicate all port locations, use INFO_MULTI_EV_PORT_LOCATIONS

EV port location: STATIC
Access mode: READ
Enum type: PortLocationType
Unit type: N/A
Release: Android 13

INFO_EXTERIOR_DIMENSIONS

Exterior dimensions of vehicle:

  • Height: int32Values[0]
  • Length: int32Values[1]
  • Width: int32Values[2]
  • Width, including mirrors: int32Values[3]
  • Wheel base, including mirrors: int32Values[4]
  • Track width front: int32Values[5]
  • Track width rear: int32Values[6]
  • Curb-to-curb turning diameter: int32Values[7]

Change mode: STATIC
Access mode: READ
Enum type: N/A
Unit type: VehicleUnit:MILLIMETER
Release: Android 13

INFO_FUEL_CAPACITY

Fuel capacity of the vehicle in milliliters. This property must communicate the maximum amount of fuel that can be stored in the vehicle in milliliters. This property does not apply to electric vehicles (EV). That is, if INFO_FUEL_TYPE only contains FuelType::FUEL_TYPE_ELECTRIC, INFO_FUEL_CAPACITY must not be implemented. For EVs, implement INFO_EV_BATTERY_CAPACITY.

Change mode: STATIC
Access mode: READ
Enum type: N/A
Unit type: VehicleUnit:MILLILITER
Release: Android 13

INFO_FUEL_DOOR_LOCATION

Fuel door location. This property must communicate the location of the fuel door on the vehicle. This property does not apply to EVs. That is, if INFO_FUEL_TYPE only contains FuelType::FUEL_TYPE_ELECTRIC, this property must not be implemented. For EVs, implement INFO_EV_PORT_LOCATION or INFO_MULTI_LOCATIONS

Change mode: STATIC
Access mode: READ
Enum type: PortLocationType
Unit type: N/A
Release: Android 13

INFO_FUEL_TYPE

List of fuels the vehicle may use. FuelType::FUEL_TYPE_ELECTRIC must only be included if the vehicle can plug-in rechargeable. For example, a Fully Hybrid Electric Vehicle (FHEV) must not include FuelType::FUEL_TYPE_ELECTRIC as the INT32_VEC value for INFO_FUEL_TYPE INFO_FUEL_TYPE can be populated as such.

int32Values = { FuelType::FUEL_TYPE_UNLEADED }
On the other hand, a Plug-in Hybrid Electric Vehicle (PHEV) is plug-in rechargeable and should include FuelType::FUEL_TYPE_ELECTRIC as the INT32_VEC value for INFO_FUEL_TYPE INFO_FUEL_TYPE can be populated as such, int32Values = { FuelType::FUEL_TYPE_UNLEADED, FuelType::FUEL_TYPE_ELECTRIC }

Change mode: STATIC
Access mode: READ
Enum type: FuelType
Unit type: N/A
Release: Android 13

INFO_MAKE

Manufacturer of vehicle. This property must communicate the vehicle's public brand name.

Change mode: STATIC
Access mode: READ
Enum type: N/A
Unit type: N/A
Release: Android 13

INFO_MODEL

Model of vehicle. This property must communicate the vehicle's public model name.

Change mode: STATIC
Access mode: READ
Enum type: N/A
Unit type: N/A
Release: Android 13

INFO_MODEL_YEAR

Model year of vehicle in `YYYY` format based on the Gregorian calendar.

Change mode: STATIC
Access mode: READ
Enum type: N/A
Unit type: VehicleUnit:YEAR
Release: Android 13

INFO_MULTI_EV_PORT_LOCATIONS

Multiple EV port locations. Implement this property if the vehicle has multiple EV ports. Port locations are defined in PortLocationType. For example, a car has one port front left and one port rear left:

int32Values[0] = PortLocationType::FRONT_LEFT int32Values[1] = PortLocationType::REAR_LEFT

If a vehicle has only one port, this property's value should list one element. To describe one port location, see INFO-EV-PORT-LOCATION

.

Change mode: STATIC
Access mode: READ
Enum type: PortLocationType
Unit type: N/A
Release: Android 13

INFO_VIN

VIN of vehicle.

Change mode: STATIC
Access mode: READ
Enum type: N/A
Unit type: N/A
Release: Android 13

INITIAL_USER_INFO

Defines the Android user to be used during initialization. This property is called by the Android system when it initializes and lets the HAL define which Android user should be started. This request is made by setting a VehiclePropValue (defined by InitialUserInfoRequest), and the HAL must respond with a property change event (defined by InitialUserInfoResponse). If the HAL doesn't respond after a time defined by the Android system, the Android system proceeds as if HAL returned a response of action InitialUserInfoResponseAction:DEFAULT. For example, on first boot, the request could be:

int32[0] 42  // request id (arbitrary number set by Android system)
int32[1] 1   // InitialUserInfoRequestType::FIRST_BOOT
int32[2] 0   // id of current user (usersInfo.currentUser.userId)
int32[3] 1   // flag of current user (usersInfo.currentUser.flags = SYSTEM)
int32[4] 1   // number of existing users (usersInfo.numberUsers);
int32[5] 0   // user #0  (usersInfo.existingUsers[0].userId)
int32[6] 1   // flags of user #0  (usersInfo.existingUsers[0].flags)
If the HAL responds with the creation of an admin user called Owner, the response would be:
int32[0] 42  // must match the request id from the request
int32[1] 2   // action = InitialUserInfoResponseAction::CREATE
int32[2] -10000  // userToSwitchOrCreate.userId (not used as user will be created)
int32[3] 8   // userToSwitchOrCreate.flags = ADMIN string: "||Owner" // userLocales + separator + userNameToCreate
The string value represents multiple values, separated by ||. The first value is the (optional) system locales for the user to be created (empty in this case meaning it uses the Android default value), while the second value is the (optional) name of the user to be created (when the type of response is InitialUserInfoResponseAction:CREATE). For example, to create the same Owner user with en-US and pt-BR locales, the string value of the response is en-US,pt-BR||Owner. As such, neither the locale nor the name can contain two vertical bars (||) in their values, although you can use a single vertical bar (|).

Change mode: ON_CHANGE
Access mode: READ_WRITE
Enum type: N/A
Unit type: N/A
Release: Android 13

J 到 R

LANE_CENTERING_ASSIST_COMMAND

Lane Centering Assist (LCA) commands. Commands to activate and suspend LCA. When the command ACTIVATE from LaneCenteringAssistCommand is sent, LANE_CENTERING_ASSIST_STATE must be set to LaneCenteringAssistState#ACTIVATION_REQUESTED When the ACTIVATE command succeeds, LANE_CENTERING_ASSIST_STATE must be set to LaneCenteringAssistState#ACTIVATED When the command DEACTIVATE from LaneCenteringAssistCommand succeeds, LANE_CENTERING_ASSIST_STATE must be set to LaneCenteringAssistState#ENABLED

For the global area ID (0), the VehicleAreaConfig#supportedEnumValues must be defined unless all enum values of LaneCenteringAssistCommand are supported. When this property is not available because LCA is disabled (for example, LANE_CENTERING_ASSIST_ENABLED is false), this property must return StatusCode#NOT_AVAILABLE_DISABLED If LANE_CENTERING_ASSIST_STATE is implemented and the state is set to an ErrorState value, then this property must return a StatusCode that aligns with the ErrorState value. For example, if LANE_CENTERING_ASSIST_STATE is set to ErrorState#NOT_AVAILABLE_SPEED_LOW then this property must return StatusCode#NOT_AVAILABLE_SPEED_LOW

Change mode: ON_CHANGE
Access mode: WRITE
Enum type: LaneCenteringAssistCommand
Unit type: N/A
Release: Android 14

LANE_CENTERING_ASSIST_ENABLED

Enable or disable Lane Centering Assist (LCA). Set true to enable LCA and false to disable LCA. When LCA is enabled, the ADAS system in the vehicle should be turned on and waiting for an activation signal from the driver. Once the feature is activated, the ADAS system should be steering the vehicle to keep it centered in its current lane.

This is different from Lane Keep Assist (LKA) which monitors if the driver unintentionally drifts toward or over the lane marking. If an unintentional lane departure is detected, the system applies steering control to return the vehicle into the current lane. In general, LANE_CENTERING_ASSIST_ENABLED should always return true or false. If the feature is not available due to some temporary state, such as the vehicle speed being too low or too high, that information must be conveyed through the ErrorState values in the LANE_CENTERING_ASSIST_STATE property.

This property is defined as VehiclePropertyAccess.READ_WRITE, but OEMs can implement it as VehiclePropertyAccess.READonly.

Change mode: ON_CHANGE
Access mode: READ_WRITE/READ
Enum type: N/A
Unit type: N/A
Release: Android 14

LANE_CENTERING_ASSIST_STATE

Lane Centering Assist (LCA) state. Returns the current state of LCA. This property must always return a valid state defined in LaneCenteringAssistState or ErrorState It must not surface errors through StatusCode and must use the supported error states instead.

If LCA includes lane departure warnings, those warnings must be surfaced through the Lane Departure Warning (LDW) properties.

For the global area ID (0), the VehicleAreaConfig#supportedEnumValues array must be defined unless all states of both LaneCenteringAssistState (including OTHER, which is not recommended) and ErrorState are supported.

Change mode: ON_CHANGE
Access mode: READ
Enum type: LaneCenteringAssistState/ErrorState
Unit type: N/A
Release: Android 14

LANE_DEPARTURE_WARNING_ENABLED

Enable or disable Lane Departure Warning (LDW). Set true to enable LDW and false to disable LDW. When LDW is enabled, the ADAS system in the vehicle should be turned on and monitoring if the vehicle is approaching or crossing lane lines, in which case a warning will be given.

In general, LANE_DEPARTURE_WARNING_ENABLED should always return true or false. If the feature is not available due to some temporary state, such as the vehicle speed being too low or too high, that information must be conveyed through the ErrorState values in the LANE_DEPARTURE_WARNING_STATE property.

This property is defined as VehiclePropertyAccess.READ_WRITE, but OEMs can implement it as VehiclePropertyAccess.READ only.

Change mode: ON_CHANGE
Access mode: READ_WRITE/READ
Enum type: N/A
Unit type: N/A
Release: Android 14

LANE_DEPARTURE_WARNING_STATE

Lane Departure Warning (LDW) state. Returns the current state of LDW. This property must always return a valid state defined in LaneDepartureWarningState or ErrorState It must not surface errors through StatusCode and must use the supported error states instead.

For the global area ID (0), the VehicleAreaConfig#supportedEnumValues array must be defined unless all states of both LaneDepartureWarningState (including OTHER, which is not recommended) and ErrorState are supported.

Change mode: ON_CHANGE
Access mode: READ
Enum type: LaneDepartureWarningState/ErrorState
Unit type: N/A
Release: Android 14

LANE_KEEP_ASSIST_ENABLED

Enable or disable Lane Keep Assist (LKA). Set true to enable LKA and false to disable LKA. When LKA is enabled, the ADAS system in the vehicle should be turned on and monitoring if the driver unintentionally drifts toward or over the lane marking. If an unintentional lane departure is detected, the system applies steering control to return the vehicle into the current lane. This is different from Lane Centering Assist (LCA) which, when activated, applies continuous steering control to keep the vehicle centered in the current lane.

In general, LANE_KEEP_ASSIST_ENABLED should always return true or false. If the feature is not available due to some temporary state, such as the vehicle speed being too low or too high, that information must be conveyed through the ErrorState values in the LANE_KEEP_ASSIST_STATE property.

This property is defined as VehiclePropertyAccess.READ_WRITE, but OEMs can implement it as VehiclePropertyAccess.READ only.

Change mode: ON_CHANGE
Access mode: READ_WRITE/READ
Enum type: N/A
Unit type: N/A
Release: Android 14

LANE_KEEP_ASSIST_STATE

Lane Keep Assist (LKA) state. Returns the current state of LKA. This property must always return a valid state defined in LaneKeepAssistState or ErrorState It must not surface errors through StatusCode and must use the supported error states instead

If LKA includes lane departure warnings before applying steering corrections, those warnings must be surfaced through the Lane Departure Warning (LDW) properties.

For the global area ID (0), the VehicleAreaConfig#supportedEnumValues array must be defined unless all states of both LaneKeepAssistState (including OTHER, which is not recommended) and ErrorState are supported.

Change mode: ON_CHANGE
Access mode: READ
Enum type: LaneKeepAssistState/ErrorState
Unit type: N/A
Release: Android 14

LOCATION_CHARACTERIZATION

Characterization of inputs used for computing location. This property must indicate what (if any) data and sensor inputs are considered by the system when computing the vehicle's location that is shared with Android through the GNSS HAL.

The value must return a collection of bit flags. The bit flags are defined in LocationCharacterization. The value must also include exactly one of DEAD_RECKONED or RAW_GNSS_ONLY among its collection of bit flags.

When this property is not supported, it is assumed that no additional sensor inputs are fused into the GNSS updates provided through the GNSS HAL. That is unless otherwise specified through the GNSS HAL interfaces.

Change mode: STATIC
Access mode: READ
Enum type: N/A
Unit type: N/A
Release: Android 14

MIRROR_AUTO_FOLD_ENABLED

Represents property for Mirror Auto Fold feature. This property is true when the feature for automatically folding the vehicle's side mirrors (for example, when the mirrors fold inward automatically when one exits and locks the vehicle) is enabled.

This property is defined as VehiclePropertyAccess.READ_WRITE, but OEMs can implement it as VehiclePropertyAccess.READonly.

Change mode: ON_CHANGE
Access mode: READ_WRITE/READ
Enum type: N/A
Unit type: N/A
Release: Android 14

MIRROR_AUTO_TILT_ENABLED

Represents property for Mirror Auto Tilt feature. This property is true when the feature for automatically tilting the vehicle's side mirrors (for example, when the mirrors tilt downward automatically when one reverses the vehicle) is enabled.

This property is defined as VehiclePropertyAccess.READ_WRITE, but OEMs can implement it as VehiclePropertyAccess.READonly.

Change mode: ON_CHANGE
Access mode: READ_WRITE/READ
Enum type: N/A
Unit type: N/A
Release: Android 14

MIRROR_FOLD

Mirror fold. True indicates mirrors are folded. This property is defined as VehiclePropertyAccess.READ_WRITE, but OEMs can implement it as VehiclePropertyAccess.READonly.

Change mode: ON_CHANGE
Access mode: READ_WRITE/READ
Enum type: N/A
Unit type: N/A
Release: Android 13

MIRROR_LOCK

Mirror lock. True indicates mirror positions are locked and not changeable. This property is defined as VehiclePropertyAccess.READ_WRITE, but OEMs can implement it as VehiclePropertyAccess.READonly.

Change mode: ON_CHANGE
Access mode: READ_WRITE/READ
Enum type: N/A
Unit type: N/A
Release: Android 13

MIRROR_Y_MOVE

Mirror Y move. The maxInt32Value and minInt32Value in each VehicleAreaConfig must be defined. All integers between minInt32Value and maxInt32Value must be supported.

The maxInt32Value represents the maximum movement speed of the mirror while tilting right. The minInt32Value represents the maximum movement speed of the mirror while tilting left.

Larger absolute values, either positive or negative, indicate a faster movement speed. Once the mirror reaches the positional limit, the value must reset to 0. If MIRROR_Y_MOVE's value is currently 0, then that means there is no movement currently occurring.

This property is not in any particular unit but in a specified range of relative movement speeds.

This property is defined as VehiclePropertyAccess.READ_WRITE, but OEMs can implement it as VehiclePropertyAccess.READonly.

Change mode: ON_CHANGE
Access mode: READ_WRITE/READ
Enum type: N/A
Unit type: N/A
Release: Android 13

MIRROR_Y_POS

Mirror Y position. The maxInt32Value and minInt32Value in VehicleAreaConfig must be defined. All integers between minInt32Value and maxInt32Value must be supported. The minInt32Value indicates the mirror is tilted completely to the left.

This must be a non-positive value. The maxInt32Value indicates the mirror is tilted completely to the right. This must be a non-negative value. 0 indicates the mirror is not tilted in either direction.

Values in between minInt32Value and maxInt32Value indicate a transition state between the left extreme and right extreme positions.

This property is not in any particular unit but in a specified range of relative positions.

This property is defined as VehiclePropertyAccess.READ_WRITE, but OEMs can implement it as VehiclePropertyAccess.READonly.

Change mode: ON_CHANGE
Access mode: READ_WRITE/READ
Enum type: N/A
Unit type: N/A
Release: Android 13

MIRROR_Z_MOVE

Mirror Z move. The maxInt32Value and minInt32Value in each VehicleAreaConfig must be defined. All integers between minInt32Value and maxInt32Value must be supported.

The maxInt32Value represents the maximum movement speed of the mirror while tilting upwards. The minInt32Value represents the maximum movement speed of the mirror while tilting downwards. Larger absolute values, either positive or negative, indicate a faster movement speed. Once the mirror reaches the positional limit, the value must reset to 0. If MIRROR_Z_MOVE's value is currently 0, then that means there is no movement currently occurring.

This property is not in any particular unit but in a specified range of relative movement speeds.

This property is defined as VehiclePropertyAccess.READ_WRITE, but OEMs can implement it as VehiclePropertyAccess.READonly.

Change mode: ON_CHANGE
Access mode: READ_WRITE/READ
Enum type: N/A
Unit type: N/A
Release: Android 13

MIRROR_Z_POS

Mirror Z position. The maxInt32Value and minInt32Value in VehicleAreaConfig must be defined. All integers between minInt32Value and maxInt32Value must be supported. The minInt32Value indicates the mirror is tilted completely downwards. This must be a non-positive value. The maxInt32Value indicates the mirror is tilted completely upwards. This must be a non-negative value. 0 indicates the mirror is not tilted in either direction.

Values in between minInt32Value and maxInt32Value indicate a transition state between the fully downward and fully upwards positions.

This property is not in any particular unit but in a specified range of relative positions.

This property is defined as VehiclePropertyAccess.READ_WRITE, but OEMs can implement it as VehiclePropertyAccess.READonly.

Change mode: ON_CHANGE
Access mode: READ_WRITE/READ
Enum type: N/A
Unit type: N/A
Release: Android 13

NIGHT_MODE

True indicates that the night mode sensor has detected the car cabin environment to have low light. The platform can use this to, for example, enable an appropriate UI for better viewing in dark or low light environments.

Change mode: ON_CHANGE
Access mode: READ
Enum type: N/A
Unit type: N/A
Release: Android 13

OBD2_FREEZE_FRAME

Reports a snapshot of the value of the OBD2 sensors available at the time that a fault occurred and was detected. A configArray must be provided with the same meaning as defined for OBD2_LIVE_FRAME

The values of this property are to be interpreted in a similar fashion as those for OBD2_LIVE_FRAME, with the exception that the stringValue field may contain a non-empty diagnostic troubleshooting code (DTC).

An IVehicle#get request of this property must provide a value for int64Values[0]. This is interpreted as the timestamp of the freeze frame to retrieve. A list of timestamps can be obtained by an IVehicle#get of OBD2_FREEZE_FRAME_INFO

Should no freeze frame be available at the given timestamp, a response of NOT_AVAILABLE must be returned by the implementation. Because vehicles may have limited storage for freeze frames, it is possible for a frame request to respond with NOT_AVAILABLE even if the associated timestamp has been recently obtained through OBD2_FREEZE_FRAME_INFO

Change mode: ON_CHANGE
Access mode: READ
Enum type: N/A
Unit type: N/A
Release: Android 13

OBD2_FREEZE_FRAME_CLEAR

Freeze frame clear. Reports a snapshot of the value of the OBD2 sensors available at the time that a fault occurred and was detected. A configArray must be provided with the same meaning as defined for OBD2_LIVE_FRAME

The values of this property are to be interpreted in a similar fashion as those for OBD2_LIVE_FRAME, with the exception that the stringValue field may contain a non-empty diagnostic troubleshooting code (DTC).

A IVehicle#get request of this property must provide a value for int64Values[0]. This will be interpreted as the timestamp of the freeze frame to retrieve. A list of timestamps can be obtained by a IVehicle#get of OBD2_FREEZE_FRAME_INFO

Should no freeze frame be available at the given timestamp, a response of NOT_AVAILABLE must be returned by the implementation. Because vehicles may have limited storage for freeze frames, it is possible for a frame request to respond with NOT_AVAILABLE even if the associated timestamp has been recently obtained via OBD2_FREEZE_FRAME_INFO

Change mode: ON_CHANGE
Access mode: WRITE
Enum type: N/A
Unit type: N/A
Release: Android 13

OBD2_FREEZE_FRAME_INFO

This property describes the current freeze frames stored in vehicle memory and available for retrieval through OBD2_FREEZE_FRAME The values are to be interpreted as follows. Each element of int64Values must be the timestamp at which a a fault code has been detected and the corresponding freeze frame stored, and each such element can be used as the key to OBD2_FREEZE_FRAME to retrieve the corresponding freeze frame.

Change mode: ON_CHANGE
Access mode: READ
Enum type: N/A
Unit type: N/A
Release: Android 13

OBD2_LIVE_FRAME

Reports a snapshot of the current (live) values of the OBD2 sensors available. The configArray is set as follows:

  • configArray[0] Number of vendor-specific integer-valued sensors
  • configArray[1] Number of vendor-specific float-valued sensors

The values of this property are to be interpreted as in the following example. Considering a configArray = {2,3} int32Values must be a vector containing Obd2IntegerSensorIndex.LAST_SYSTEM_INDEX plus two elements (or, 33 elements). floatValues must be a vector containing Obd2FloatSensorIndex.LAST_SYSTEM_INDEX plus three elements (or, 73 elements).

It is possible for each frame to contain a different subset of sensor values, both system provided sensors, and vendor-specific ones. In order to support this, the bytes element of the property value is used as a bitmask. Bytes must have a sufficient number of bytes to represent the total number of possible sensors (in this case, 14 bytes to represent 106 possible values). It'is to be read as a contiguous bitmask such that each bit indicates the presence or absence of a sensor from the frame, starting with as many bits as the size of int32Values, immediately followed by as many bits as the size of floatValues.

For example, should bytes[0] = 0x4C (0b01001100) it means that:

  • int32Values[0 and 1] are not valid sensor values
  • int32Values[2 and 3] are valid sensor values
  • int32Values[4 and 5] are not valid sensor values
  • int32Values[6] is a valid sensor value
  • int32Values[7] is not a valid sensor value
  • int32Values[0 and 1] are not valid sensor values
  • int32Values[2 and 3] are valid sensor values
  • int32Values[4 and 5] are not valid sensor values
  • int32Values[6] is a valid sensor value
  • int32Values[7] is not a valid sensor value

If bytes[5] = 0x61 (0b01100001), then:

  • int32Values[32] is a valid sensor value
  • floatValues[0 thru 3] are invalid sensor values
  • floatValues[4 and 5] are valid sensor values
  • floatValues[6] is not a valid sensor value.

Change mode: ON_CHANGE
Access mode: READ
Enum type: N/A
Unit type: N/A
Release: Android 13

ON_CHANGE

Change mode:
Access mode: READ_WRITE/READ
Enum type: VehicleLightSwitch
Unit type:N/A
Release: Android 13

PARKING_BRAKE_AUTO_APPLY

Auto-apply parking brake. When true, this property indicates that the car's automatic parking brake is enabled. False indicates that the car's automatic parking brake feature is disabled. This property is often confused with PARKING_BRAKE_ON The difference being that PARKING_BRAKE_ON indicates if the actual parking brake is on or off whereas PARKING_BRAKE_AUTO_APPLY indicates if the automatic parking brake feature is enabled or disabled and does not describe the current state of the actual parking brake.

Change mode: ON_CHANGE
Access mode: READ
Enum type: N/A
Unit type: N/A
Release: Android 13

PARKING_BRAKE_ON

Parking brake state. When true, this property true indicates that the car's parking brake is engaged. False indicates the car's parking brake is disengaged.

Change mode: ON_CHANGE
Access mode: READ
Enum type: N/A
Unit type: N/A
Release: Android 13

PER_DISPLAY_BRIGHTNESS

Property to represent brightness of the displays which are controlled separately. Some cars have one or more displays whose brightness is controlled separately and this property is to inform the brightness of each passenger display. In cars where all displays' brightness is controlled together, they must use DISPLAY_BRIGHTNESS

Only one of PER_DISPLAY_BRIGHTNESS andPER_DISPLAY_BRIGHTNESS should be implemented. If both are available, PER_DISPLAY_BRIGHTNESS is used by AAOS.

The display port uniquely identifies a physical connector on the device for display output, ranging from 0 to 255.

  • int32Values[0] Display port
  • int32Values[1] Brightness

Change mode: ON_CHANGE
Access mode: READ_WRITE
Enum type: N/A
Unit type: N/A
Release: Android 14

PERF_ODOMETER

Current odometer value of the vehicle.

Change mode: CONTINUOUS
Access mode: READ
Enum type: N/A
Unit type: VehicleUnit:KILOMETER
Release: Android 13

PERF_REAR_STEERING_ANGLE

Rear bicycle model steering angle for vehicle. Angle is measured in degrees. Left is negative. This property is independent of the angle of the steering wheel. This property must communicate the angle of the rear wheels with respect to the vehicle, not the angle of the steering wheel.

Change mode: CONTINUOUS
Access mode: READ
Enum type: N/A
Unit type: VehicleUnit:DEGREES
Release: Android 13

PERF_STEERING_ANGLE

Front bicycle model steering angle for vehicle. Angle is measured in degrees. Left is negative. This property is independent of the angle of the steering wheel. This property must communicate the angle of the front wheels with respect to the vehicle, not the angle of the steering wheel.

Change mode: CONTINUOUS
Access mode: READ
Enum type: N/A
Unit type: VehicleUnit:DEGREES
Release: Android 13

PERF_VEHICLE_SPEED

Speed of the vehicle, The value must be positive when the vehicle is moving forward and negative when the vehicle is reversing. This value is independent of gear value (CURRENT_GEAR or GEAR_SELECTION). For example, if GEAR_SELECTION is GEAR_NEUTRAL, PERF_VEHICLE_SPEED is positive when the vehicle is moving forward, negative when reversing, and zero when not moving.

Change mode: CONTINUOUS
Access mode: READ
Unit type: N/A
Unit type: VehicleUnit:METER_PER_SEC
Release: Android 13

PERF_VEHICLE_SPEED_DISPLAY

Speed of the vehicle for displays, Some cars display a slightly slower speed on the speedometer than actual speed.

Change mode: CONTINUOUS
Access mode: READ
Enum type: N/A
Unit type: VehicleUnit:METER_PER_SEC
Release: Android 13

POWER_POLICY_GROUP_REQ

Defines a request to set the power policy group used to decide a default power policy per power status transition.

Change mode: ON_CHANGE
Access mode: READ
Enum type: N/A
Unit type: N/A
Release: Android 13

POWER_POLICY_REQ

Defines a request to apply power policy. VHAL sets this property to change car power policy. Car power policy service subscribes to this property and actually changes the power policy. The request is made by setting the VehiclePropValue with the ID of a power policy which is defined at /vendor/etc/automotive/power_policy.xml If the given ID is not defined, car power policy service ignores the request and the current power policy is maintained.

string: "sample_policy_id" // power policy ID

Change mode: ON_CHANGE
Access mode: READ
Enum type: N/A
Unit type: N/A
Release: Android 13

POWER_POLICY_GROUP_REQ

Defines a request to set the power policy group used to decide a default power policy per power status transition. VHAL sets this property with the ID of a power policy group to set the default power policy applied at power status transition. Power policy groups are defined at /vendor/etc/power_policy.xml. If the given ID is not defined, car power policy service ignores the request. Car power policy service subscribes to this property and sets the power policy group. The actual application of power policy takes place when the system power status changes and there is a valid mapped power policy for the new power status.

string: "sample_policy_group_id" // power policy group ID

Change mode: ON_CHANGE
Access mode: READ
Enum type: N/A
Unit type: N/A
Release: Android 13

RANGE_REMAINING

Range remaining. Meters remaining of fuel and charge. Range remaining shall account for all energy sources in a vehicle. For example, a hybrid car's range is the sum of the ranges based on fuel and battery. This property is defined as VehiclePropertyAccess.READ_WRITE because a navigation app could update the range if it has a more accurate estimate based on the upcoming route. This property can be implemented as VehiclePropertyAccess.READ only at the OEM's discretion.

Change mode: CONTINUOUS
Access mode: READ_WRITE
Enum type: N/A
Unit type: VehicleUnit:METER
Release: Android 13

READING_LIGHTS_STATE

Return the current status of reading lights.

Change mode: ON_CHANGE
Access mode: READ
Enum type: VehicleLightState
Unit type: N/A
Release: Android 13

READING_LIGHTS_SWITCH

Switch t control the reading lights. This may differ from READING_LIGHTS_STATE if the lights are on because a door is open or due to a voice command. For example, while the switch is in the off or automatic position. This property is defined as VehiclePropertyAccess.READ_WRITE, but OEMs can implement it as VehiclePropertyAccess.READonly.

REAR_FOG_LIGHTS_STATE

Return the current state of the rear fog lights. Only one of FOG_LIGHTS_STATE or REAR_FOG_LIGHTS_STATE can be implemented. See FOG_LIGHTS_STATE

Change mode: ON_CHANGE
Access mode: READ
Enum type: VehicleLightState
Unit type: N/A
Release: Android 13

REAR_FOG_LIGHTS_SWITCH

The setting that the user wants. Only one of FOG_LIGHTS_SWITCH or REAR_FOG_LIGHTS_SWITCH must be implemented. See FOG_LIGHTS_SWITCH to learn more. This property is defined as VehiclePropertyAccess.READ_WRITE, but OEMs can implement it as VehiclePropertyAccess.READonly.

Change mode: ON_CHANGE
Access mode: READ_WRITE/READ
Enum type: VehicleLightSwitch
Unit type: N/A
Release: Android 13

REMOVE_USER

Called by the Android System after an Android user was removed. The HAL can use this property to remove the equivalent user. This is write-only cal. The Android System is not expecting a reply from the HAL. Hence, this request should not fail. If the equivalent HAL user cannot be removed, then HAL should mark it as inactive or recover in another way.

The request is made by setting the VehiclePropValue with the contents defined by RemoveUserRequest For example, if system had 3 users (0, 10, and 11) and user 11 was removed, the request would be:

  • int32[0] 42 // request id
  • int32[1] 11 // (Android user id of the removed user)
  • int32[2] 0 // (Android user flags of the removed user)
  • int32[3] 10 // current user
  • int32[4] 0 // current user flags (none)
  • int32[5] 2 // number of users
  • int32[6] 0 // first user (user 0)
  • int32[7] 0 // first user flags (none)
  • int32[8] 10 // second user (user 10)
  • int32[9] 0 // second user flags (none)

Change mode: STATIC
Access mode: WRITE
Enum type: N/A
Unit type: N/A
Release: Android 13

S 到 Z

SEAT_AIRBAG_ENABLED

表示座椅在安全气囊被触发时(例如在发生碰撞时)展开安全气囊的功能是处于启用还是停用状态。如果为 true,则表示座椅的安全气囊处于启用状态,并且在被触发后会展开。如果为 true,则表示座椅的安全气囊处于停用状态,并且在任何情况下都不会展开。此属性不会指明安全气囊是否处于展开状态。

为了遵守法规或出于安全考虑,可以将此属性设置为 VehiclePropertyAccess.READ 只读。

此属性定义为 VehiclePropertyAccess.READ_WRITE,但 OEM 可以将其实现为仅 VehiclePropertyAccess.READ

更改模式:ON_CHANGE
访问模式:READ_WRITE/READ
枚举类型:无
单位类型:无
版本:Android 14

SEAT_BACKREST_ANGLE_1_MOVE

座椅靠背角度 1 移动。必须定义每个 VehicleAreaConfig 中的 maxInt32ValueminInt32Value。必须支持 minInt32ValuemaxInt32Value 之间的所有整数。maxInt32Value 表示座椅靠背在朝前竖起时的最快移动速度。minInt32Value 表示座椅靠背在后仰时的最快移动速度。

绝对值越大(无论是正值还是负值),表示移动速度就越快。座椅靠背达到位置极限后,该值必须重置为 0。如果 SEAT_BACKREST_ANGLE_1_MOVE 的值为 0,则表示没有进行任何移动。

此属性以指定范围的相对移动速度来表示。

此属性定义为 VehiclePropertyAccess.READ_WRITE,但 OEM 可以将其实现为仅 VehiclePropertyAccess.READ

更改模式:ON_CHANGE
访问模式:READ_WRITE/READ
枚举类型:无
单位类型:无
版本:Android 13

SEAT_BACKREST_ANGLE_1_POS

座椅靠背角度 1 位置。靠背角度 1 是指到达最靠近座椅底部的致动器时的角度。必须定义 VehicleAreaConfig 中的 maxInt32ValueminInt32Value。必须支持 minInt32ValuemaxInt32Value 之间的所有整数。minInt32Value 表示座椅靠背的完全后仰位置,是与座椅底部的致动器的相对位置。maxInt32Value 表示座椅靠背的朝前竖起程度达到极限时的位置,是与座椅底部的致动器的相对位置。

如果值介于 minInt32ValuemaxInt32Value 之间,则表示处于完全后仰和朝前竖起位置之间的过渡状态。

此属性以指定范围的相对位置来表示。

此属性定义为 VehiclePropertyAccess.READ_WRITE,但 OEM 可以将其实现为仅 VehiclePropertyAccess.READ

更改模式:ON_CHANGE
访问模式:READ_WRITE/READ
枚举类型:无
单位类型:无
版本:Android 13

SEAT_BACKREST_ANGLE_2_MOVE

座椅靠背角度 2 移动。必须定义每个 VehicleAreaConfig 中的 maxInt32ValueminInt32Value。必须支持 minInt32ValuemaxInt32Value 之间的所有整数。

maxInt32Value 表示座椅靠背在朝前竖起时的最快移动速度。minInt32Value 表示座椅靠背在后仰时的最快移动速度。

绝对值越大(无论是正值还是负值),表示移动速度越快。座椅靠背达到位置极限后,该值必须重置为 0。如果 SEAT_BACKREST_ANGLE_2_MOVE 的值目前为 0,则表示没有进行任何移动。

此属性以指定范围的相对移动速度来表示。

此属性定义为 VehiclePropertyAccess.READ_WRITE,但 OEM 可以将其实现为仅 VehiclePropertyAccess.READ

更改模式:ON_CHANGE
访问模式:READ_WRITE/READ
枚举类型:无 单位类型:无
版本:Android 13

SEAT_BACKREST_ANGLE_2_POS

座椅靠背角度 2 位置。靠背角度 2 是指到达座椅底部向上的下一个致动器时的角度。

必须定义 VehicleAreaConfig 中的 maxInt32ValueminInt32Value。必须支持 minInt32ValuemaxInt32Value 之间的所有整数。

minInt32Value 表示座椅靠背的完全后仰位置,是与以下致动器的相对位置:座椅靠背中与座椅底部的致动器紧邻的下一个致动器(有关详情,请参阅 SEAT_BACKREST_ANGLE_1_POS)。maxInt32Value 表示座椅靠背的朝前竖起程度达到极限时的位置,是与以下致动器的相对位置:座椅靠背中与座椅底部的致动器紧邻的下一个致动器(有关详情,请参阅 SEAT_BACKREST_ANGLE_1_POS)。

如果值介于 minInt32ValuemaxInt32Value 之间,则表示处于完全后仰和朝前竖起位置之间的过渡状态。

此属性以指定范围的相对位置来表示。

此属性定义为 VehiclePropertyAccess.READ_WRITE,但 OEM 可以将其实现为仅 VehiclePropertyAccess.READ

更改模式:ON_CHANGE
访问模式:READ_WRITE/READ
枚举类型:无
单位类型:无
版本:Android 13

SEAT_BELT_BUCKLED

安全带已系好。true 表示安全带已系好。写入访问权限表示座椅具有自动系好安全带的功能。此属性定义为 VehiclePropertyAccess.READ_WRITE,但 OEM 可以将其实现为仅 VehiclePropertyAccess.READ

更改模式:ON_CHANGE
访问模式:READ_WRITE/READ
枚举类型:无
单位类型:无
版本:Android 13

SEAT_BELT_HEIGHT_MOVE

安全带高度移动。必须定义每个 VehicleAreaConfig 中的 maxInt32ValueminInt32Value。必须支持 minInt32ValuemaxInt32Value 之间的所有整数。

maxInt32Value 表示安全带肩部固定点在向上移动时的最快移动速度。minInt32Value 表示安全带肩部固定点在向上移动时的最快移动速度。

绝对值越大(无论是正值还是负值),表示移动速度就越快。安全带达到位置极限后,该值必须重置为 0。如果 SEAT_BELT_HEIGHT_MOVE 的值为 0,则表示没有进行任何移动。

此属性以指定范围的相对移动速度来表示。

此属性定义为 VehiclePropertyAccess.READ_WRITE,但 OEM 可以将其实现为仅 VehiclePropertyAccess.READ

更改模式:ON_CHANGE
访问模式:READ_WRITE/READ
枚举类型:无
单位类型:无
版本:Android 13

SEAT_BELT_HEIGHT_POS

安全带高度位置。调整安全带肩部固定点。

必须定义 VehicleAreaConfig 中的 maxInt32ValueminInt32Value。必须支持 minInt32ValuemaxInt32Value 之间的所有整数。

minInt32Value 表示安全带肩部固定点处于最低位置。maxInt32Value 表示安全带肩部固定点处于最高位置。

如果值介于 minInt32ValuemaxInt32Value 之间,则表示处于最低位置和最高位置之间的过渡状态。

此属性以指定范围的相对位置来表示。

此属性定义为 VehiclePropertyAccess.READ_WRITE,但 OEM 可以将其实现为仅 VehiclePropertyAccess.READ

更改模式:ON_CHANGE
访问模式:READ_WRITE/READ
枚举类型:无
单位类型:无
版本:Android 13

SEAT_CUSHION_SIDE_SUPPORT_MOVE

表示座垫侧面支撑移动方向和速度的属性。

必须定义每个 VehicleAreaConfig 中的 maxInt32ValueminInt32Value。必须支持 minInt32ValuemaxInt32Value 之间的所有整数。

maxInt32Value 表示座垫侧面支撑在变宽(例如支撑变小)时的最快移动速度。minInt32Value 表示座垫侧面支撑在变窄(例如支撑变大)时的最快移动速度。

绝对值越大(无论是正值还是负值),表示移动速度就越快。座垫侧面支撑达到位置极限后,该值必须重置为 0。如果 SEAT_CUSHION_SIDE_SUPPORT_MOVE 的值为 0,则表示没有进行任何移动。

此属性以指定范围的相对移动速度来表示。

此属性定义为 VehiclePropertyAccess.READ_WRITE,但 OEM 可以将其实现为仅 VehiclePropertyAccess.READ

更改模式:ON_CHANGE
访问模式:READ_WRITE/READ
枚举类型:无
单位类型:无
版本:Android 14

SEAT_CUSHION_SIDE_SUPPORT_POS

表示座椅臀部侧面(底部座垫侧面)支撑位置的属性。

必须定义每个 VehicleAreaConfig 中的 maxInt32ValueminInt32Value。必须支持 minInt32ValuemaxInt32Value 之间的所有整数。

maxInt32Value 表示座垫侧面支撑处于最宽位置(例如支撑最小)。minInt32Value 表示座垫侧面支撑处于最窄位置(例如支撑最大)。

如果值介于 minInt32ValuemaxInt32Value 之间,则表示处于最窄位置和最宽位置之间的过渡状态。

此属性以指定范围的相对位置来表示。

此属性定义为 VehiclePropertyAccess.READ_WRITE,但 OEM 可以将其实现为仅 <covehiclepropertyaccess.read< code="">。</covehiclepropertyaccess.read<>

更改模式:ON_CHANGE
访问模式:READ_WRITE/READ
枚举类型:无
单位类型:无
版本:Android 14

SEAT_DEPTH_MOVE

座椅深度移动。

必须定义每个 VehicleAreaConfig 中的 maxInt32ValueminInt32Value。必须支持 minInt32ValuemaxInt32Value 之间的所有整数。

maxInt32Value 表示座椅在加深时的最快移动速度。minInt32Value 表示座椅在变浅时的最快移动速度。

绝对值越大(无论是正值还是负值),表示移动速度就越快。座椅靠背达到位置极限后,该值必须重置为 0。如果 SEAT_DEPTH_MOVE 的值目前为 0,则表示没有进行任何移动。

此属性以指定范围的相对移动速度来表示。

此属性定义为 VehiclePropertyAccess.READ_WRITE,但 OEM 可以将其实现为仅 VehiclePropertyAccess.READ

更改模式:ON_CHANGE
访问模式:READ_WRITE
枚举类型:无
单位类型:无
版本:Android 13

SEAT_DEPTH_POS

座椅深度位置。设置座椅深度,即从座椅靠背到座椅前缘的距离。

必须定义 VehicleAreaConfig 中的 maxInt32ValueminInt32Value。必须支持 minInt32ValuemaxInt32Value 之间的所有整数。

minInt32Value 表示座椅处于最浅位置(例如座垫前缘与座椅后端之间距离最小时的位置)。

maxInt32Value 表示座椅处于最深位置(例如座垫前缘与座椅后端之间距离最大时的位置)。

如果值介于 minInt32ValuemaxInt32Value 之间,则表示处于最浅位置和最深位置之间的过渡状态。

此属性以指定范围的相对位置来表示。

此属性定义为 VehiclePropertyAccess.READ_WRITE,但 OEM 可以将其实现为仅 <covehiclepropertyaccess.read< code="">。</covehiclepropertyaccess.read<>

更改模式:ON_CHANGE
访问模式:READ_WRITE/READ
枚举类型:无
单位类型:无
版本:Android 13

SEAT_EASY_ACCESS_ENABLED

表示座椅便捷进出功能的属性。如果为 true,则表示座椅会自动调整,以方便人员更轻松地进出车辆。每个区域 ID 都必须映射到用户在尝试借助便捷进出功能坐入/离开的座椅。此属性定义为 VehiclePropertyAccess.READ_WRITE,但 OEM 可以将其实现为仅 <covehiclepropertyaccess.read< code="">。</covehiclepropertyaccess.read<>

更改模式:ON_CHANGE
访问模式:READ_WRITE/READ
枚举类型:无
单位类型:无
版本:Android 14

SEAT_FOOTWELL_LIGHTS_STATE

表示座椅脚窝灯状态的属性。SEAT_FOOTWELL_LIGHTS_STATE 反映灯在任意时间点的当前状态。这与 SEAT_FOOTWELL_LIGHTS_SWITCH 的功能不同,后者表示控制灯的开关的位置。

因此, SEAT_FOOTWELL_LIGHTS_STATE 可能与 SEAT_FOOTWELL_LIGHTS_SWITCH 的值不一致(例如 SEAT_FOOTWELL_LIGHTS_SWITCH=AUTOMATICSEAT_FOOTWELL_LIGHTS_SWITCH=ON)。

仅当 SEAT_FOOTWELL_LIGHTS_STATE 的值可能与 CABIN_LIGHTS_STATE 的值不同时,才应实现此属性。

对于每个受支持的区域 ID,必须定义 VehicleAreaConfig#supportedEnumValues,除非支持 VehicleLightState 的所有枚举值。

更改模式:ON_CHANGE
访问模式:READ
枚举类型:VehicleLightState
单位类型:无
版本:Android 14

SEAT_FOOTWELL_LIGHTS_SWITCH

表示座椅脚窝灯开关的属性。SEAT_FOOTWELL_LIGHTS_SWITCH 表示控制灯的开关的位置。这与 SEAT_FOOTWELL_LIGHTS_STATE 的功能不同,后者反映灯在任意时间点的当前状态。因此,SEAT_FOOTWELL_LIGHTS_SWITCH 可能与 SEAT_FOOTWELL_LIGHTS_STATE 的值不一致(例如 SEAT_FOOTWELL_LIGHTS_SWITCH=AUTOMATICSEAT_FOOTWELL_LIGHTS_SWITCH=ON)。

仅当 SEAT_FOOTWELL_LIGHTS_SWITCH 的值可能与 CABIN_LIGHTS_SWITCH 的值不同时,才应实现此属性。

对于每个受支持的区域 ID,必须定义 VehicleAreaConfig#supportedEnumValues,除非支持 VehicleLightSwitch 的所有枚举值。

此属性定义为 VehiclePropertyAccess.READ_WRITE,但 OEM 可以将其实现为仅 VehiclePropertyAccess.READ

更改模式:ON_CHANGE
访问模式:READ_WRITE/READ
枚举类型:VehicleLightSwitch
单位类型:无
版本:Android 13

SEAT_FORE_AFT_MOVE

座椅向前和向后移动。此属性旨在使整个座椅沿所朝方位向前/向后移动。

必须定义每个 VehicleAreaConfig 中的 maxInt32ValueminInt32Value。必须支持 minInt32ValuemaxInt32Value 之间的所有整数。

maxInt32Value 表示座椅在向前移动时的最快移动速度。minInt32Value 表示座椅在向后移动时的最快移动速度。

绝对值越大(无论是正值还是负值),表示移动速度就越快。座椅达到位置极限后,该值必须重置为 0。如果 SEAT_FORE_AFT_MOVE 的值为 0,则表示没有进行任何移动。

此属性以指定范围的相对移动速度来表示。

此属性定义为 VehiclePropertyAccess.READ_WRITE,但 OEM 可以将其实现为仅 VehiclePropertyAccess.READ

更改模式:ON_CHANGE
访问模式:READ_WRITE/READ
枚举类型:无
单位类型:无
版本:Android 13

SEAT_FORE_AFT_POS

座椅的向前和向后移动位置。设置座椅的向前和向后移动位置。

必须定义 VehicleAreaConfig 中的 maxInt32ValueminInt32Value。必须支持 minInt32ValuemaxInt32Value 之间的所有整数。

minInt32Value 表示座椅处于向后可以达到的最远线性位置。maxInt32Value 表示座椅处于向前可以达到的最远线性位置。介于 minInt32ValuemaxInt32Value 之间的值表示处于最近位置和最远位置之间的过渡状态。

此属性以指定范围的相对位置来表示。

此属性定义为 VehiclePropertyAccess.READ_WRITE,但 OEM 可以将其实现为仅 VehiclePropertyAccess.READ

更改模式:ON_CHANGE
访问模式:READ_WRITE/READ
枚举类型:无
单位类型:无
版本:Android 13

SEAT_HEADREST_ANGLE_MOVE

头枕角度移动。必须定义每个 VehicleAreaConfig 中的 maxInt32ValueminInt32Value。必须支持 minInt32ValuemaxInt32Value 之间的所有整数。

maxInt32Value 表示座椅头枕在朝前竖起时的最快移动速度。minInt32Value 表示座椅头枕在向浅位移动时的最快移动速度。

绝对值越大(无论是正值还是负值),表示移动速度就越快。座椅头枕达到位置极限后,该值必须重置为 0。如果 SEAT_HEADREST_ANGLE_MOVE 的值为 0,则表示没有进行任何移动。

此属性以指定范围的相对移动速度来表示。

此属性定义为 VehiclePropertyAccess.READ_WRITE,但 OEM 可以将其实现为仅 <covehiclepropertyaccess.read< code="">。</covehiclepropertyaccess.read<>

更改模式:ON_CHANGE
访问模式:READ_WRITE/READ
枚举类型:无
单位类型:无
版本:Android 13

SEAT_HEADREST_ANGLE_POS

头枕角度位置。必须定义 VehicleAreaConfig 中的 maxInt32ValueminInt32Value。必须支持 minInt32ValuemaxInt32Value 之间的所有整数。

minInt32Value 表示头枕处于完全后仰位置。maxInt32Value 表示头枕处于朝前竖起程度达到极限的位置。

如果值介于 minInt32ValuemaxInt32Value 之间,则表示处于完全后仰和朝前竖起程度达到极限之间的过渡状态。

此属性以指定范围的相对位置来表示。

此属性定义为 VehiclePropertyAccess.READ_WRITE,但 OEM 可以将其实现为仅 VehiclePropertyAccess.READ

更改模式:ON_CHANGE
访问模式:READ_WRITE/READ
枚举类型:无
单位类型:无
版本:Android 13

SEAT_HEADREST_FORE_AFT_MOVE

头枕向前和向后移动。必须定义每个 VehicleAreaConfig 中的 maxInt32ValueminInt32Value。必须支持 minInt32ValuemaxInt32Value 之间的所有整数。

maxInt32Value 表示座椅头枕在向前移动时的最快移动速度。minInt32Value 表示座椅头枕在向后移动时的最快移动速度。

绝对值越大(无论是正值还是负值),表示移动速度就越快。座椅头枕达到位置极限后,该值必须重置为 0。如果 SEAT_HEADREST_FORE_AFT_MOVE 的值为 0,则表示没有进行任何移动。

此属性以指定范围的相对移动速度来表示。

此属性定义为 VehiclePropertyAccess.READ_WRITE,但 OEM 可以将其实现为仅 VehiclePropertyAccess.READ

更改模式:ON_CHANGE
访问模式:READ_WRITE/READ
枚举类型:无
单位类型:无
版本:Android 13

SEAT_HEADREST_FORE_AFT_POS

头枕的向前和向后移动位置。必须定义 VehicleAreaConfig 中的 maxInt32ValueminInt32Value。必须支持 minInt32ValuemaxInt32Value 之间的所有整数。

minInt32Value 表示头枕处于向后可以达到的最远线性位置。maxInt32Value 表示头枕处于向前可以达到的最远线性位置。

如果值介于 minInt32ValuemaxInt32Value 之间,则表示处于向前和向后移动位置之间的过渡状态。

此属性以指定范围的相对位置来表示。

此属性定义为 VehiclePropertyAccess.READ_WRITE,但 OEM 可以将其实现为仅 VehiclePropertyAccess.READ

更改模式:ON_CHANGE
访问模式:READ_WRITE/READ
枚举类型:无
单位类型:无
版本:Android 13

SEAT_HEADREST_HEIGHT_MOVE

头枕高度移动。必须定义每个 VehicleAreaConfig 中的 maxInt32ValueminInt32Value。必须支持 minInt32ValuemaxInt32Value 之间的所有整数。

maxInt32Value 表示座椅头枕在向上移动时的最快移动速度。minInt32Value 表示座椅头枕在向下移动时的最快移动速度。

绝对值越大(无论是正值还是负值),表示移动速度就越快。座椅头枕达到位置极限后,该值必须重置为 0。如果 SEAT_HEADREST_HEIGHT_MOVE 的值为 0,则表示没有进行任何移动。

此属性以指定范围的相对移动速度来表示。

此属性定义为 VehiclePropertyAccess.READ_WRITE,但 OEM 可以将其实现为仅 VehiclePropertyAccess.READ

更改模式:ON_CHANGE
访问模式:READ_WRITE/READ
枚举类型:无
单位类型:无
版本:Android 13

SEAT_HEADREST_HEIGHT_POS

(已废弃)头枕高度位置。

更改模式:ON_CHANGE
访问模式:READ_WRITE/READ
枚举类型:无
单位类型:无
版本:Android 13

SEAT_HEADREST_HEIGHT_POS_V2

头枕高度位置。设置受支持座椅的头枕高度。VehiclePropConfig.areaConfigs 用于指定支持哪些座椅。

必须定义 VehicleAreaConfig 中的 maxInt32ValueminInt32Value。必须支持 minInt32ValuemaxInt32Value 之间的所有整数。

minInt32Value 表示头枕处于最低位置。maxInt32Value 表示头枕处于最高位置。

如果值介于 minInt32ValuemaxInt32Value 之间,则表示处于最低位置和最高位置之间的过渡状态。

此属性以指定范围的相对位置来表示。

此属性定义为 VehiclePropertyAccess.READ_WRITE,但 OEM 可以将其实现为仅 VehiclePropertyAccess.READ

更改模式:ON_CHANGE
访问模式:READ_WRITE/READ
枚举类型:无
单位类型:无
版本:Android 14

SEAT_HEIGHT_MOVE

座椅高度移动。必须定义每个 VehicleAreaConfig 中的 maxInt32ValueminInt32Value。必须支持 minInt32ValuemaxInt32Value 之间的所有整数。

maxInt32Value 表示座椅在向上移动时的最快移动速度。

minInt32Value 表示座椅在向下移动时的最快移动速度。

绝对值越大(无论是正值还是负值),表示移动速度就越快。座椅达到位置极限后,该值必须重置为 0。如果 SEAT_HEIGHT_MOVE 的值为 0,则表示没有进行任何移动。

此属性以指定范围的相对移动速度来表示。

此属性定义为 VehiclePropertyAccess.READ_WRITE,但 OEM 可以将其实现为仅 VehiclePropertyAccess.READ

更改模式:ON_CHANGE
访问模式:READ_WRITE/READ
枚举类型:无
单位类型:无
版本:Android 13

SEAT_HEIGHT_POS

座椅高度位置。必须定义 VehicleAreaConfig 中的 maxInt32ValueminInt32Value。必须支持 minInt32ValuemaxInt32Value 之间的所有整数。

minInt32Value 表示座椅处于最低位置。maxInt32Value 表示座椅处于最高位置。

如果值介于 minInt32ValuemaxInt32Value 之间,则表示处于最低位置和最高位置之间的过渡状态。

此属性以指定范围的相对位置来表示。

此属性定义为 VehiclePropertyAccess.READ_WRITE,但 OEM 可以将其实现为仅 VehiclePropertyAccess.READ

更改模式:ON_CHANGE
访问模式:READ_WRITE/READ
枚举类型:无
单位类型:无
版本:Android 13

SEAT_LUMBAR_FORE_AFT_MOVE

腰部支撑向前和向后移动。必须定义每个 VehicleAreaConfig 中的 maxInt32ValueminInt32Value。必须支持 minInt32ValuemaxInt32Value 之间的所有整数。

maxInt32Value 表示座椅的腰部支撑在向前移动时的最快移动速度。minInt32Value 表示座椅的腰部支撑在向后移动时的最快移动速度。

绝对值越大(无论是正值还是负值),表示移动速度就越快。 座椅的腰部支撑达到位置极限后,该值必须重置为 0。如果 SEAT_LUMBAR_FORE_AFT_MOVE 的值为 0,则表示没有进行任何移动。

此属性以指定范围的相对移动速度来表示。

此属性定义为 VehiclePropertyAccess.READ_WRITE,但 OEM 可以将其实现为仅 VehiclePropertyAccess.READ

更改模式:ON_CHANGE
访问模式:READ_WRITE/READ
枚举类型:无
单位类型:无
版本:Android 13

SEAT_LUMBAR_FORE_AFT_POS

腰部支撑的向前和向后移动位置。必须定义 VehicleAreaConfig 中的 maxInt32ValueminInt32Value。必须支持 minInt32ValuemaxInt32Value 之间的所有整数。

minInt32Value 表示腰部支撑处于向后可以达到的最远位置(例如支撑最小的位置)。maxInt32Value 表示腰部支撑处于向前可以达到的最远位置(例如支撑最大的位置)。

如果值介于 minInt32ValuemaxInt32Value 之间,则表示处于向前移动位置和向后移动位置之间的过渡状态。

此属性以指定范围的相对位置来表示。

此属性定义为 VehiclePropertyAccess.READ_WRITE,但 OEM 可以将其实现为仅 VehiclePropertyAccess.READ

更改模式:ON_CHANGE
访问模式:READ_WRITE/READ
枚举类型:无
单位类型:无
版本:Android 13

SEAT_LUMBAR_SIDE_SUPPORT_MOVE

腰部侧面支撑移动。必须定义每个 VehicleAreaConfig 中的 maxInt32ValueminInt32Value。必须支持 minInt32ValuemaxInt32Value 之间的所有整数。

maxInt32Value 表示座椅的腰部侧面支撑在加宽时的最快移动速度。minInt32Value 表示座椅的腰部侧面支撑在变窄时的最快移动速度。

绝对值越大(无论是正值还是负值),表示移动速度就越快。座椅的腰部侧面支撑达到位置极限后,该值必须重置为 0。如果 SEAT_LUMBAR_SIDE_SUPPORT_MOVE 的值为 0,则表示没有进行任何移动。

此属性以指定范围的相对移动速度来表示。

此属性定义为 VehiclePropertyAccess.READ_WRITE,但 OEM 可以将其实现为仅 VehiclePropertyAccess.READ

更改模式:ON_CHANGE
访问模式:READ_WRITE/READ
枚举类型:无
单位类型:无
版本:Android 13

SEAT_LUMBAR_SIDE_SUPPORT_POS

腰部侧面支撑位置。必须定义 VehicleAreaConfig 中的 maxInt32ValueminInt32Value。必须支持 minInt32ValuemaxInt32Value 之间的所有整数。minInt32Value 表示腰部侧面支撑处于最窄位置(例如最大支撑)。maxInt32Value 表示腰部侧面支撑处于最宽位置(例如最小支撑)。

如果值介于 minInt32ValuemaxInt32Value 之间,则表示处于最窄位置和最宽位置之间的过渡状态。

此属性以指定范围的相对位置来表示。

此属性定义为 VehiclePropertyAccess.READ_WRITE,但 OEM 可以将其实现为仅 VehiclePropertyAccess.READ

更改模式:ON_CHANGE
访问模式:READ_WRITE/READ
枚举类型:无
单位类型:无
版本:Android 14

SEAT_LUMBAR_VERTICAL_MOVE

表示座椅腰部支撑垂直移动方向和速度的属性。

必须定义每个 VehicleAreaConfig 中的 maxInt32ValueminInt32Value。必须支持 minInt32ValuemaxInt32Value 之间的所有整数。maxInt32Value 表示腰部支撑在以最快速度向上移动。minInt32Value 表示腰部支撑在以最快速度向下移动。

绝对值越大(无论是正值还是负值),表示移动速度就越快。座垫侧面支撑达到位置极限后,该值必须重置为 0。如果 SEAT_LUMBAR_VERTICAL_MOVE 的值为 0,则表示没有进行任何移动。

此属性以指定范围的相对移动速度来表示。

此属性定义为 VehiclePropertyAccess.READ_WRITE,但 OEM 可以将其实现为仅 VehiclePropertyAccess.READ

更改模式:ON_CHANGE
访问模式:READ_WRITE/READ
枚举类型:无
单位类型:无
版本:Android 14

SEAT_LUMBAR_VERTICAL_POS

表示座椅腰部支撑垂直位置的属性。必须定义每个 VehicleAreaConfig 中的 maxInt32ValueminInt32Value。必须支持 minInt32ValuemaxInt32Value 之间的所有整数。maxInt32Value 表示腰部支撑的最高位置。minInt32Value 表示腰部支撑的最低位置。

如果值介于 minInt32ValuemaxInt32Value 之间,则表示处于最低位置和最高位置之间的过渡状态。

此属性以指定范围的相对位置来表示。

此属性定义为 VehiclePropertyAccess.READ_WRITE,但 OEM 可以将其实现为仅 VehiclePropertyAccess.READ

更改模式:ON_CHANGE
访问模式:READ_WRITE/READ
枚举类型:无
单位类型:无
版本:Android 13

SEAT_MEMORY_SELECT

此参数用于选择内存预设,以便在选择座椅位置时使用。必须定义 VehicleAreaConfig 中的 maxInt32ValueminInt32Value。必须支持 minInt32ValuemaxInt32Value 之间的所有整数。minInt32Value 始终为 0,maxInt32Value 用于确定可用的座椅预设内存槽位数(例如 numSeatPresets - 1)。例如,如果驾驶员座椅有三个内存预设,则 maxInt32Value 为 2。当用户选择预设时,系统会设置所需的预设数(0、1 或 2)。

更改模式:ON_CHANGE
访问模式:WRITE
枚举类型:无
单位类型:无
版本:Android 13

SEAT_MEMORY_SET

通过此设置,用户可以将当前座椅位置设置保存到所选的预设槽位。必须定义 VehicleAreaConfig 中的 maxInt32ValueminInt32ValueminInt32Value 必须为 0,并且每个座椅位置的 maxInt32Value 必须与 SEAT_MEMORY_SELECTmaxInt32Value 一致

更改模式:ON_CHANGE
访问模式:WRITE
枚举类型:无
单位类型:无
版本:Android 13

SEAT_OCCUPANCY

根据汽车做出的最佳判断,指明特定座椅是否被占用。有效值来自 VehicleSeatOccupancyState 枚举。

更改模式:ON_CHANGE
访问模式:READ
枚举类型:VehicleSeatOccupancyState
单位类型:无
版本:Android 13

SEAT_TILT_MOVE

座椅倾斜移动。必须定义每个 VehicleAreaConfig 中的 maxInt32ValueminInt32Value。必须支持 minInt32ValuemaxInt32Value 之间的所有整数。maxInt32Value 表示座椅前缘在向上移动时的最快移动速度。minInt32Value 表示座椅前缘在向下移动时的最快移动速度。

绝对值越大(无论是正值还是负值),表示移动速度就越快。座椅底部达到位置极限后,该值必须重置为 0。如果 SEAT_TILT_MOVE 的值目前为 0,则表示没有进行任何移动。

此属性以指定范围的相对移动速度来表示。

此属性定义为 VehiclePropertyAccess.READ_WRITE,但 OEM 可以将其实现为仅 VehiclePropertyAccess.READ

更改模式:ON_CHANGE
访问模式:READ_WRITE/READ
枚举类型:无
单位类型:无
版本:Android 13

SEAT_TILT_POS

座椅倾斜位置。必须定义 VehicleAreaConfig 中的 maxInt32ValueminInt32Value。必须支持 minInt32ValuemaxInt32Value 之间的所有整数。minInt32Value 表示座椅底部处于最小角度位置。这相当于座椅前缘处于相对于座椅后端的最低极限位置。maxInt32Value 表示座椅底部处于最大角度位置。这相当于座椅前缘处于相对于座椅后端的最高极限位置。

如果值介于 minInt32ValuemaxInt32Value 之间,则表示处于最低位置和最高位置之间的过渡状态。

此属性以指定范围的相对位置来表示。

此属性定义为 VehiclePropertyAccess.READ_WRITE,但 OEM 可以将其实现为仅 VehiclePropertyAccess.READ

更改模式:ON_CHANGE
访问模式:READ_WRITE/READ
枚举类型:无
单位类型:无
版本:Android 14

SEAT_WALK_IN_POS

此属性用于表示座椅当前的进入位置。minInt32Value 表示正常座椅位置。minInt32Value 必须是 0。maxInt32Value 表示座椅处于完全进入位置。

如果值介于 minInt32ValuemaxInt32Value 之间,则表示处于正常位置和进入位置之间的过渡状态。

此属性以指定范围的相对位置来表示。

区域 ID 必须与启用便捷进入功能时实际移动的座椅匹配,而不是与乘客打算坐入的座椅匹配。

此属性定义为 VehiclePropertyAccess.READ_WRITE,但 OEM 可以

将其实现为仅 VehiclePropertyAccess.READ。

更改模式:ON_CHANGE
访问模式:READ_WRITE/READ
枚举类型:无
单位类型:无
版本:Android 13

SHUTDOWN_REQUEST

请求关闭车机。

若要在车机关闭时执行任务(远程任务功能),必须发送此请求。在车机开启以执行任务后,车机应关闭。当任务完成后,车机会发送此消息。

当用户想要关闭车机时,此属性不适用。

这通常涉及告知车机以外的单独系统(例如电源控制器)准备关闭车机。

外部系统必须通过检查车辆是否正在使用中,来验证此请求是否有效。如果用户在发送 SHUTDOWN_REQUEST 后进入车辆,系统必须忽略此请求。建议将 VehicleInUse 属性存储在电源控制器中,并通过 VEHICLE_IN_USE 属性将其公开。如果 VehicleInUse 为 true,则必须忽略关闭请求。

如果可以,外部系统会向车机发送关闭信号,这会导致 VHAL 向 Android 发送 SHUTDOWN_PREPARE 消息。然后,Android 将处理该消息以启动关闭流程。

此属性仅用于发出请求,并且仅支持写入操作。每次设置此属性值时,系统都会发出关闭请求,无论当前属性值是什么。当前属性值毫无意义。

由于此属性为只写属性,因此不允许订阅,而且系统也不会生成任何属性更改事件。

要设置的值表示关闭选项,必须是 {@code VehicleApPowerStateShutdownParam} 之一。例如 VehicleApPowerStateShutdownParam.SLEEP_IMMEDIATELY。如果系统不支持此关闭选项,则可能将其忽略。在这种情况下,系统不会返回错误。

对于配置信息,VehiclePropConfig.configArray 必须在 {@code VehicleApPowerStateConfigFlag} 中具有位标志组合值,以指明支持哪些关闭选项。

如果未能将关闭请求发送到其他系统,则会返回错误。

更改模式:ON_CHANGE
访问模式:WRITE
枚举类型:VehicleApPowerStateShutdownParam>
单位类型:无
版本:Android 14

STEERING_WHEEL_DEPTH_MOVE

方向盘深度移动。必须定义 VehicleAreaConfig 中的 maxInt32ValueminInt32Value。必须支持 minInt32ValuemaxInt32Value 之间的所有值。

maxInt32Value 表示方向盘朝远离驾驶员的方向移动。minInt32Value 表示方向盘朝靠近驾驶员的方向移动。

整数值越大(无论是正值还是负值),表示移动速度越快。方向盘达到位置极限后,该值必须重置为 0。如果 STEERING_WHEEL_DEPTH_MOVE 的值目前为 0,则表示没有进行任何移动。

此属性以指定范围的相对移动速度来表示。

此属性定义为 VehiclePropertyAccess.READ_WRITE,但 OEM 可以将其实现为仅 VehiclePropertyAccess.READ

更改模式:ON_CHANGE
访问模式:READ_WRITE/READ
枚举类型:无
单位类型:无
版本:Android 14

STEERING_WHEEL_DEPTH_POS

方向盘深度位置。所有方向盘属性的唯一 ID 都以 0x0BE0 开头。

必须定义 VehicleAreaConfig 中的 maxInt32ValueminInt32Value。必须支持 minInt32ValuemaxInt32Value 之间的所有值。maxInt32Value 表示距离驾驶员最远的方向盘位置。minInt32Value 表示距离驾驶员最近的方向盘位置。

如果值介于 minInt32ValuemaxInt32Value 之间,则表示处于过渡状态。

此属性以指定范围的相对位置来表示。

此属性定义为 VehiclePropertyAccess.READ_WRITE,但 OEM 可以将其实现为仅 VehiclePropertyAccess.READ

更改模式:ON_CHANGE
访问模式:READ_WRITE/READ
枚举类型:无
单位类型:无
版本:Android 14

STEERING_WHEEL_EASY_ACCESS_ENABLED

已启用方向盘方便进出功能。如果为 true,驾驶员的方向盘会自动调整,以便驾驶员更轻松地进出车辆。

此属性定义为 VehiclePropertyAccess.READ_WRITE,但 OEM 可以将其实现为仅 VehiclePropertyAccess.READ

更改模式:ON_CHANGE
访问模式:READ_WRITE/READ
枚举类型:无
单位类型:无
版本:Android 14

STEERING_WHEEL_HEIGHT_MOVE

方向盘高度移动。必须定义 VehicleAreaConfig 中的 maxInt32ValueminInt32Value。必须支持 minInt32ValuemaxInt32Value 之间的所有值。

maxInt32Value 表示方向盘向上移动。minInt32Value 表示方向盘向下移动。

整数值越大(无论是正值还是负值),表示移动速度越快。方向盘达到位置极限后,该值必须重置为 0。如果 STEERING_WHEEL_HEIGHT_MOVE 的值目前为 0,则表示目前没有进行任何移动。

此属性以指定范围的相对移动速度来表示。

此属性定义为 VehiclePropertyAccess.READ_WRITE,但 OEM 可以将其实现为仅 VehiclePropertyAccess.READ

更改模式:ON_CHANGE
访问模式:READ_WRITE/READ
枚举类型:无
单位类型:无
版本:Android 14

STEERING_WHEEL_HEIGHT_POS

方向盘高度位置。

必须定义 VehicleAreaConfig 中的 maxInt32ValueminInt32Value。必须支持 minInt32ValuemaxInt32Value 之间的所有值。maxInt32Value 表示方向盘处于最高位置。minInt32Value 表示方向盘处于最低位置。

如果值介于 minInt32ValuemaxInt32Value 之间,则表示处于最低位置和最高位置之间的过渡状态。

此属性以指定范围的相对位置来表示。

此属性定义为 VehiclePropertyAccess.READ_WRITE,但 OEM 可以将其实现为仅 VehiclePropertyAccess.READ

更改模式:ON_CHANGE
访问模式:READ_WRITE/READ
枚举类型:无
单位类型:无
版本:Android 14

STEERING_WHEEL_LIGHTS_STATE

方向盘灯的状态。表示方向盘灯的当前状态。这与 STEERING_WHEEL_LIGHTS_SWITCH 不同,后者表示控制灯的开关的位置。因此,STEERING_WHEEL_LIGHTS_STATE 可能与 STEERING_WHEEL_LIGHTS_SWITCH 的值不一致(例如 STEERING_WHEEL_LIGHTS_SWITCH=AUTOMATICSTEERING_WHEEL_LIGHTS_STATE=ON)。

仅当 STEERING_WHEEL_LIGHTS_STATE 的值可能与 CABIN_LIGHTS_STATE 的值不同时,才应实现此属性。

对于全局区域 ID (0),必须定义 VehicleAreaConfig#supportedEnumValues,除非支持 VehicleLightState 的所有枚举值。

更改模式:ON_CHANGE
访问模式:READ
枚举类型:VehicleLightState
单位类型:无
版本:Android 14

STEERING_WHEEL_LIGHTS_SWITCH

方向盘灯开关。表示控制方向盘灯的开关的位置。这与表示方向盘灯当前状态的属性不同。因此,STEERING_WHEEL_LIGHTS_SWITCH 可能与 STEERING_WHEEL_LIGHTS_STATE 的值不一致。例如 STEERING_WHEEL_LIGHTS_SWITCH=AUTOMATICSTEERING_WHEEL_LIGHTS_STATE=ON

仅当 STEERING_WHEEL_LIGHTS_SWITCH 的值可能与 CABIN_LIGHTS_SWITCH 的值不同时,才应实现此属性。

对于全局区域 ID (0),必须定义 VehicleAreaConfig#supportedEnumValues,除非支持 VehicleLightSwitch 的所有枚举值。

此属性定义为 VehiclePropertyAccess.READ_WRITE,但 OEM 可以将其实现为仅 VehiclePropertyAccess.READ

更改模式:ON_CHANGE
访问模式:READ_WRITE/READ
枚举类型:VehicleLightSwitch
单位类型:无
版本:Android 14

STEERING_WHEEL_LOCKED

方向盘已锁定。如果为 true,则方向盘位置已锁定且不可更改。此属性定义为 VehiclePropertyAccess.READ_WRITE,但 OEM 可以将其实现为仅 <covehiclepropertyaccess.read< code="">。

更改模式:ON_CHANGE
访问模式:READ_WRITE/READ
枚举类型:无
单位类型:无
版本:Android 14

STEERING_WHEEL_THEFT_LOCK_ENABLED

已启用方向盘防盗锁功能。如果为 true,方向盘会在某些情况下自动锁定以防止车辆被盗。此属性被定义为 VehiclePropertyAccess.READ_WRITE,但 OEM 可以将其实现为仅 VehiclePropertyAccess.READ。

更改模式:ON_CHANGE
访问模式:READ_WRITE/READ
枚举类型:无
单位类型:无
版本:Android 14

STORAGE_ENCRYPTION_BINDING_SEED

外部加密绑定种子。此值与本地密钥存储加密密钥混合使用。此属性会保存 16 个字节,并且应保留在与 IVI 分开的 ECU 上。此属性最初是由 AAOS 设置的,后者使用 CSRNG 生成此属性。然后,AAOS 会在后续启动时读取此属性。应可靠地保存绑定种子。任何丢失种子的行为都会导致需要将 IVI 恢复出厂设置。

更改模式:ON_CHANGE
访问模式:READ_WRITE
枚举类型:无
单位类型:无
版本:Android 13

SUPPORT_CUSTOMIZE_VENDOR_PERMISSION

支持为供应商属性自定义权限。

如果 VHAL 支持自定义供应商权限功能,请实现此属性。VehiclePropConfig.configArray 用于指明供应商属性以及为此供应商属性选择的权限。权限必须是 VehicleVendorPermission 中的枚举项之一。configArray 的设置如下:configArray[n]: propId : property ID 用于供应商属性,其中 configArray[n+1] 是 VehicleVendorPermission 中的枚举项,表示属性值读取权限。

configArray[n+2] 是 VehicleVendorPermission 中的枚举项,表示属性值写入权限。例如:

configArray: { vendor_prop_1, PERMISSION_VENDOR_SEAT_READ, PERMISSION_VENDOR_SEAT_WRITE, vendor_prop_2, PERMISSION_VENDOR_INFO, PERMISSION_NOT_ACCESSIBLE, }

如果供应商属性不在此数组中,则具有默认供应商权限。如果供应商选择了 PERMISSION_NOT_ACCESSIBLE,则 Android 无法访问此属性。在示例中,Android 无法为 vendor_prop_2 写入值。

更改模式:STATIC
访问模式:READ
枚举类型:无
单位类型:无
版本:Android 13

SUPPORTED_PROPERTY_IDS

已废弃)一个列表,列出所有受支持的属性 ID。

更改模式:STATIC
访问模式:READ
枚举类型:无
单位类型:无
版本:Android 14

SWITCH_USER

定义切换前台 Android 用户的请求。

此属性主要供 Android 系统用于通知 HAL 将切换当前的前台 Android 用户,但 HAL 也可以使用此属性请求 Android 系统切换用户。当 Android 发出请求时,系统会设置 VehiclePropValue,并且 HAL 必须通过属性更改事件进行响应。HAL 发出请求时,还必须通过属性更改事件发出请求(主要区别在于,前者的请求 ID 为正数,后者为负数)。SwitchUserMessageType 也不同。

这两种请求的格式均由 SwitchUserRequest 定义,响应的格式(如有需要)则由 SwitchUserResponse 定义。HAL(或 Android 系统)应如何继续执行取决于消息类型(由 SwitchUserMessageType 参数定义),定义如下。
  • LEGACY_ANDROID_SWITCH 由 Android 系统调用,用于指明 Android 用户即将更改,前提是更改请求的发出方式不同于集成 HAL 的方式(例如通过 adb shell am switch-user)。收到此请求后,HAL 可以切换其内部用户,但无需回复 Android 系统。如果出于某种原因无法更改其内部用户,则必须等待 SWITCH_USER(type=ANDROID_POST_SWITCH) 调用以进行恢复(例如,它可以发出 SWITCH_USER(type=VEHICLE_REQUEST) 以切换回上一个用户)。理想情况下,它永远不应失败(因为切换回来可能会让最终用户感到困惑)。
    例如,如果系统有多个用户(0、10、11),并且要从 0 切换到 11(其中没有任何特殊标志),请求将如下所示:
    • int32[0] 42 // 请求 ID
    • int32[1] 1 // SwitchUserMessageType::LEGACY_ANDROID_SWITCH
    • int32[2] 11 // 目标用户 ID
    • int32[3] 0 // 目标用户标志(无)
    • int32[4] 10 // 当前用户
    • int32[5] 0 // 当前用户标志(无)
    • int32[6] 3 // 用户数量
    • int32[7] 0 // 用户 0(Android 用户 ID 0)
    • int32[8] 0 // 用户 0 的标志(无)
    • int32[9] 10 // 用户 1(Android 用户 ID 10)
    • int32[10] 0 // 用户 1 的标志(无)
    • int32[11] 11 // 用户 2 (Android 用户 ID 11)
    • int32[12] 0 // 用户 2 的标志(无)
  • ANDROID_SWITCH 由 Android 系统调用,用于指明 Android 用户即将更改,但 Android 会等待 HAL 的响应(最多会等待一定的时间),然后再继续。HAL 在收到此请求后必须立即切换其内部用户,然后使用 SWITCH_USER(type=VEHICLE_RESPONSE) 向 Android 做出响应,指明其内部用户是否已切换(通过 SwitchUserStatus 枚举)。例如,如果 Android 有多个用户(0、10、11),并且要从 10 切换到 11(其中没有任何特殊标志),请求将如下所示:
    • int32[0] 42 // 请求 ID
    • int32[1] 2 // SwitchUserMessageType::ANDROID_SWITCH
    • int32[2] 11 // 目标用户 ID
    • int32[3] 0 // 目标用户标志(无)
    • int32[4] 10 // 当前用户
    • int32[5] 0 // 当前用户标志(无)
    • int32[6] 3 // 用户数量
    • int32[7] 0 // 第一个用户(用户 0)
    • int32[8] 1 // 第一个用户的标志(SYSTEM)
    • int32[9] 10 // 第二个用户(用户 10)
    • int32[10] 0 // 第二位用户标志(无)
    • int32[11] 11 // 第三个用户(用户 11)
    • int32[12] 0 // 第三个用户的标志(无)

    如果请求成功了,HAL 必须使用以下代码更新属性:

    • int32[0] 42 // 请求 ID
    • int32[1] 3 // messageType: SwitchUserMessageType::VEHICLE_RESPONSE
    • int32[2] 1 // status: SwitchUserStatus::SUCCESS

    如果请求失败了,响应将如下所示:

    • int32[0] 42 // 请求 ID
    • int32[1] 3 // messageType: SwitchUserMessageType::VEHICLE_RESPONSE
    • int32[2] 2 // status: SwitchUserStatus::FAILURE string: "108-D'OH!"
    • OEM 专属错误消息
  • VEHICLE_RESPONSE 由 HAL 调用,用于指明 ANDROID_SWITCH 类型的请求是应继续还是中止。另请参阅 ANDROID_SWITCH。
  • VEHICLE_REQUEST 由 HAL 调用,用于请求切换当前的前台 Android 用户。若 Android 以某个用户的身份启动,但车辆将驾驶员识别为其他用户,此方法非常有用。例如,用户 A 通过用户 B 的遥控钥匙解锁了汽车。INITIAL_USER_INFO 请求返回了用户 B,但随后面部识别子系统将用户识别为 A。HAL 通过属性更改事件(传递负请求 ID)发出此请求,而 Android 系统响应是发出具有相同请求 ID 的 ANDROID_POST_SWITCH 调用。例如,如果当前的前台 Android 用户是 10,并且 HAL 要求切换到 11,请求将如下所示:
    • int32[0] -108 // 请求 ID
    • int32[1] 4 // messageType: SwitchUserMessageType::VEHICLE_REQUEST
    • int32[2] 11 // Android 用户 ID

    如果请求成功,并且 Android 有 3 个用户(0、10 和 11),响应将如下所示:

    • int32[0] -108 // 请求 ID
    • int32[1] 5 // messageType: SwitchUserMessageType::ANDROID_POST_SWITCH
    • int32[2] 11 // 目标用户 ID
    • int32[3] 0 // 目标用户 ID 标志(无)
    • int32[4] 11 // 当前用户
    • int32[5] 0 // 当前用户标志(无)
    • int32[6] 3 // 用户数量
    • int32[7] 0 // 第一个用户(用户 0)
    • int32[8] 0 // 第一个用户的标志(无)
    • int32[9] 10 // 第二个用户(用户 10)
    • int32[10] 4 // 第二个用户的标志(无)
    • int32[11] 11 // 第三个用户(用户 11)
    • int32[12] 3 // 第三个用户的标志(无)

    当前用户 ID 和目标用户 ID 相同。如果请求失败,则两者将会不同。例如,目标用户将为 11,而当前用户仍为 10。

  • ANDROID_POST_SWITCH 由 Android 系统在收到用户切换请求后调用。此属性在任何类型的切换请求(例如 >code>LEGACY_ANDROID_SWITCH、>code>ANDROID_SWITCH 或 VEHICLE_REQUEST)之后调用,可用于确定请求是成功还是失败了。
    • 如果请求成功了,则会在 Android 用户处于解锁状态且响应中当前用户 ID 和目标用户 ID 的值相同时调用它。这等同于在 Android 应用中收到 Intent.ACTION_USER_UNLOCKED。
    • 如果请求失败了,系统会立即调用它,并且响应中当前用户 ID 和目标用户 ID 的值会不同(因为当前用户未更改为目标用户)。
    • 如果在 HAL 响应上一个请求之前或在用户解锁之前发出新的切换请求,则不会发出 ANDROID_POST_SWITCH 请求。例如,驾驶员可能会不小心切换到具有锁定凭据的错误用户,然后在输入凭据之前切换到正确用户。

    HAL 在收到此请求后可以更新其内部状态,但无需回复 Android 系统。

    • 请求。由 INITIAL_USER_INFO 定义的前 N 个值(其中索引 1 处的请求专用值为 SwitchUserMessageType::ANDROID_POST_SWITCH),然后是针对目标用户 ID(例如请求切换到的 Android 用户 ID)及其标志(由 UserFlags 定义)的另外两个值。
    • 回复:无。如需查看示例,请参阅 VEHICLE_REQUEST

更改模式:ON_CHANGE
访问模式:READ_WRITE
枚举类型:无
单位类型:无
版本:Android 13

TIRE_PRESSURE

胎压。每个轮胎都通过其 areaConfig.areaId 配置进行标识。相应的 minFloatValue 和 maxFloatValue 用于存储 OEM 建议的胎压范围。必须定义 VehicleAreaConfig 中的 minFloatValue 和 maxFloatValue 的值。

areaConfig 数据中的 minFloatValue 表示建议的胎压下限。areaConfig 数据中的 maxFloatValue 表示建议的胎压上限。例如,此 areaConfig 表示左前轮胎的建议胎压为 200.0kPa 到 240.0kPa。

.areaConfigs: { VehicleAreaConfig { .areaId: VehicleAreaWheel::LEFT_FRONT, .minFloatValue: 200.0, .maxFloatValue: 240.0, } }

更改模式:CONTINUOUS
访问模式:READ
枚举类型:无
单位类型:VehicleUnit:KILOPASCAL
版本:Android 13

TIRE_PRESSURE_DISPLAY_UNITS

胎压显示单位。表示汽车使用哪些单位向用户显示胎压。例如 PSI、Bar 或千帕。VehiclePropConfig.configArray 用于指明支持的胎压显示单位。胎压单位在 VehicleUnit 中定义。例如 configArray[0]: KILOPASCAL configArray[1]: PSI configArray[2]: BAR

如果更新 TIRE_PRESSURE_DISPLAY_UNITS 会影响其他 *_DISPLAY_UNITS 属性的值,则必须更新这些属性的值,并将这些值也传达给 AAOS 框架。此属性定义为 VehiclePropertyAccess.READ_WRITE,但 OEM 可以将其实现为仅 <covehiclepropertyaccess.read< code="">。

更改模式:ON_CHANGE
访问模式:READ_WRITE/READ
枚举类型:VehicleUnit
单位类型:无
版本:Android 13

TRACTION_CONTROL_ACTIVE

当牵引力控制 (TC) 处于启用状态时设置为 true,当 TC 处于停用状态时重置为 false。此属性可根据 TC 系统的实时状态间歇性设置(脉冲式)。

更改模式:ON_CHANGE
访问模式:READ
枚举类型:无
单位类型:无
版本:Android 13

TRAILER_PRESENT

返回汽车的拖车状态。

更改模式:ON_CHANGE
访问模式:READ
枚举类型:TrailerState
单位类型:无
版本:Android 13

TURN_SIGNAL_STATE

车辆转向指示灯的状态。

更改模式:ON_CHANGE
访问模式:READ
枚举类型:VehicleTurnSignal
单位类型:无
版本:Android 13

USER_IDENTIFICATION_ASSOCIATION

此属性用于将当前用户与车辆专用身份识别机制(例如遥控钥匙)相关联(或查询关联)。

这是一个可选的用户管理属性。OEM 仍可以在不定义此属性的情况下支持用户管理。事实上,即使不支持 INITIAL_USER_INFO 中所述的核心用户相关功能,也可以使用此属性。

为了查询关联,Android 系统会获取此属性,并传递一个 VehiclePropValue,其中包含要查询的关联的类型(由 UserIdentificationGetRequest 定义)。HAL 必须立即通过 UserIdentificationResponse 返回 VehiclePropValue。

请注意,用户身份识别是在系统启动时进行的。VHAL 实现应仅返回已识别的关联(例如用于解锁汽车的遥控钥匙),而非通过 get 调用开始建立新的关联。

为了关联类型,Android 系统会设置此属性,并传递一个 VehiclePropValue,其中包含要设置的关联的类型和值(由 UserIdentificationSetRequest 定义)。

然后,HAL 会使用属性更改事件(其 VehiclePropValue 由 UserIdentificationResponse 定义)来指明请求后的类型的当前状态。

例如,若要查询当前用户 (10) 是否与解锁汽车的 FOB 以及 OEM 提供的自定义机制相关联,请求如下所示:

  • int32[0] 42 // 请求 ID
  • int32[1] 10 (Android 用户 ID)
  • int32[2] 0 (Android 用户标志)
  • int32[3] 2 (查询的类型数)
  • int32[4] 1 (查询的第一个类型,UserIdentificationAssociationType::KEY_FOB)
  • int32[5] 101(查询的第二个类型,UserIdentificationAssociationType::CUSTOM_1)

如果用户与 FOB 相关联,但未与自定义机制关联,则响应如下所示:

  • int32[0] 42 // 请求 ID
  • int32[1] 2 (响应中的关联数)
  • int32[2] 1 (第一种类型:UserIdentificationAssociationType::KEY_FOB)
  • int32[3] 2 (第一个值:UserIdentificationAssociationValue::ASSOCIATED_CURRENT_USER)
  • int32[4] 101(第一种类型:UserIdentificationAssociationType::CUSTOM_1)
  • int32[5] 4 (第二个值:UserIdentificationAssociationValue::NOT_ASSOCIATED_ANY_USER)

然后,为了将用户与自定义机制相关联,系统会发出设置请求:

  • int32[0] 43 // 请求 ID
  • int32[1] 10 (Android 用户 ID)
  • int32[2] 0 (Android 用户标志)
  • int32[3] 1 (要设置的关联数)
  • int32[4] 101(第一种类型:UserIdentificationAssociationType::CUSTOM_1)

如果请求成功,响应将如下所示:

  • int32[0] 43 // 请求 ID
  • int32[1] 1 (响应中的关联数)
  • int32[2] 101(第一种类型:UserIdentificationAssociationType::CUSTOM_1)
  • int32[3] 1 (第一个值:UserIdentificationAssociationValue::ASSOCIATED_CURRENT_USER)

设置请求会添加关联,但不会移除现有关联。在上面的示例中,最终状态将是两个关联(FOB 和 CUSTOM_1)。若要将用户仅与 CUSTOM_1 关联,而不与 FOB 关联,则请求应为:

  • int32[0] 43 // 请求 ID
  • int32[1] 10 (Android 用户 ID)
  • int32[2] 2 (类型集的数量)
  • int32[3] 1 (第一种类型:UserIdentificationAssociationType::KEY_FOB)
  • int32[4] 2 (第一个值:UserIdentificationAssociationValue::DISASSOCIATE_CURRENT_USER)
  • int32[5] 101(第二种类型:UserIdentificationAssociationType::CUSTOM_1)
  • int32[6] 1 (第二个值:UserIdentificationAssociationValue::ASSOCIATE_CURRENT_USER)

更改模式:ON_CHANGE
访问模式:READ_WRITE
枚举类型:无
单位类型:无
版本:Android 13

VEHICLE_CURB_WEIGHT

返回车辆的整备重量(单位:千克)。整备重量是指车辆在不载客、不载货的情况下,配备标准设备和所有必要的操作消耗品(例如机油、变速箱油、制动液、冷却液、空调制冷剂、油箱中额定容量的燃油)时的总重量。

configArray[0] 用于指定车辆的总重量(单位:千克)。车辆的总重量是指制造商指定的车辆最大满载重量,包括车辆的底盘、车身、发动机、发动机液体、燃油、附件、驾驶员、乘客和货物,但不包括任何拖车。

更改模式:STATIC
访问模式:READ
枚举类型:无
单位类型:VehicleUnit:KILOGRAM
版本:Android 13

VEHICLE_IN_USE

指明车辆是否正在使用中。正在使用中意味着真人用户存在并打算使用车辆。这并不一定意味着车内有真人用户。例如,如果真人用户远程解锁车辆,则车辆会被视为正在使用中。如果此属性受支持:

  • 每当用户启动车辆或系统检测到存在用户时,VEHICLE_IN_USE 都必须设置为 true。每当用户关掉车辆或系统检测到不存在用户时,VEHICLE_IN_USE 都必须设置为 false。
  • 如果用户关掉车辆或系统检测到不存在用户时,VEHICLE_IN_USE 必须设置为 false。
  • 如果用户启动车辆或系统检测到存在用户时,VEHICLE_IN_USE 必须设置为 true。

此属性与 AP_POWER_BOOTUP_REASON 不同,因为 AP_POWER_BOOTUP_REASON 在系统启动期间仅设置一次。不过,此属性可能会在系统启动周期内更改多次。例如,设备目前未在使用中。系统启动以执行远程任务。VEHICLE_IN_USE 为 false。在远程任务执行期间,用户进入车辆并启动车辆。VEHICLE_IN_USE 设置为 true。在车辆停止行驶后,如果用户关掉车辆,VEHICLE_IN_USE 会设置为 false。

此属性定义为 VehiclePropertyAccess.READ_WRITE,但 OEM 可以将其实现为仅 VehiclePropertyAccess.READ

更改模式:ON_CHANGE
访问模式:READ_WRITE/READ
枚举类型:无
单位类型:无
版本:Android 14

VEHICLE_MAP_SERVICE

车载地图服务 (VMS) 消息。此属性使用 MIXED 数据来传达 VMS 消息。其内容应按如下方式进行解读。VmsMessageIntegerValuesInde 中定义的索引用于从 int32Values 读取数据。字节是 VMS 协议中定义的序列化 VMS 消息,该消息对框架来说是不可见的。IVehicle#get 必须始终返回 StatusCode::NOT_AVAILABLE

更改模式:ON_CHANGEREAD_WRITE
访问模式:READ_WRITE
枚举类型:无
单位类型:无
版本:Android 13

VEHICLE_SPEED_DISPLAY_UNITS

速度显示单位。表示向用户显示速度时使用的单位类型。例如 m/s、km/h 或 mph。VehiclePropConfig.configArray 用于指明支持的速度显示单位。压力单位在 VehicleUnit 中定义。例如:

.configArray: { VehicleUnit::METER_PER_SEC, VehicleUnit::KILOMETERS_PER_HOUR, VehicleUnit::MILES_PER_HOUR }
  • configArray[0] METER_PER_SEC
  • configArray[1] MILES_PER_HOUR
  • configArray[2] KILOMETERS_PER_HOUR

如果更新 VEHICLE_SPEED_DISPLAY_UNITS 会影响其他 *_DISPLAY_UNITS properties 的值,则必须更新这些值,并将其传达给 AAOS 框架。

此属性定义为 VehiclePropertyAccess.READ_WRITE,但 OEM 可以将其实现为仅 VehiclePropertyAccess.READ

更改模式:ON_CHANGE
访问模式:READ_WRITE/READ
枚举类型:无
单位类型:无
版本:Android 13

VHAL_HEARTBEAT

定义一个事件,VHAL 将其作为检测信号发送给汽车监控定时器。如果 VHAL 支持此属性,VHAL 应每 3 秒向此属性写入一次系统正常运行时间。汽车监控定时器会订阅此属性,并每隔 3 秒检查一次此属性是否已更新。在缓冲区时间为 3 秒时,汽车监控定时器会等待检测信号,最长等待时间可达到 6 秒(从上次收到检测信号算起)。如果未更新,汽车监控定时器会将 VHAL 视为运行状况不佳并终止 VHAL。如果 VHAL 不支持此属性,汽车监控定时器不会检查 VHAL 的运行状况。

更改模式:ON_CHANGE
访问模式:READ
枚举类型:无
单位类型:无
版本:Android 13

WATCHDOG_ALIVE

定义 Car Watchdog 更新的事件,以表明其处于活跃状态。汽车监控定时器会每隔 3 秒将此属性设置为系统正常运行时间(单位:毫秒)。在启动过程中,更新可能需要更长时间。

更改模式:ON_CHANGE
访问模式:WRITE
枚举类型:无
单位类型:无
版本:Android 13

WATCHDOG_TERMINATED_PROCESS

定义被汽车监控定时器终止的进程以及终止原因。

int32Values[0] 1  // ProcessTerminationReason showing why a process is terminated. string: "/system/bin/log" // Process execution command

更改模式:ON_CHANGE
访问模式:WRITE
枚举类型:无
单位类型:无
版本:Android 13

WHEEL_TICK

报告车轮 tick 计数。向量中的第一个元素是重置计数。重置表明之前的 tick 计数与当前及未来的 tick 计数不具有可比性。这表明在 tick 计数过程中出现了一些不连续的情况。

接下来的四个元素表示各个车轮的 tick 计数,顺序如下:

  1. 前左
  2. 前右
  3. 右后
  4. 左后

所有 tick 计数都是累计数据。当车辆前进时,tick 计数会递增;当车辆后退时,tick 计数会递减。车辆启动时,tick 计数应重置为 0。

  • int64Values[0] 重置计数
  • int64Values[1] 左前车轮 tick 计数
  • int64Values[2] 右前车轮 tick 计数
  • int64Values[3] 右后车轮 tick 计数
  • int64Values[4] 左后车轮 tick 计数

configArray 用于指明 micrometers-per-wheel-tick 值,以及支持的车轮,configArray 设置如下:

configArray[0], bits [0:3] Supported wheels

使用枚举 Wheel。例如,如果支持所有车轮,则:

  • configArray[0] VehicleAreaWheel::LEFT_FRONT | VehicleAreaWheel::RIGHT_FRONT | VehicleAreaWheel::LEFT_REAR | VehicleAreaWheel::RIGHT_REAR
  • configArray[1] 左前车轮每 tick 对应的微米数
  • configArray[2] 右前车轮每 tick 对应的微米数
  • configArray[3] 右后车轮每 tick 对应的微米数
  • configArray[4] 左后车轮每 tick 对应的微米数

如果某个车轮不受支持,则其值应始终设置为 0。

必须填写 VehiclePropValue.timestamp

更改模式:CONTINUOUS
访问模式:READ
枚举类型:无
单位类型:无
版本:Android 13

WINDOW_LOCK

车窗童锁。true 表示车窗已上童锁。此属性定义为 VehiclePropertyAccess.READ_WRITE,但 OEM 可以将其实现为仅 VehiclePropertyAccess.READ

更改模式:ON_CHANGE
访问模式:READ_WRITE/READ
枚举类型:无
单位类型:无
版本:Android 13

WINDOW_MOVE

车窗移动。必须定义每个 VehicleAreaConfig 中的 maxInt32ValueminInt32Value。必须支持 minInt32ValuemaxInt32Value 之间的所有整数。maxInt32Value 表示车窗在以最快速度沿平面方向打开/沿非平面方向关闭。minInt32Value 表示车窗在以最快速度沿平面方向关闭/沿非平面方向打开。

绝对值越大(无论是正值还是负值),表示移动速度就越快。车窗达到位置极限后,该值必须重置为 0。如果 WINDOW_MOVE 的值为 0,则表示没有进行任何移动。此属性以指定范围的相对移动速度来表示。

对于可能沿非平面方向打开的车窗(天窗的通风模式),此参数的工作方式如下。如果:

  • 天窗处于打开状态:
    • Max 进一步打开天窗,在天窗完全打开时自动停止。
    • Min 关闭天窗,在天窗关闭时自动停止。
  • 通风口已打开:
    • Max 关闭通风口,在通风口关闭时自动停止。
    • Min 进一步打开通风口,在通风口完全打开时自动停止。
  • 天窗已关闭:
    • Max 打开天窗,在天窗完全打开时自动停止。
    • Min 打开通风口,在通风口完全打开时自动停止。

此属性定义为 VehiclePropertyAccess.READ_WRITE,但 OEM 可以将其实现为仅 VehiclePropertyAccess.READ

更改模式:ON_CHANGE
访问模式:READ_WRITE/READ
枚举类型:无
单位类型:无
版本:Android 13

WINDOW_POS

车窗位置。必须定义每个 VehicleAreaConfig 中的 maxInt32ValueminInt32Value。必须支持 minInt32ValuemaxInt32Value 之间的所有整数。minInt32Value 表示车窗已沿非平面方向关闭或完全打开。如果车窗无法沿非平面方向打开,则 minInt32Value 是车窗完全关闭时的位置,必须为 0。如果车窗可以沿非平面方向打开,minInt32Value 表示车窗已沿非平面方向完全打开,并且是一个负值。如需更详细的说明,请参阅以下示例。maxInt32Value 表示车窗已完全打开。

如果值介于 minInt32ValuemaxInt32Value 之间,则表示处于已沿非平面方向关闭/完全打开位置和完全打开位置之间的过渡状态。此属性不采用任何特定单位,而是采用指定范围的相对速度。例如,对于可以沿非平面方向移动的车窗,此属性应按如下方式工作:对于可以沿非平面方向移动的车窗(天窗的通风模式),此参数可使用负值,如下所示:

  • Max 天窗完全打开(天窗关闭时为 0)。
  • Min 天窗通风口完全打开(天窗关闭时为 0)。
在此模式下,0 表示车窗已关闭。

此属性定义为 VehiclePropertyAccess.READ_WRITE,但 OEM 可以将其实现为仅 VehiclePropertyAccess.READ

更改模式:ON_CHANGE
访问模式:READ_WRITE/READ
枚举类型:无
单位类型:无
版本:Android 13

WINDSHIELD_WIPERS_PERIOD

挡风玻璃雨刷周期(毫秒)。返回挡风玻璃雨刷一个完整周期的瞬时时间段(单位:毫秒)。一个完整周期是指雨刷从停放位置移动并返回停放位置。选择间歇式雨刷设置后,在间歇式雨刷暂停期间,此属性的值必须设置为 0。必须定义 VehicleAreaConfig 中的 maxInt32ValueminInt32Value。每个区域 ID 的 maxInt32Value 必须指定最长的雨刷周期。每个区域 ID 的 minInt32Value 都必须设置为 0。

更改模式:ON_CHANGE
访问模式:READ
枚举类型:无
单位类型:VehicleUnit:MILLI_SECS
版本:Android 14

WINDSHIELD_WIPERS_STATE

挡风玻璃雨刷的状态。返回挡风玻璃雨刷的当前状态。WINDSHIELD_WIPERS_STATE 的值可能与 WINDSHIELD_WIPERS_SWITCH 的值不一致,例如 WINDSHIELD_WIPERS_STATE: ONWINDSHIELD_WIPERS_SWITCH: WindshieldWipersSwitch#AUTO。如果实现了 WINDSHIELD_WIPERS_STATE: ONWINDSHIELD_WIPERS_PERIOD,则 WINDSHIELD_WIPERS_PERIOD 必须反映雨刷的一个完整周期的时间段。

对于每个受支持的区域 ID,必须定义 VehicleAreaConfig#supportedEnumValues 数组,除非支持 WindshieldWipersState 中的所有状态(包括不推荐的 OTHER)。

更改模式:ON_CHANGE
访问模式:READ
枚举类型:WindshieldWipersState
单位类型:无
版本:Android 14

WINDSHIELD_WIPERS_SWITCH

挡风玻璃雨刷开关。表示控制挡风玻璃雨刷的开关的位置。WINDSHIELD_WIPERS_SWITCH 的值可能与 WINDSHIELD_WIPERS_STATE 的值不一致,例如 WINDSHIELD_WIPERS_SWITCH: AUTOWINDSHIELD_WIPERS_STATE: WindshieldWipersState#ON。对于每个受支持的区域 ID,必须定义 VehicleAreaConfig#supportedEnumValues 数组,除非支持 WindshieldWipersSwitch 中的所有状态(包括不推荐的 OTHER)。

此属性定义为 VehiclePropertyAccess.READ_WRITE,但 OEM 可以将其实现为仅 VehiclePropertyAccess.READ。如果此属性实现为 VehiclePropertyAccess.READ_WRITE,并且 OTHER 状态列在 VehicleAreaConfig#supportedEnumValues 数组中,则不支持写入 OTHER 不支持写入,仅支持读取该值。

更改模式:ON_CHANGE
访问模式:READ_WRITE/READ
枚举类型:WindshieldWipersSwitch
单位类型:无
版本:Android 14