지원되는 시스템 속성

이 페이지에는 VHAL에서 지원되는 시스템 속성이 나와 있습니다. VHAL에서 지원하는 속성은 아래 목록의 시스템 속성 또는 공급업체 속성 중 하나여야 합니다. Android 14 이상에서는 속성 정의가 hardware/interfaces/automotive/vehicle/aidl_property/android/hardware/automotive/vehicle/VehicleProperty.aidl에 정의됩니다.

속성 정의는 VHAL 인터페이스 (android.hardware.automotive.vehicle)와 별개인 AIDL 인터페이스 android.hardware.automotive.vehicle.property에 정의됩니다. VHAL 구현과 VHAL 클라이언트는 두 인터페이스 모두에 종속되어야 합니다.

자동 생성된 액세스 모드 및 변경 모드

Android 14 이상에서는 VHAL 구현을 지원하기 위해 자동 생성된 C++ 헤더 파일Java 클래스 파일을 시스템 속성에 허용된 변경 모드 또는 액세스 모드와 함께 제공합니다. 공급업체 VHAL 구현은 이를 사용하여 속성 구성이 사양을 충족하는지 확인할 수 있습니다.

ADAPTIVE_CRUISE_CONTROL_LEAD_VEHICLE_MEASURED_DISTANCE

어댑티브 크루즈 컨트롤 (ACC)이나 프리딕티브 크루즈 컨트롤 (PCC)을 사용할 때 앞차와의 측정 거리입니다. 선행 차량의 가장 뒤쪽 지점과 ACC 차량의 가장 앞쪽 지점 간의 측정된 거리(밀리미터)를 반환합니다. VehicleAreaConfigmaxInt32ValueminInt32Value를 정의해야 합니다. minInt32Value는 0이어야 합니다. maxInt32Value는 거리 센서가 지원할 수 있는 최대 범위로 채워야 합니다. 이 값은 음수가 아니어야 합니다.

선행 차량이 감지되지 않는 경우 (즉, 선행 차량이 없거나 선행 차량이 센서가 감지할 수 없을 만큼 너무 멀리 있는 경우) 이 속성은 StatusCode.NOT_AVAILABLE를 반환해야 합니다.

CC가 사용 중지되어 이 속성을 사용할 수 없는 경우 (예: StatusCode#NOT_AVAILABLE_DISABLED가 false임) 이 속성은 StatusCode#NOT_AVAILABLE_DISABLED를 반환해야 합니다. CRUISE_CONTROL_STATE가 구현되고 상태가 ErrorState 값으로 설정된 경우 이 속성은 ErrorState 값과 일치하는 StatusCode를 반환해야 합니다. 예를 들어 CRUISE_CONTROL_STATEErrorState#NOT_AVAILABLE_SPEED_LOW로 설정된 경우 이 속성은 StatusCode#NOT_AVAILABLE_SPEED_LOW를 반환해야 합니다.

변경 모드: CONTINUOUS
액세스 모드: READ
Enum 유형: 해당 사항 없음
단위 유형: VehicleUnit:MILLIMETER
출시: Android 14

ADAPTIVE_CRUISE_CONTROL_TARGET_TIME_GAP

ACC 또는 PCC의 현재 목표 시간 간격(밀리초)입니다. 이 속성은 선행 차량과의 타겟 시간 간격을 지정해야 합니다. 이 간격은 선행 차량의 가장 뒤쪽 지점과 ACC 차량의 가장 앞쪽 지점 사이의 거리를 이동하는 데 걸리는 시간으로 정의됩니다. 선행 차량과의 실제 시간 간격은 이 값보다 높거나 낮을 수 있습니다.

타겟 시간 간격에 설정할 수 있는 값은 configArray에서 오름차순으로 지정해야 합니다. 모든 값은 양수여야 합니다. 속성을 쓸 수 있는 경우 모든 값을 쓸 수 있어야 합니다. 참조를 사용 중지했기 때문에 이 속성을 사용할 수 없는 경우 (예: CRUISE_CONTROL_ENABLED가 false인 경우) 이 속성은 StatusCode#NOT_AVAILABLE_DISABLED을 반환해야 합니다.

CRUISE_CONTROL_STATE가 구현되고 상태가 ErrorState 값으로 설정된 경우 이 속성은 ErrorState 값과 일치하는 StatusCode를 반환해야 합니다. 예를 들어 CRUISE_CONTROL_STATEErrorState#NOT_AVAILABLE_SPEED_LOW로 설정된 경우 이 속성은 StatusCode#NOT_AVAILABLE_SPEED_LOW를 반환해야 합니다.

이 속성은 VehiclePropertyAccess.READ_WRITE로 정의되지만 OEM은 VehiclePropertyAccess.READ로만 구현할 수 있습니다.

변경 모드: ON_CHANGE
액세스 모드: READ_WRITE/READ
Enum 유형: 해당 사항 없음
단위 유형: VehicleUnit:MILLI_SECS
출시: Android 14

ABS_ACTIVE

자동 브레이크 시스템 (ABS)이 활성화되어 있습니다. ABS가 활성화된 경우 true로 설정되고 ABS가 꺼진 경우 false로 재설정됩니다. 이 속성은 ABS 시스템의 실시간 상태에 따라 간헐적으로 설정 (펄스)될 수 있습니다.

변경 모드: ON_CHANGE
액세스 모드: READ
Enum 유형: 해당 사항 없음
단위 유형: 해당 사항 없음
출시: Android 13

ANDROID_EPOCH_TIME

에포크 시간(밀리초)으로 인코딩된 현재 날짜 및 시간입니다. 이 값은 1970년 1월 1일(UTC) 이후 경과된 밀리초 수를 나타냅니다.

이 값은 1970년 1월 1일(UTC) 이후 경과된 밀리초 수를 나타냅니다. VHAL이 이 속성을 지원하는 경우 CarServices는 이 값으로 WRITE하여 VHAL에 Android 시스템 시간을 제공합니다. 이는 다른 차량 시스템 (대시 시계)을 Android 시간과 동기화하는 데 유용할 수 있습니다.

AAOS는 부팅 중에 이 속성에 한 번 WRITE하고 이후에는 시간 소스 변경사항이 전파될 때만 WRITE합니다. AAOS가 VehiclePropValue.timestamp를 올바르게 채웁니다. AAOS는 자연스러운 시간 경과에 관한 업데이트를 전송하지 않습니다. int64Values[0] = 제공된 Unix 시간 (밀리초)입니다.

속성이 스택을 통해 전파되는 데 0밀리초가 더 걸릴 수 있으며 타임스탬프가 지정된 속성을 사용하면 시간 편차를 줄이는 데 도움이 됩니다. 따라서 속성의 모든 WRITE에 대해 타임스탬프를 사용하여 이 드리프트를 제거할 수 있습니다.

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

변경 모드: ON_CHANGE
액세스 모드: WRITE
Enum 유형: 해당 사항 없음
단위 유형: VehicleUnit:MILLI_SECS
출시: Android 13

AP_POWER_BOOTUP_REASON

현재 전원이 켜져 있는 부팅 이유를 보고하는 속성입니다. 이는 전원이 꺼질 때까지 전체 지속 시간 동안 변경되지 않는 STATIC 속성입니다. 예를 들어 도어 잠금 해제로 전원이 자동으로 켜진 후 사용자가 전원 버튼을 눌러도 부팅 이유는 VehicleApPowerBootupReason#USER_UNLOCK으로 유지되어야 하며 int32Values[0]VehicleApPowerBootupReason여야 합니다.

변경 모드: STATIC
액세스 모드: READ
Enum 유형: 해당 사항 없음
단위 유형: 해당 사항 없음
출시: Android 13

AP_POWER_STATE_REPORT

앱 프로세서의 전원 상태를 보고하는 속성입니다. AP의 전원 상태는 별도의 전원 컨트롤러에 의해 제어된다고 가정합니다.

  • int32Values[0] VehicleApPowerStateReport enum 값
  • int32Values[1] 필요한 경우 기기의 절전 모드 해제 시간 (밀리초, 그 외의 경우 0)

변경 모드: ON_CHANGE
액세스 모드: READ_WRITE
Enum 유형: 해당 사항 없음
단위 유형: 해당 사항 없음
출시: Android 13

AP_POWER_STATE_REQ

앱 프로세서의 전원 상태를 제어하는 속성입니다. AP의 전원 상태는 별도의 전원 컨트롤러에 의해 제어된다고 가정합니다. 구성 정보의 경우 VehiclePropConfig.configArrayVehicleApPowerStateConfigFlag의 값을 결합하는 비트 플래그가 있어야 합니다.

  • int32Values[0] VehicleApPowerStateReq enum 값
  • int32Values[1] 각 상태와 관련된 추가 매개변수입니다. 사용하지 않으면 0입니다.

변경 모드: ON_CHANGE
액세스 모드: READ
Enum 유형: 해당 사항 없음
단위 유형: 해당 사항 없음
출시: Android 13

AUTOMATIC_EMERGENCY_BRAKING_ENABLED

자동 비상 제동(AEB)을 사용 설정 또는 사용 중지합니다. AEB를 사용 설정하려면 true로, 사용 중지하려면 false로 설정합니다. AEB가 사용 설정된 경우 잠재적인 충돌을 방지하기 위해 차량의 ADAS 시스템을 켜고 모니터링해야 합니다. 이 속성은 속도가 더 빠른 애플리케이션에만 적용해야 합니다. 저속 자동 긴급 제동을 사용 설정하려면 LOW_SPEED_AUTOMATIC_EMERGENCY_BRAKING_ENABLED를 사용해야 합니다.

일반적으로 AUTOMATIC_EMERGENCY_BRAKING_ENABLED는 항상 true 또는 false를 반환해야 합니다. 차량 속도가 너무 느림과 같은 일시적인 상태로 인해 기능을 사용할 수 없는 경우 AUTOMATIC_EMERGENCY_BRAKING_STATE 속성의 ErrorState 값을 통해 해당 정보를 전달해야 합니다.

이 속성은 VehiclePropertyAccess.READ_WRITE로 정의되지만 OEM은 VehiclePropertyAccess.READ로만 구현할 수 있습니다.

변경 모드: ON_CHANGE
액세스 모드: READ_WRITE/READ
Enum 유형: 해당 사항 없음
단위 유형: 해당 사항 없음
출시: Android 14

AUTOMATIC_EMERGENCY_BRAKING_STATE

자동 비상 제동 (AEB) 상태입니다. AEB의 현재 상태를 반환합니다. 이 속성은 항상 AutomaticEmergencyBrakingState 또는 ErrorState에 정의된 유효한 상태를 반환해야 합니다. StatusCode를 통해 오류를 표시해서는 안 되며 대신 지원되는 오류 상태를 사용해야 합니다. 이 속성은 속도가 더 빠른 애플리케이션에만 적용해야 합니다. 저속 자동 긴급 제동 시스템의 상태를 나타내려면 LOW_SPEED_AUTOMATIC_EMERGENCY_BRAKING_STATE를 사용해야 합니다.

AEB에 브레이크를 활성화하기 전에 전방 충돌 경고가 포함된 경우 이러한 경고는 전방 충돌 경고 (FCW) 속성을 통해 표시되어야 합니다.

전 세계 지역 ID (0)의 경우 AutomaticEmergencyBrakingState(OTHER 포함, 권장하지 않음) 및 ErrorState의 모든 상태가 지원되지 않는 한 StatusCode#VehicleAreaConfig#supportedEnumValues 배열을 정의해야 합니다.

변경 모드: ON_CHANGE
액세스 모드: READ
Enum 유형: ForwardCollisionWarningState/ErrorState
단위 유형: 해당 사항 없음
출시: Android 14

BLIND_SPOT_WARNING_ENABLED

사각지대 경고(BSW)를 사용 설정 또는 사용 중지합니다. BSW를 사용 설정하려면 true로, 사용 중지하려면 false로 설정합니다. BSW가 사용 설정된 경우 차량의 ADAS 시스템이 켜져 있고 차량의 사각지대에 있는 물체를 모니터링해야 합니다.

일반적으로 BLIND_SPOT_WARNING_ENABLED는 항상 true 또는 false를 반환해야 합니다. 차량 속도가 너무 낮은 등 일시적인 상태로 인해 기능을 사용할 수 없는 경우 BLIND_SPOT_WARNING_STATE 속성의 ErrorState 값을 통해 해당 정보를 전달해야 합니다.

이 속성은 VehiclePropertyAccess.READ_WRITE로 정의되지만 OEM은 VehiclePropertyAccess.READ로만 구현할 수 있습니다.

변경 모드: ON_CHANGE
액세스 모드: READ_WRITE/READ
Enum 유형: 해당 사항 없음
단위 유형: 해당 사항 없음
출시: Android 14

BLIND_SPOT_WARNING_STATE

사각지대 경고(BSW) 상태입니다. BSW의 현재 상태를 반환합니다. 이 속성은 항상 BlindSpotWarningState 또는 ErrorState에 정의된 유효한 상태를 반환해야 합니다. StatusCode를 통해 오류를 표시해서는 안 되며 대신 지원되는 오류 상태를 사용해야 합니다.

지원되는 각 지역 ID의 경우 BlindSpotWarningState (OTHER 포함, 권장하지 않음) 및 ErrorState의 모든 상태가 지원되지 않는 한 StatusCode#VehicleAreaConfig#supportedEnumValues 배열을 정의해야 합니다.

변경 모드: ON_CHANGE
액세스 모드: READ
Enum 유형: BlindSpotWarningState/ErrorState
단위 유형: 해당 사항 없음
출시: Android 14

CABIN_LIGHTS_STATE

실내 조명의 상태를 반환합니다.

변경 모드: ON_CHANGE
액세스 모드: READ
Enum 유형: VehicleLightState
단위 유형: 해당 사항 없음
출시: Android 13

CABIN_LIGHTS_SWITCH

운전석 조명 스위치입니다. 객실 조명을 제어하는 실제 스위치의 위치입니다. 문이 열려 있거나 음성 명령으로 인해 조명이 켜져 있는 경우 CABIN_LIGHTS_STATE와 다를 수 있습니다. 예를 들어 스위치가 꺼짐 또는 자동 위치에 있는 경우

이 속성은 VehiclePropertyAccess.READ_WRITE로 정의되지만 OEM은 VehiclePropertyAccess.READ로만 구현할 수 있습니다.

변경 모드: ON_CHANGE
액세스 모드: READ_WRITE/READ
Enum 유형: VehicleLightSwitch
단위 유형: 해당 사항 없음
출시: Android 13

CLUSTER_DISPLAY_STATE

계기판 디스플레이 상태를 변경합니다.

  • 경계: 클러스터 활동을 렌더링할 영역입니다.
  • 인셋: 활동에서 중요한 정보를 배치해서는 안 되는 영역입니다.

가능한 값:

  • int32[0] 사용, 사용 안 함: 0 - 사용 안 함, 1 - 사용, -1 - 상관없음
  • int32[1] 경계 - 왼쪽: 양수 - 왼쪽 위치(픽셀) -1 - 상관없음(모든 경계 필드를 설정해야 함)
  • int32[2] 경계 - 상단: '왼쪽'과 동일한 형식
  • int32[3] 경계 - 오른쪽: '왼쪽'과 동일한 형식
  • int32[4] 경계 - 하단: '왼쪽'과 동일한 형식
  • int32[5] 인셋 - 왼쪽: 양수 - 픽셀 단위의 실제 왼쪽 인셋 값 -1 - 상관없음 (모든 인셋 필드에 '관심 없음'을 설정해야 함)
  • int32[6] 인셋 - 상단: '왼쪽'과 동일한 형식
  • int32[7] 인셋 - 오른쪽: '왼쪽'과 동일한 형식
  • int32[8] Inset - bottom: 'left'와 동일한 형식

변경 모드: ON_CHANGE
액세스 모드: READ
Enum 유형: 해당 사항 없음
단위 유형: 해당 사항 없음
출시: Android 13

CLUSTER_NAVIGATION_STATE

현재 내비게이션 상태를 알립니다. bytes: NavigationStateProto의 직렬화된 메시지입니다.

변경 모드: ON_CHANGE
액세스 모드: WRITE
Enum 유형:
단위 유형: 해당 사항 없음
출시: Android 13

CLUSTER_REPORT_STATE

현재 디스플레이 상태 및 ClusterUI 상태를 보고합니다. ClusterHomeCLUSTER_SWITCH_UI를 처리할 때 이 메시지를 전송합니다. CLUSTER_DISPLAY_STATE 또한 ClusterHome는 처음 시작할 때 이 메시지를 전송해야 합니다. ClusterOS가 이 메시지를 수신하고 내부 예상치가 수신된 메시지와 다른 경우 상태에 맞게 CLUSTER_SWITCH_UI, CLUSTER_DISPLAY_STATE를 다시 전송해야 합니다.

  • int32[0] 사용/사용 중지: 0 - 사용 중지, 1 - 사용
  • int32[1] 경계 - 왼쪽
  • int32[2] 경계 - 상단
  • int32[3] 경계 - 오른쪽
  • int32[4] 경계 - 하단
  • int32[5] 인셋 - 왼쪽
  • int32[6] 인셋 - 상단
  • int32[7] 인셋 - 오른쪽
  • int32[8] 인셋 - 하단
  • int32[9] 전체 화면 또는 기본 화면의 ClusterUI 유형입니다. 0은 ClusterHome를 나타냅니다. 다른 값 뒤에는 OEM의 정의가 표시됩니다.
  • int32[10] 현재 두 개의 UI가 표시되는 경우 하위 화면의 ClusterUI 유형입니다. -1은 더 이상 사용되지 않는 영역을 나타냅니다. bytes: ClusterUI의 가용성을 나타내는 배열입니다. 0은 사용할 수 없음을 나타내고 1은 사용할 수 있음을 나타냅니다. 예를 들어 자동차가 HOME, MAPS, CALL과 같은 세 가지 OEM 정의 ClusterUI를 지원하고, 셀룰러 네트워크를 사용할 수 있을 때만 CALL UI를 지원하는 경우 그런 다음 네트워크를 사용할 수 있는 경우 [1 1 1] 을 전송하고 네트워크에 연결되어 있지 않은 경우 [1 1 0]을 전송합니다.

변경 모드: ON_CHANGE
액세스 모드: WRITE
Enum 유형: VehicleLightSwitch
단위 유형: 해당 사항 없음
출시: Android 13

CLUSTER_REQUEST_DISPLAY

일부 ClusterUI를 표시하도록 계기판 디스플레이 상태의 변경을 요청합니다. 현재 디스플레이 상태가 꺼져 있고 ClusterHome가 이 메시지를 ClusterOS로 전송하여 디스플레이를 켜서 특정 ClusterUI를 표시하도록 요청합니다. ClusterOS는 CLUSTER_DISPLAY_STATE로 응답해야 합니다.

  • int32 표시할 ClusterUI 유형

변경 모드: ON_CHANGE
액세스 모드: WRITE
Enum 유형: 해당 사항 없음
단위 유형: 해당 사항 없음
출시: Android 13

CLUSTER_SWITCH_UI

계기판 디스플레이에서 ClusterUI를 시작합니다.

  • int32 표시할 ClusterUI 유형입니다. 0은 계기판 디스플레이의 화면인 ClusterHome을 나타내며 계기판 디스플레이에 기본 UI와 일종의 런처 기능을 제공합니다. 다른 값은 OEM 정의에 따라 다릅니다.

변경 모드: ON_CHANGE
액세스 모드: READ
Enum 유형: 해당 사항 없음
단위 유형: 해당 사항 없음
출시: Android 13

CREATE_USER

Android 사용자가 생성된 후 Android 시스템에서 호출됩니다. HAL은 이 속성을 사용하여 이에 상응하는 사용자를 만들 수 있습니다. 비동기 요청입니다. Android는 VehiclePropValue를 설정하여 요청하고 HAL은 요청이 성공했는지 실패했는지 나타내는 속성 변경으로 응답해야 합니다. 실패하면 Android 시스템은 사용자를 삭제합니다.

요청 형식은 CreateUserRequest에 의해 정의되고 응답 형식은 CreateUserResponse에 의해 정의됩니다. 예를 들어 시스템에 사용자 2명 (0 및 10)이 있고 세 번째 사용자 (일시적인 게스트)가 생성된 경우 요청은 다음과 같습니다.

  • int32[0] 42 // 요청 ID
  • int32[1] 11 // 생성된 사용자의 Android ID
  • int32[2] 6 // 생성된 사용자의 Android 플래그 (임시 게스트)
  • int32[3] 10 // 현재 사용자
  • int32[4] 0 // 현재 사용자 플래그 (없음)
  • int32[5] 3 // 사용자 수
  • int32[6] 0 // 첫 번째 사용자 (사용자 0)
  • int32[7] 0 // 첫 번째 사용자 플래그 (없음)
  • int32[8] 10 // 두 번째 사용자 (사용자 10)
  • int32[9] 0 // 두 번째 사용자 플래그 (없음)
  • int32[10] 11 // 세 번째 사용자 (사용자 11)
  • int32[11] 6 // 세 번째 사용자 플래그 (임시 게스트) 문자열: 'ElGuesto' // 새 사용자의 이름

요청이 성공하면 HAL은 다음을 반환합니다.

  • int32[0] 42 // 요청 ID
  • int32[1] 1 // CreateUserStatus::SUCCESS

실패하면 다음 단계를 따르세요.

  • int32[0] 42 // 요청 ID
  • int32[1] 2 // CreateUserStatus::FAILURE 문자열: 'D'OH!' //

의미는 블랙박스이며 호출자 (예: 설정 UI)에게 전달되어 적절한 조치를 취합니다.

변경 모드: ON_CHANGE
액세스 모드: READ_WRITE
Enum 유형: 해당 사항 없음
단위 유형: 해당 사항 없음
출시: Android 13

CRITICALLY_LOW_TIRE_PRESSURE

이 속성은 각 타이어의 심각하게 낮은 압력 기준점을 나타냅니다. 타이어를 교체하거나 수리해야 하는 시점을 나타냅니다. 값은 TIRE_PRESSURE의 minFloatValue보다 작거나 같아야 합니다. 최솟값 및 최댓값 속성 값 (minFloatValue 및 maxFloatValue)은 이 속성에 적용되지 않습니다.

변경 모드: STATIC
액세스 모드: READ
Enum 유형: 해당 사항 없음
단위 유형: VehicleUnit:KILOPASCAL
출시: Android 13

CRUISE_CONTROL_COMMAND

WRITE 크루즈 컨트롤 (CC) 명령어 지원되는 각 명령어에 관한 자세한 내용은 CruiseControlCommand를 참고하세요. 전역 영역 ID (0)의 경우 CruiseControlState의 모든 상태가 지원되지 않는 한 StatusCode#VehicleAreaConfig#supportedEnumValues 배열을 정의해야 합니다. 이 속성을 통해 전송된 지원되지 않는 명령어는 StatusCode#INVALID_ARG를 반환해야 합니다. CC가 사용 중지되어 이 속성을 사용할 수 없는 경우 (예: CRUISE_CONTROL_ENABLED가 false임) 이 속성은 StatusCode#NOT_AVAILABLE_DISABLED를 반환해야 합니다. CRUISE_CONTROL_STATE가 구현되고 상태가 ErrorState 값으로 설정된 경우 이 속성은 ErrorState 값과 일치하는 StatusCode를 반환해야 합니다. 예를 들어 CRUISE_CONTROL_STATEErrorState#NOT_AVAILABLE_SPEED_LOW로 설정된 경우 이 속성은 StatusCode#NOT_AVAILABLE_SPEED_LOW를 반환해야 합니다.

변경 모드: ON_CHANGE
액세스 모드: WRITE
Enum 유형: CruiseControlCommand
단위 유형: 해당 사항 없음
출시: Android 14

CRUISE_CONTROL_ENABLED

크루즈 컨트롤(CC)을 사용 설정하거나 사용 중지합니다. CC를 사용 설정하려면 true로, 사용 중지하려면 false로 설정합니다. 이 속성은 모든 형태의 CruiseControlType에서 공유됩니다. CC가 사용 설정되면 차량의 ADAS 시스템이 켜져 있고 명령에 응답해야 합니다. 일반적으로 CRUISE_CONTROL_ENABLED는 항상 true 또는 false를 반환해야 합니다. 차량 속도가 너무 낮은 등 일시적인 상태로 인해 기능을 사용할 수 없는 경우 CRUISE_CONTROL_STATE 속성의 ErrorState 값을 통해 해당 정보를 전달해야 합니다. 이 속성은 VehiclePropertyAccess.READ_WRITE로 정의되지만 OEM은 VehiclePropertyAccess.READ로만 구현할 수 있습니다.

변경 모드: ON_CHANGE
액세스 모드: READ_WRITE/READ
Enum 유형: 해당 사항 없음
단위 유형: 해당 사항 없음
출시: Android 14

CRUISE_CONTROL_STATE

크루즈 컨트롤(CC)의 현재 상태입니다. 이 속성은 현재 CC 상태를 반환합니다. 일반적으로 이 속성은 CruiseControlState 또는 ErrorState에 정의된 유효한 상태를 반환해야 합니다. 예를 들어 일시적인 상태로 인해 기능을 사용할 수 없는 경우 이 정보는 ErrorState를 통해 전달되어야 합니다. 글로벌 지역 ID (0)의 경우 CruiseControlState의 모든 상태 (권장되지 않는 OTHER 포함)와 ErrorState가 지원되지 않는 한 VehicleAreaConfig#supportedEnumValue 배열을 정의해야 합니다.

변경 모드: ON_CHANGE
액세스 모드: READ
Enum 유형: CruiseControlState/ErrorState
단위 유형: 해당 사항 없음
출시: Android 14

CRUISE_CONTROL_TARGET_SPEED

크루즈 컨트롤(CC)의 현재 목표 속도입니다. OEM은 이 속성의 minFloatValue 및 maxFloatValue 값을 설정하여 최소 및 최대 타겟 속도 값을 정의해야 합니다. 이러한 값은 음수가 아니어야 합니다. maxFloatValue는 타겟 속도의 상한을 나타냅니다. minFloatValue는 목표 속도의 하한을 나타냅니다. CC가 사용 중지되어 이 속성을 사용할 수 없는 경우 (예: CRUISE_CONTROL_ENABLED가 false임) 이 속성은 StatusCode#NOT_AVAILABLE_DISABLED을 반환해야 합니다. CRUISE_CONTROL_STATE가 구현되고 상태가 ErrorState 값으로 설정된 경우 이 속성은 ErrorState 값과 일치하는 StatusCode을 반환해야 합니다. 예를 들어 CRUISE_CONTROL_STATEErrorState#NOT_AVAILABLE_SPEED_LOW로 설정된 경우 이 속성은 StatusCode#NOT_AVAILABLE_SPEED_LOW를 반환해야 합니다.

변경 모드: ON_CHANGE
액세스 모드: READ
Enum 유형: 해당 사항 없음
단위 유형: VehicleUnit:METER_PER_SEC
출시: Android 14

CRUISE_CONTROL_TYPE

현재 크루즈 컨트롤(CC) 유형입니다. CRUISE_CONTROL_ENABLED가 true이면 이 속성은 현재 사용 설정된 CC 유형 (예: 표준 CC 및 적응형 CC, 예측)을 반환합니다. 일반적으로 이 속성은 CruiseControlType 또는 ErrorState에 정의된 유효한 상태를 반환해야 합니다. 예를 들어 일시적인 상태로 인해 기능을 사용할 수 없는 경우 이 정보는 ErrorState를 통해 전달되어야 합니다. 글로벌 지역 ID (0)의 경우 CruiseControlType의 모든 상태 (권장되지 않는 OTHER 포함)와 ErrorState가 지원되지 않는 한 StatusCode#VehicleAreaConfig#supportedEnumValues 배열을 정의해야 합니다. 이 속성에 CruiseControlType#OTHER 또는 ErrorStateWRITE하려고 하면 IllegalArgumentException이 발생합니다. 이 속성은 VehiclePropertyAccess.READ_WRITE로 정의되지만 OEM은 VehiclePropertyAccess.READ로만 구현할 수 있습니다.

변경 모드: ON_CHANGE
액세스 모드: READ_WRITE/READ
Enum 유형: CruiseControlType ErrorState
단위 유형: 해당 사항 없음
출시: Android 14

CURRENT_GEAR

현재 기어입니다. 수동 기어가 아닌 경우 선택된 기어가 현재 기어와 일치하지 않을 수 있습니다. 예를 들어 선택된 기어가 GEAR_DRIVE면 현재 기어는 GEAR_1, GEAR_2 등의 하나이며 이는 변속기가 현재 작동되는 실제 기어를 반영합니다. 구성 데이터의 값은 이 차량에 지원되는 기어 목록을 나타내야 합니다. 예를 들어 자동 변속기의 구성 데이터에는 {GEAR_NEUTRAL, GEAR_REVERSE, GEAR_PARK, GEAR_1, GEAR_2,...}가 포함되어야 하며, 수동 변속기의 경우 목록이 {GEAR_NEUTRAL, GEAR_REVERSE, GEAR_1, GEAR_2,...}여야 합니다. 이 목록은 GEAR_SELECTION에 보고된 지원되는 기어의 목록과 동일하지 않아도 됩니다.

변경 모드: ON_CHANGE
액세스 모드: READ
Enum 유형: VehicleGear
단위 유형: 해당 사항 없음
출시: Android 13

CURRENT_POWER_POLICY

VHAL 레이어에 현재 전원 정책을 알립니다. 자동차 전원 정책 서비스는 현재 전원 정책이 변경될 때 이 속성을 설정합니다.

string: "sample_policy_id" // power policy ID

변경 모드: ON_CHANGE
액세스 모드: READ_WRITE
Enum 유형: 해당 사항 없음
단위 유형: 해당 사항 없음
출시: Android 13

DISABLED_OPTIONAL_FEATURES

VHAL에서 선택적 기능을 사용 중지하도록 허용합니다. 이 속성은 사용 중지해야 하는 선택적 기능을 보고합니다. 시스템에 허용되는 모든 선택적 기능은 자동차 서비스 오버레이 config_allowed_optional_car_features에 선언됩니다. 이 속성을 사용하면 오버레이에 정의된 기능을 사용 중지할 수 있습니다. 이 속성이 없으면 오버레이에 선언된 모든 지형지물이 사용 설정됩니다. 값 READ에는 쉼표 (,)로 구분된 사용 중지된 모든 기능이 포함되어야 합니다. 예: com.android.car.user.CarUserNoticeService,storage_monitoring

변경 모드: STATIC
액세스 모드: READ
Enum 유형: 해당 사항 없음
단위 유형: 해당 사항 없음
출시: Android 13

DISPLAY_BRIGHTNESS

디스플레이의 밝기를 나타내는 속성입니다. 일부 차량에는 모든 디스플레이의 밝기를 제어하는 단일 컨트롤이 있습니다. 이 속성은 해당 컨트롤의 변경사항을 공유하기 위한 것입니다. 밝기가 별도로 제어되는 디스플레이가 있는 자동차에서는 PER_DISPLAY_BRIGHTNESS를 사용해야 합니다. DISPLAY_BRIGHTNESSPER_DISPLAY_BRIGHTNESS 중 하나만 구현해야 합니다. 둘 다 사용할 수 있는 경우 AAOS에서 PER_DISPLAY_BRIGHTNESS를 사용합니다. 이 값을 쓸 수 있으면 사용자가 설정에서 디스플레이 밝기를 변경할 때 Android에서 이 값을 설정할 수 있습니다. READ 전용인 경우 사용자는 설정에서 디스플레이 밝기를 계속 변경할 수 있지만 변경사항이 다른 디스플레이에 반영되어서는 안 됩니다.

변경 모드: ON_CHANGE
액세스 모드: READ_WRITE
Enum 유형: 해당 사항 없음
단위 유형: 해당 사항 없음
출시: Android 13

DISTANCE_DISPLAY_UNITS

디스플레이의 길이 단위입니다. 자동차에서 사용자에게 거리를 표시하는 데 사용하는 단위를 나타냅니다. 예를 들어 마일, 미터, 킬로미터가 있습니다. 거리 단위는 VehicleUnit에 정의되어 있습니다. VehiclePropConfig.configArray는 지원되는 거리 표시 단위를 나타내는 데 사용됩니다. 예를 들어 configArray[0] = METER configArray[1] = KILOMETER configArray[2] = MILE DISTANCE_DISPLAY_UNITS를 업데이트하면 다른 *_DISPLAY_UNITS 속성의 값에 영향을 미치는 경우 이러한 값도 업데이트되어 AAOS 프레임워크에 전달되어야 합니다. 이 속성은 VehiclePropertyAccess.READ_WRITE로 정의되지만 OEM은 VehiclePropertyAccess.READ로만 구현할 수 있습니다.

변경 모드: ON_CHANGE
액세스 모드: READ_WRITE/READ
Enum 유형: VehicleUnit
단위 유형: 해당 사항 없음
출시: Android 13

DOOR_CHILD_LOCK_ENABLED

아동 보호 잠금 기능이 사용 설정되었습니다. 아동 보호 잠금 기능이 사용 설정된 경우 true를 반환하고 사용 중지된 경우 false를 반환합니다. 이 기능을 사용 설정하면 내부에서 문을 열 수 없습니다. 이 속성은 VehiclePropertyAccess.READ_WRITE로 정의되지만 OEM은 VehiclePropertyAccess.READ로만 구현할 수 있습니다.

변경 모드: ON_CHANGE
액세스 모드: READ_WRITE/READ
Enum 유형: 해당 사항 없음
단위 유형: 해당 사항 없음
출시: Android 14

DOOR_LOCK

Door lock true는 문이 잠겨 있음을 나타냅니다. 이 속성은 VehiclePropertyAccess.READ_WRITE로 정의되지만 OEM은 VehiclePropertyAccess.READ로만 구현할 수 있습니다.

변경 모드: ON_CHANGE
액세스 모드: READ_WRITE/READ
Enum 유형: 해당 사항 없음
단위 유형: 해당 사항 없음
출시: Android 13

DOOR_MOVE

각 VehicleAreaConfig의 maxInt32ValueminInt32Value는 정의되어야 합니다. minInt32Value~maxInt32Value 사이의 모든 정수를 지원해야 합니다. maxInt32Value는 문이 열리는 동안의 최대 이동 속도를 나타냅니다. minInt32Value는 닫히는 동안 문의 최대 이동 속도를 나타냅니다.

양수 또는 음수의 절댓값이 클수록 이동 속도가 빠릅니다. 문이 위치 한도에 도달하면 값을 0으로 재설정해야 합니다. DOOR_MOVE 값이 0이면 현재 움직임이 없다는 의미입니다.

이 속성은 특정 단위가 아닌 지정된 상대 이동 속도 범위로 표시됩니다.

이 속성은 VehiclePropertyAccess.READ_WRITE로 정의되지만 OEM은 VehiclePropertyAccess.READ로만 구현할 수 있습니다.

변경 모드: ON_CHANGE
액세스 모드: READ_WRITE/READ
Enum 유형: 해당 사항 없음
단위 유형: 해당 사항 없음
출시: Android 13

DOOR_POS

도어 위치입니다. VehicleAreaConfigmaxInt32ValueminInt32Value를 정의해야 합니다. minInt32Value~maxInt32Value 사이의 모든 정수를 지원해야 합니다. minInt32Value는 문이 닫혀 있음을 나타냅니다. minInt32Value는 0이어야 합니다. maxInt32Value는 문이 완전히 열려 있음을 나타냅니다. minInt32ValuemaxInt32Value 사이의 값은 닫힌 상태와 완전히 열린 상태 간의 전환 상태를 나타냅니다.

이 속성은 특정 단위가 아닌 지정된 상대적 위치 범위입니다. 일부 차량 (미니밴)은 전자적으로 문을 열 수 있습니다. 따라서 이 속성을 WRITE할 수 있습니다. 이 속성은 VehiclePropertyAccess READ_WRITE로 정의되지만 OEM은 VehiclePropertyAccess.READ로만 구현할 수 있습니다.

변경 모드: ON_CHANGE
액세스 모드: READ_WRITE/READ
Enum 유형: 해당 사항 없음
단위 유형: 해당 사항 없음
출시: Android 13

E~G

ELECTRONIC_TOLL_COLLECTION_CARD_STATUS

전자 통행료 징수 카드 상태입니다. 이 속성은 이 차량의 ETC 카드 상태를 나타냅니다. 헤드 단위가 차량에 연결된 ETC 카드를 인식하면 ELECTRONIC_TOLL_COLLECTION_CARD_TYPE는 카드의 상태를 제공합니다. 그 외의 경우에는 이 속성이 UNAVAILABLE이어야 합니다.

변경 모드: ON_CHANGE
액세스 모드: READ
Enum 유형: ElectronicTollCollectionCardStatus
단위 유형: 해당 사항 없음
출시: Android 13

ELECTRONIC_TOLL_COLLECTION_CARD_TYPE

전자 통행료 징수 (ETC) 카드 유형입니다. 이 속성은 차량의 ETC 카드 유형을 나타냅니다. 헤드 단위가 차량에 연결된 ETC 카드를 인식하는 경우 이 속성은 연결된 카드 유형을 반환해야 합니다. 그렇지 않으면 이 속성은 UNAVAILABLE여야 합니다.

변경 모드: ON_CHANGE
액세스 모드: READ
Enum 유형: ElectronicTollCollectionCardType
단위 유형: 해당 사항 없음
출시: Android 13

EMERGENCY_LANE_KEEP_ASSIST_ENABLED

비상 차선 유지 보조(ELKA)를 사용 설정하거나 사용 중지합니다. ELKA를 사용 설정하려면 true로, 사용 중지하려면 false로 설정합니다. ELKA가 사용 설정된 경우 차량의 ADAS 시스템이 켜져 있고 운전자의 안전하지 않은 차선 변경을 모니터링해야 합니다. 안전하지 않은 조작이 감지되면 ELKA는 운전자에게 경보를 보내고 조향 수정을 적용하여 차량을 원래 차선에 유지합니다. 일반적으로 EMERGENCY_LANE_KEEP_ASSIST_ENABLED는 항상 true 또는 false를 반환해야 합니다. 차량 속도가 너무 느림과 같은 일시적인 상태로 인해 기능을 사용할 수 없는 경우 EMERGENCY_LANE_KEEP_ASSIST_STATE 속성의 ErrorState 값을 통해 해당 정보를 전달해야 합니다. 이 속성은 VehiclePropertyAccess.READ_WRITE로 정의되지만 OEM은 VehiclePropertyAccess.READ로만 구현할 수 있습니다.

변경 모드: ON_CHANGE
액세스 모드: READ_WRITE/READ
Enum 유형: 해당 사항 없음
단위 유형: 해당 사항 없음
출시: Android 14

EMERGENCY_LANE_KEEP_ASSIST_STATE

비상 차선 유지 보조(ELKA) 상태입니다. ELKA의 현재 상태를 반환합니다. 일반적으로 이 속성은 EmergencyLaneKeepAssistState 또는 ErrorState에 정의된 유효한 상태를 반환해야 합니다. 예를 들어 일시적인 상태로 인해 기능을 사용할 수 없는 경우 이 정보는 ErrorState를 통해 전달되어야 합니다. 전 세계 지역 ID (0)의 경우 EmergencyLaneKeepAssistState의 모든 상태 (권장되지 않는 OTHER 포함)와 ErrorState가 지원되지 않는 한 VehicleAreaConfig#supportedEnumValues 배열을 정의해야 합니다.

변경 모드: ON_CHANGE
액세스 모드: READ
Enum 유형: EmergencyLaneKeepAssistState/ErrorState
단위 유형: 해당 사항 없음
출시: Android 14

ENGINE_COOLANT_TEMP

엔진 냉각수 온도입니다.

변경 모드: CONTINUOUS
액세스 모드: READ
Enum 유형: 해당 사항 없음
단위 유형: VehicleUnit:CELSIUS
출시: Android 13

ENGINE_IDLE_AUTO_STOP_ENABLED

엔진 공회전 자동 중지 기능을 나타냅니다. 이 값이 true이면 차량이 필요하지 않을 때 자동으로 엔진을 끄고 필요할 때 자동으로 다시 시작할 수 있습니다. 이 속성은 VehiclePropertyAccess.READ_WRITE로 정의되지만 OEM은 VehiclePropertyAccess.READ로만 구현할 수 있습니다.

변경 모드: ON_CHANGE
액세스 모드: READ_WRITE/READ
Enum 유형: 해당 사항 없음
단위 유형: 해당 사항 없음
출시: Android 14

ENGINE_OIL_LEVEL

엔진 오일 수준입니다.

변경 모드: ON_CHANGE
액세스 모드: READ
Enum 유형: VehicleOilLevel
단위 유형: 해당 사항 없음
출시: Android 13

ENGINE_OIL_TEMP

엔진 오일 온도입니다.

변경 모드: CONTINUOUS
액세스 모드: READ
Enum 유형: 해당 사항 없음
단위 유형: VehicleUnit:CELSIUS
출시: Android 13

ENGINE_RPM

분당 엔진 회전수(RPM)입니다.

변경 모드: CONTINUOUS
액세스 모드: READ
Enum 유형: 해당 사항 없음
단위 유형: VehicleUnit:RPM
출시: Android 13

ENV_OUTSIDE_TEMPERATURE

외부 온도입니다. 이 속성은 차량 외부 환경의 온도 측정값을 전달해야 합니다. 외부 온도를 측정하는 센서가 여러 개인 경우 이 속성은 외부 환경의 온도를 가장 잘 나타내는 측정값의 평균 또는 의미 있는 가중 평균으로 채워야 합니다.

변경 모드: CONTINUOUS
액세스 모드: READ
Enum 유형: 해당 사항 없음
단위 유형: VehicleUnit:CELSIUS
출시: Android 13

EV_BATTERY_DISPLAY_UNITS

디스플레이용 EV 배터리 단위입니다. 자동차에서 EV 배터리 정보를 사용자에게 표시하는 데 사용하는 단위를 나타냅니다. 예를 들어 와트-시간 (Wh), 킬로와트-시간 (kWh) 또는 암페어-시간 (Ah)이 있습니다. VehiclePropConfig.configArray는 지원되는 전기 에너지를 나타내는 데 사용됩니다. 단위입니다. 전기 에너지 단위는 VehicleUnit에 정의되어 있습니다. 예를 들면 다음과 같습니다.

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

EV_BATTERY_DISPLAY_UNITS를 업데이트하면 다른 *_DISPLAY_UNITS 속성의 값에 영향을 미치는 경우 이러한 값도 업데이트되어 AAOS 프레임워크에 전달되어야 합니다. 이 속성은 VehiclePropertyAccess.READ_WRITE로 정의되지만 OEM은 VehiclePropertyAccess.READ로만 구현할 수 있습니다.

변경 모드: ON_CHANGE
액세스 모드: READ_WRITE/READ
Enum 유형: VehicleUnit
단위 유형: 해당 사항 없음
출시: Android 13

EV_BATTERY_INSTANTANEOUS_CHARGE_RATE

EV 순간 충전 속도(밀리와트)입니다. 양수 값은 배터리가 충전 중임을 나타냅니다. 음수 값은 배터리가 방전되고 있음을 나타냅니다.

변경 모드: CONTINUOUS
액세스 모드: READ
Enum 유형: 해당 사항 없음
단위 유형: VehicleUnit:MW
출시: Android 13

EV_BATTERY_LEVEL

EV 또는 하이브리드 여부와 관계없이 현재 배터리 수준을 반환합니다. 이 값은 EV_CURRENT_BATTERY_CAPACITY를 초과하지 않습니다. 배터리 잔량 비율을 계산하려면 (EV_BATTERY_LEVEL, EV_CURRENT_BATTERY_CAPACITY)*100을 사용하세요.

변경 모드: CONTINUOUS
액세스 모드: READ
Enum 유형: 해당 사항 없음
단위 유형: VehicleUnit:WH
출시: Android 13

EV_BRAKE_REGENERATION_LEVEL

전기자동차의 회생제동 수준입니다. VehicleAreaConfig의 maxInt32ValueminInt32Value를 정의해야 합니다. minInt32ValuemaxInt32Value 사이의 모든 값을 지원해야 합니다. minInt32Value는 0이어야 합니다. maxInt32Value는 제동 시 재생되는 최대 에너지의 설정을 나타냅니다. minInt32Value은 회생 제동이 적용되지 않는 설정을 나타냅니다. 이 속성은 EV_REGENERATIVE_BRAKING_STATE의 더 세분화된 형태입니다. EvRegenerativeBrakingState의 상태가 OEM에 충분히 세분화되지 않은 경우 사용자가 더 구체적인 수준의 회생 제동을 설정할 수 있습니다. 이 속성은 VehiclePropertyAccess.READ_WRITE로 정의되지만 OEM은 VehiclePropertyAccess.READ로만 구현할 수 있습니다.

변경 모드: ON_CHANGE
액세스 모드: READ_WRITE/READ
Enum 유형: 해당 사항 없음
단위 유형: 해당 사항 없음
출시: Android 13

EV_CHARGE_CURRENT_DRAW_LIMIT

사용자가 설정한 충전을 위한 최대 전류 견인량 임계값을 나타냅니다. EvChargeState::configArray[0]는 차량에서 허용되는 최대 전류 견인량(암페어)을 지정하는 데 사용됩니다. 이 속성은 VehiclePropertyAccess.READ_WRITE로 정의되지만 OEM은 VehiclePropertyAccess.READ로만 구현할 수 있습니다.

변경 모드: ON_CHANGE
액세스 모드: READ_WRITEREAD
Enum 유형: 해당 사항 없음
단위 유형: VehicleUnit:AMPERE
출시: Android 13

EV_CHARGE_PERCENT_LIMIT

사용자가 설정한 최대 충전 비율 임계값을 나타냅니다. 사용자가 설정한 최대 충전 비율 임계값을 나타냅니다. 0에서 100 사이의 부동 소수점 값을 반환합니다. configArray는 유효한 값을 지정하는 데 사용됩니다. 예를 들어 차량이 다음과 같은 충전 비율 제한 값[20, 40, 60, 80, 100] 을 지원하는 경우 configArray는 {20, 40, 60, 80, 100}이어야 합니다. configArray가 비어 있으면 0~100 사이의 모든 값이 유효해야 합니다. 이 속성은 VehiclePropertyAccess.READ_WRITE로 정의되지만 OEM은 VehiclePropertyAccess.READ로만 구현할 수 있습니다.

변경 모드: ON_CHANGE
액세스 모드: READ_WRITE,, READ
Enum 유형: 해당 사항 없음
단위 유형: 해당 사항 없음
출시: Android 13

EV_CHARGE_PORT_CONNECTED

EV 충전 포트가 연결되었습니다. 차량에 충전 포트가 여러 개인 경우 이 속성은 충전 포트가 연결된 경우 true를 반환해야 합니다.

변경 모드: ON_CHANGE
액세스 모드: READ
Enum 유형: 해당 사항 없음
단위 유형: 해당 사항 없음
출시: Android 13

EV_CHARGE_PORT_OPEN

EV 충전 포트가 열려 있습니다. 차량에 충전 포트가 여러 개인 경우 충전 포트가 열려 있으면 이 속성이 true를 반환해야 합니다. 이 속성은 VehiclePropertyAccess.READ_WRITE로 정의되지만 OEM은 VehiclePropertyAccess.READ로만 구현할 수 있습니다.

변경 모드: ON_CHANGE
액세스 모드: READ_WRITEREAD
Enum 유형: 해당 사항 없음
단위 유형: 해당 사항 없음
출시: Android 13

EV_CHARGE_STATE

자동차의 충전 상태 자동차의 현재 충전 상태를 반환합니다. 차량의 목표 충전 비율이 100이 아닌 경우 배터리 충전 수준이 목표 수준에 도달하면 이 속성은 EvChargeState::STATE_FULLY_CHARGED를 반환해야 합니다. 자세한 내용은 EvChargeState::EV_CHARGE_PERCENT_LIMIT를 참고하세요.

변경 모드: ON_CHANGE
액세스 모드: READ
Enum 유형: EvChargeState
단위 유형: 해당 사항 없음
출시: Android 13

EV_CHARGE_SWITCH

EV 배터리 충전을 시작하거나 중지합니다. 사용자가 원하는 설정입니다. 이 속성을 true로 설정하면 배터리 충전이 시작되고 false로 설정하면 충전이 중지됩니다. 이 속성은 VehiclePropertyAccess.READ_WRITE로 정의되지만 OEM은 VehiclePropertyAccess.READ로만 구현할 수 있습니다.

변경 모드: ON_CHANGE
액세스 모드: READ_WRITEREAD
Enum 유형: 해당 사항 없음
단위 유형: 해당 사항 없음
출시: Android 13

EV_CHARGE_TIME_REMAINING

남은 예상 충전 시간(초)입니다. 차량이 충전 중이 아니면 0을 반환합니다.

변경 모드: CONTINUOUS
액세스 모드: READ
Enum 유형: 해당 사항 없음
단위 유형: VehicleUnit:SECS
출시: Android 13

EV_CURRENT_BATTERY_CAPACITY

EV 또는 하이브리드 차량의 현재 사용 가능한 배터리 용량입니다. EV 또는 하이브리드인 경우 배터리 용량의 실제 값을 반환합니다. 이 속성은 배터리 노화 및 온도 종속과 같은 요소를 고려하여 실시간으로 사용 가능한 배터리 용량을 캡처합니다. 이 값은 INFO_EV_BATTERY_CAPACITY와 다를 수 있습니다. INFO_EV_BATTERY_CAPACITY는 차량이 새 차일 때의 공칭 배터리 용량을 반환하기 때문입니다.

변경 모드: ON_CHANGE
액세스 모드: READ
Enum 유형: 해당 사항 없음
단위 유형: VehicleUnit:WH
출시: Android 14

EV_REGENERATIVE_BRAKING_STATE

자동차의 회생제동 또는 원 페달 드라이브 설정입니다. 자동차의 회생 제동 설정과 관련된 현재 설정을 반환합니다. OEM에 EvRegenerativeBrakingState에 제공된 것보다 더 많은 설정이 필요한 경우 더 세부적인 정보를 제공하는 EV_BRAKE_REGENERATION_LEVEL 속성을 대신 사용할 수 있습니다.

변경 모드: ON_CHANGE
액세스 모드: READ
Enum 유형: EvRegenerativeBrakingState
단위 유형: 해당 사항 없음
출시: Android 13

EV_STOPPING_MODE

차량의 현재 중지 모드의 속성을 나타냅니다. 전 세계 지역 ID (0)의 경우 EvStoppingMode의 모든 enum 값이 지원되지 않는 한 VehicleAreaConfig#supportedEnumValues를 정의해야 합니다. 향후 더 많은 상태를 포함하도록 EvStoppingMode enum이 확장될 수 있습니다. 이 속성은 VehiclePropertyAccess.READ_WRITE로 정의되지만 OEM은 VehiclePropertyAccess.READ로만 구현할 수 있습니다.

변경 모드: ON_CHANGE
액세스 모드: READ_WRITE/READ
Enum 유형: EvStoppingMode
단위 유형: 해당 사항 없음
출시: Android 14

EVS_SERVICE_REQUEST

EVS 서비스를 사용 설정하고 요청합니다. 이 속성은 EVS 서비스를 트리거하는 방법을 제공합니다. VHAL은 이 속성을 사용하여 Android에 EVS 서비스를 시작하거나 중지하도록 요청해야 합니다.

  • int32Values[0] EVS 서비스 유형입니다. 값은 EvsServiceType의 enum이어야 합니다.
  • int32Values[1] EVS 서비스의 상태입니다. 값은 EvsServiceState의 enum 중 하나여야 합니다.

예를 들어 후방 EVS 서비스를 사용 설정하려면 Android에서 속성 값을 다음과 같이 설정할 수 있습니다.

[EvsServiceType::REAR_VIEW, EvsServiceState::ON]

변경 모드: ON_CHANGE
액세스 모드: READ
Enum 유형: 해당 사항 없음
단위 유형: 해당 사항 없음
출시: Android 13

EXTERNAL_CAR_TIME

에포크 시간 (밀리초)으로 인코딩된 cr의 현재 날짜 및 시간 제안입니다. 이 값은 1970년 1월 1일(UTC) 이후 경과된 밀리초 수를 나타냅니다. 이 속성은 CarTime이 Android로 변경되었음을 나타냅니다. 속성이 지원되는 경우 VHAL은 이 속성이 읽힐 때 가장 정확한 현재 CarTime을 보고하고 CarTime 값이 변경될 때 이 속성의 변경사항을 게시해야 합니다.

이 속성의 변경 이벤트는 자연스러운 시간 경과 이외의 이유로 CarTime이 변경될 때 게시되어야 합니다 (500ms 미만의 시간 차이는 변경 이벤트를 트리거해서는 안 됨). Android는 이 속성을 읽고 구독하여 VHAL에서 시간을 가져옵니다. 이는 Android의 시간을 다른 차량 시스템 (대시 시계)과 동기화하는 데 유용할 수 있습니다. int64Values[0] = 제공된 Epoch 시간 (밀리초) 속성의 새 값이 수신될 때마다 AAOS는 ExternalTimeSuggestion을 생성하여 TimeDetectorService로 전송합니다.

다른 소스의 우선순위가 더 높지 않으면 Android는 이를 사용하여 시스템 시간을 설정합니다. 시간 소스 우선순위를 조정하는 방법과 시간 제안이 처리되는 방식(Android에서 gitter, 드리프트, 최소 해상도를 처리하는 방식 포함)에 관한 자세한 내용은 시간 감지기 서비스 문서를 참고하세요.

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

프로토콜(예: GNSS, NTP, 전화)을 사용하여 ECU에서 시간을 검색하는 데 이 속성을 사용하지 않는 것이 좋습니다. 이러한 프로토콜은 이미 Android에서 지원되므로 이 속성을 사용하여 VHAL을 통해 연결하는 대신 Android 시스템을 사용하는 것이 좋습니다.

변경 모드: ON_CHANGE
액세스 모드: READ
Enum 유형: 해당 사항 없음
단위 유형: VehicleUnit:MILLI_SECS
출시: Android 13

FOG_LIGHTS_STATE

안개등 상태입니다. 안개등의 현재 상태를 반환합니다. 다음에 해당하는 경우:

  • 자동차에 전면 및 후면 안개등이 있습니다. 전면 및 후면 안개등은 함께만 제어할 수 있습니다. FOG_LIGHTS_STATE를 구현해야 합니다. FRONT_FOG_LIGHTS_STATEREAR_FOG_LIGHTS_STATE는 구현하면 안 됩니다.
  • 전면 및 후면 안개등은 독립적으로만 제어할 수 있습니다. FOG_LIGHTS_STATE는 구현되어서는 안 되며 FRONT_FOG_LIGHTS_STATEREAR_FOG_LIGHTS_STATE는 구현되어야 합니다.
  • 차량에 전면 안개등만 있습니다. FOG_LIGHTS_STATE 또는 FRONT_FOG_LIGHTS_STATE 중 하나만 구현해야 합니다 (둘 다 아님). REAR_FOG_LIGHTS_STATE는 구현하면 안 됩니다.
  • 차량에 후방 안개등이만 있습니다. FOG_LIGHTS_STATE 또는 REAR_FOG_LIGHTS_STATE 중 하나만 구현해야 합니다 (둘 다 아님). FRONT_FOG_LIGHTS_STATE는 구현하면 안 됩니다.

변경 모드: ON_CHANGE
액세스 모드: READ
Enum 유형: VehicleLightState
단위 유형: 해당 사항 없음
출시: Android 13

FOG_LIGHTS_SWITCH

안개등 스위치입니다. 사용자가 원하는 설정입니다. 다음에 해당하는 경우:

  • 자동차에 전면 및 후면 안개등이 모두 있습니다. 전면 및 후면 안개등을 함께만 제어할 수 있는 경우 FOG_LIGHTS_SWITCH를 구현해야 합니다. FRONT_FOG_LIGHTS_SWITCHREAR_FOG_LIGHTS_SWITCH는 구현하면 안 됩니다.
  • 전면 및 후면 안개등은 독립적으로만 제어할 수 있습니다. FOG_LIGHTS_SWITCH는 구현하면 안 됩니다. FRONT_FOG_LIGHTS_SWITCHREAR_FOG_LIGHTS_SWITCH를 구현해야 합니다.
  • 차량에 전면 안개등만 있습니다. FOG_LIGHTS_SWITCH 또는 FRONT_FOG_LIGHTS_SWITCH 중 하나만 구현해야 합니다 (둘 다 아님). REAR_FOG_LIGHTS_SWITCH는 구현하면 안 됩니다.
  • 차량에 후방 안개등이만 있습니다. FOG_LIGHTS_SWITCH 또는 REAR_FOG_LIGHTS_SWITCH 중 하나만 구현해야 합니다 (둘 다 구현하면 안 됨). FRONT_FOG_LIGHTS_SWITCH는 구현하면 안 됩니다.

이 속성은 VehiclePropertyAccess.READ_WRITE로 정의되지만 OEM은 VehiclePropertyAccess.READ로만 구현할 수 있습니다.

변경 모드: ON_CHANGE
액세스 모드: READ_WRITE/READ
Enum 유형: VehicleLightSwitch
단위 유형: 해당 사항 없음
출시: Android 13

FORWARD_COLLISION_WARNING_ENABLED

전방 충돌 경고(FCW)를 사용 설정하거나 중지합니다. FCW를 사용 설정하려면 true로 설정하고 FCW를 사용 중지하려면 false로 설정합니다. FCW가 사용 설정된 경우 차량의 ADAS 시스템이 켜져 있고 잠재적 충돌을 모니터링해야 합니다. 일반적으로 FORWARD_COLLISION_WARNING_ENABLED는 항상 true 또는 false를 반환해야 합니다. 차량 속도가 너무 낮은 등 일시적인 상태로 인해 기능을 사용할 수 없는 경우 FORWARD_COLLISION_WARNING_STATE 속성의 ErrorState 값을 통해 해당 정보를 전달해야 합니다.

이 속성은 VehiclePropertyAccess.READ_WRITE로 정의되지만 OEM은 VehiclePropertyAccess.READ로만 구현할 수 있습니다.

변경 모드: ON_CHANGE
액세스 모드: READ_WRITE/READ
Enum 유형: 해당 사항 없음
단위 유형: 해당 사항 없음
출시: Android 14

FORWARD_COLLISION_WARNING_STATE

전방 충돌 경고(FCW) 상태입니다. FCW의 현재 상태를 반환합니다. 이 속성은 항상 ForwardCollisionWarningState 또는 ErrorState에 정의된 유효한 상태를 반환해야 합니다. StatusCode를 통해 오류를 표시해서는 안 되며 대신 지원되는 오류 상태를 사용해야 합니다. 전 세계 지역 ID (0)의 경우 ForwardCollisionWarningState (권장되지 않는 OTHER 포함) 및 ErrorState의 모든 상태가 지원되지 않는 한 VehicleAreaConfig#supportedEnumValues 배열을 정의해야 합니다.

변경 모드: ON_CHANGE
액세스 모드: READ
Enum 유형: ForwardCollisionWarningState/ErrorState
단위 유형: 해당 사항 없음
출시: Android 14

FRONT_FOG_LIGHTS_STATE

전면 안개등 상태입니다. 전면 안개등의 현재 상태를 반환합니다. FOG_LIGHTS_STATE 또는 FRONT_FOG_LIGHTS_STATE 중 하나만 구현하면 됩니다. 자세한 내용은 FOG_LIGHTS_STATE 관련 문서를 참고하세요.

변경 모드: ON_CHANGE
액세스 모드: READ
Enum 유형: VehicleLightState
단위 유형: 해당 사항 없음
출시: Android 13

FRONT_FOG_LIGHTS_SWITCH

전면 안개등 스위치입니다. 사용자가 원하는 설정입니다. FOG_LIGHTS_SWITCH 또는 FRONT_FOG_LIGHTS_SWITCH 중 하나만 구현하면 됩니다. 자세한 내용은 FOG_LIGHTS_SWITCH 관련 문서를 참고하세요.

이 속성은 VehiclePropertyAccess.READ_WRITE로 정의되지만 OEM은 VehiclePropertyAccess.READ로만 구현할 수 있습니다.

변경 모드: ON_CHANGE
액세스 모드: READ_WRITE/READ
Enum 유형: VehicleLightSwitch
단위 유형: 해당 사항 없음
출시: Android 13

FUEL_CONSUMPTION_UNITS_DISTANCE_OVER_VOLUME

디스플레이용 연료 소비 단위입니다. 자동차에서 사용자에게 연료 소비 정보를 표시하는 데 사용하는 단위 유형을 나타냅니다. 참은 단위가 MPG와 같이 거리/용량임을 나타냅니다. False는 단위가 거리에 대한 부피(예: L/100KM)임을 나타냅니다. 이 속성은 VehiclePropertyAccess.READ_WRITE로 정의되지만 OEM은 VehiclePropertyAccess.READ로만 구현할 수 있습니다.

변경 모드: ON_CHANGE
액세스 모드: READ_WRITE/READ
Enum 유형: 해당 사항 없음
단위 유형: 해당 사항 없음
출시: Android 13

FUEL_DOOR_OPEN

연료 주입구 도어가 열려 있습니다. 이 속성은 차량의 연료 주입구 도어가 열려 있는지 여부를 전달해야 합니다. 이 속성은 전기자동차에는 적용되지 않습니다. 즉, INFO_FUEL_TYPEFuelType::FUEL_TYPE_ELECTRIC만 포함된 경우 이 속성을 구현해서는 안 됩니다. EV의 경우 EV_CHARGE_PORT_OPEN를 구현합니다. 이 속성은 VehiclePropertyAccess.READ_WRITE로 정의되지만 OEM은 VehiclePropertyAccess.READ로만 구현할 수 있습니다.

변경 모드: ON_CHANGE
액세스 모드: READ_WRITE/READ
Enum 유형: 해당 사항 없음
단위 유형: 해당 사항 없음
출시: Android 13

FUEL_LEVEL

차량에 남아 있는 연료(밀리리터)입니다. 이 속성은 차량에 남아 있는 현재 연료의 양을 밀리리터 단위로 전달해야 합니다. 이 속성은 전기 자동차에 적용되지 않습니다. 즉, INFO_FUEL_TYPEFuelType::FUEL_TYPE_ELECTRIC만 포함된 경우 이 속성을 구현해서는 안 됩니다. 전기자동차의 경우 EV_BATTERY_LEVEL 값은 INFO_FUEL_CAPACITY 이하여야 합니다.

변경 모드: CONTINUOUS
액세스 모드: READ
Enum 유형: 해당 사항 없음
단위 유형: VehicleUnit:MILLILITER
출시: Android 13

FUEL_LEVEL_LOW

연료 부족 경고입니다. 이 속성은 대시보드의 연료 부족 경고에 해당합니다. FUEL_LEVEL_LOW가 설정되면 차량에 더 많은 연료를 추가할 때까지 지워서는 안 됩니다. 이 속성은 차량의 모든 연료 소스를 고려할 수 있습니다. 예를 들어 다음과 같은 경우

  • 가솔린 차량: 이 속성은 연료 잔량만을 기반으로 합니다.
  • 배터리 구동 차량: 이 속성은 배터리 잔량만을 기반으로 합니다.
  • 하이브리드 차량: 이 속성은 OEM의 재량에 따라 가솔린 및 배터리 수준의 조합을 기반으로 할 수 있습니다.

변경 모드: ON_CHANGE
액세스 모드: READ
Enum 유형: 해당 사항 없음
단위 유형: 해당 사항 없음
출시: Android 13

FUEL_VOLUME_DISPLAY_UNITS

디스플레이용 연료량 단위입니다. 자동차에서 사용자에게 연료량을 표시하는 데 사용하는 단위를 나타냅니다. 예를 들면 리터 또는 갤런입니다. VehiclePropConfig.configArray는 지원되는 연료량 표시 단위를 나타내는 데 사용됩니다. 볼륨 단위는 VehicleUnit에 정의됩니다. 예를 들어 configArray[0] = LITER configArray[1] = GALLON입니다. FUEL_VOLUME_DISPLAY_UNITS 업데이트가 다른 *_DISPLAY_UNITS 속성의 값에 영향을 미치는 경우 해당 값도 업데이트되어 AAOS 프레임워크에 전달되어야 합니다. 이 속성은 VehiclePropertyAccess.READ_WRITE로 정의되지만 OEM은 VehiclePropertyAccess.READ로만 구현할 수 있습니다.

변경 모드: ON_CHANGE
액세스 모드: READ_WRITE/READ
Enum 유형: VehicleUnit
단위 유형: 해당 사항 없음
출시: Android 13

GEAR_SELECTION

사용자가 선택한 기어입니다. 구성 데이터의 값은 이 차량에 지원되는 기어 목록을 나타내야 합니다. 예를 들어 자동 변속기의 구성 데이터에는 {GEAR_NEUTRAL, GEAR_REVERSE, GEAR_PARK, GEAR_DRIVE, GEAR_1, GEAR_2,...}가 포함되어야 하고 수동 변속기의 경우 목록은 {GEAR_NEUTRAL, GEAR_REVERSE, GEAR_1, GEAR_2,...}여야 합니다. 운전자가 필요에 따라 특정 기어를 선택할 수 있는 자동 변속기 차량(예: 수동 모드)의 경우 GEAR_SELECTION 값은 GEAR_DRIVE 대신 운전자가 선택한 특정 기어로 설정해야 합니다.

변경 모드: ON_CHANGE
액세스 모드: READ
Enum 유형: VehicleGear
단위 유형: 해당 사항 없음
출시: Android 13

GENERAL_SAFETY_REGULATION_COMPLIANCE_REQUIREMENT

EU의 일반 보안 규정 준수 요구사항입니다. 일반 보안 규정 준수가 필요한지 여부와 필요한 경우 요구사항 유형을 나타내는 값을 반환합니다.

변경 모드: STATIC
액세스 모드: READ
Enum 유형: GsrComplianceRequirementType
단위 유형: 해당 사항 없음
출시: Android 14

GLOVE_BOX_DOOR_POS

글러브 박스 도어의 현재 위치를 나타내는 속성입니다. VehicleAreaConfig의 maxInt32ValueminInt32Value를 정의해야 합니다. minInt32Value~maxInt32Value 사이의 모든 정수를 지원해야 합니다. minInt32Value은 글러브 박스 도어가 닫혀 있음을 나타냅니다. minInt32Value는 0이어야 합니다. maxInt32Value는 글러브 박스 도어가 완전히 열린 위치에 있음을 나타냅니다. minInt32ValuemaxInt32Value 사이의 값은 닫힌 상태와 완전히 열린 상태 간의 전환 상태를 나타냅니다.

이 속성은 특정 단위가 아닌 지정된 상대적 위치 범위입니다. 영역 ID는 글러브 박스를 사용할 좌석과 일치해야 합니다. 예를 들어 앞 우측 대시보드에 글러브 박스가 삽입되어 있으면 영역 ID는 SEAT_1_RIGHT여야 합니다.

이 속성은 VehiclePropertyAccess.READ_WRITE로 정의되지만 OEM은 VehiclePropertyAccess.READ로만 구현할 수 있습니다.

변경 모드: ON_CHANGE
액세스 모드: READ_WRITE/READ
Enum 유형: 해당 사항 없음
단위 유형: 해당 사항 없음
출시: Android 14

GLOVE_BOX_LOCKED

글러브 박스를 잠그거나 잠금 해제합니다. true인 경우 글러브 박스가 잠겨 있습니다. false인 경우 글러브 박스가 잠금 해제되어 있습니다. 영역 ID는 글러브 박스를 사용할 좌석과 일치해야 합니다. 예를 들어 앞 우측 대시보드에 글로브 박스가 삽입되어 있으면 영역 ID는 VehicleAreaSeat#ROW_1_RIGHT이어야 합니다.

이 속성은 VehiclePropertyAccess.READ_WRITE로 정의되지만 OEM은 VehiclePropertyAccess.READ로만 구현할 수 있습니다.

변경 모드: ON_CHANGE
액세스 모드: READ_WRITE/READ
Enum 유형: 해당 사항 없음
단위 유형: 해당 사항 없음
출시: 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

Represents feature to enable and disable a seat's ability to deploy airbag(s) when triggered (for example, in a collision). If true, it means the seat's airbags are enabled and, if triggered, they deploy. If true, the seat's airbags are disabled, and they do not deploy in any circumstances. This property does not indicate if the airbags are deployed.

This property can be set to VehiclePropertyAccess.READ read only for the purpose of regulation or safety concerns.

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

SEAT_BACKREST_ANGLE_1_MOVE

Seat backrest angle 1 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 seat backrest while angling forward. The minInt32Value represents the maximum movement speed of the seat backrest when reclining.

Larger absolute values, either positive or negative, indicate a faster movement speed. Once the seat backrest reaches the positional limit, the value must reset to 0. If the value for SEAT_BACKREST_ANGLE_1_MOVE is 0, no movement is occurring.

This property is represented 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

SEAT_BACKREST_ANGLE_1_POS

Seat backrest angle 1 position. Backrest angle 1 is the actuator closest to the bottom of the seat. The maxInt32Value and minInt32Value in VehicleAreaConfig must be defined. All integers between minInt32Value and maxInt32Value must be supported. The minInt32Value indicates the seat backrest's full recline position with regard to the actuator at the bottom of the seat. The maxInt32Value indicates the seat backrest's most upright or forward position with regard to the actuator at the bottom of the seat.

Values between minInt32Value and maxInt32Value indicate a transition state between the full recline and the upright and forward positions.

This property is represented as a specified range of relative positions.

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

SEAT_BACKREST_ANGLE_2_MOVE

Seat backrest angle 2 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 seat backrest while angling forward. The minInt32Value represents the maximum movement speed of the seat backrest while reclining.

Larger absolute values, positive or negative, indicate a faster movement speed. Once the seat backrest reaches the positional limit, the value must reset to 0. If the value for SEAT_BACKREST_ANGLE_2_MOVE is currently 0, no movement is underway.

This property is represented as 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

SEAT_BACKREST_ANGLE_2_POS

Seat backrest angle 2 position. Backrest angle 2 is the next actuator up from the bottom of the seat.

The maxInt32Value and minInt32Value in VehicleAreaConfig must be defined. All integers between minInt32Value and maxInt32Value must be #0supported.

The minInt32Value indicates the seat backrest's full recline position with regard to the next actuator in the backrest from the one at the bottom of the seat (see SEAT_BACKREST_ANGLE_1_POS for details). maxInt32Value indicates the seat backrest's most upright and forward position with regard to the next actuator in the backrest from the one at the bottom of the seat (see SEAT_BACKREST_ANGLE_1_POS for details).

Values between minInt32Value and maxInt32Value indicate a transition state between the full recline and upright and forward positions.

This property is represented as a specified range of relative positions.

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

SEAT_BELT_BUCKLED

Seatbelt buckled. True indicates belt is buckled. Write access indicates automatic seat buckling capabilities. 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

SEAT_BELT_HEIGHT_MOVE

Seatbelt height 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 seat belt's shoulder anchor while moving up. The minInt32Value represents the maximum movement speed of the seat belt's shoulder anchor while moving down.

Larger absolute values, either positive or negative, indicate a faster movement speed. Once the seat belt reaches the positional limit, the value must reset to 0. If the value of SEAT_BELT_HEIGHT_MOVE is 0, no movement is underway.

This property is represented as a 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

SEAT_BELT_HEIGHT_POS

Seatbelt height position. Adjusts the shoulder belt anchor point.

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

The minInt32Value indicates the seat belt's shoulder anchor is at its lowest position. The maxInt32Value indicates the seat belt's shoulder anchor is at its highest position.

Values between minInt32Value and maxInt32Value indicate a transition state between the lowest and highest positions.

This property is represented as a specified range of relative positions.

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

SEAT_CUSHION_SIDE_SUPPORT_MOVE

Represents property for movement direction and speed of seat cushion side support.

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 seat cushion side support when growing wider (for example, support is decreasing). The minInt32Value represents the maximum movement speed of the seat cushion side support when growing narrower (for example, support is increasing).

Larger absolute values, either positive or negative, indicate a faster movement speed. Once the seat cushion side support reaches the positional limit, the value must reset to 0. If the value of SEAT_CUSHION_SIDE_SUPPORT_MOVE is 0, then no movement is occurring.

This property is represented as 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 14

SEAT_CUSHION_SIDE_SUPPORT_POS

Represents property for seat's hipside (bottom cushion's side) support position.

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

The maxInt32Value indicates the seat cushion side support is in its widest position (for example, least support). The minInt32Value indicates the seat cushion side support is in its thinnest position (for example, most support).

Values in between minInt32Value and maxInt32Value indicate a transition state between the thinnest and widest positions.

This property is represented as a specified range of relative positions.

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

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

SEAT_DEPTH_MOVE

Seat depth 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 seat while getting deeper The minInt32Value represents the maximum movement speed of the seat while getting shallower.

Larger absolute values, either positive or negative, indicate a faster movement speed. Once the seat backrest reaches the positional limit, the value must reset to 0. If the value for SEAT_DEPTH_MOVE is currently 0, no movement is underway.

This property is represented as 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
Enum type: N/A
Unit type: N/A
Release: Android 13

SEAT_DEPTH_POS

Seat depth position. Sets the seat depth, distance from back rest to front edge of seat.

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

The minInt32Value indicates the seat is in its shallowest position (for example, the position with the smallest distance between the front edge of the seat cushion and the rear end of the seat).

The maxInt32Value indicates the seat is in its deepest position (for example, the position with the largest distance between the front edge of the seat cushion and the rear end of the seat).

Values in between minInt32Value and maxInt32Value indicate a transition state between the shallowest and deepest positions.

This property is represented as a specified range of relative positions.

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

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

SEAT_EASY_ACCESS_ENABLED

Represents property for Seat easy access feature. If true, the seat is automatically adjusted to make it easier for the occupant to enter and exit the vehicle. Each area ID must map to the seat that the user is trying to enter/exit with the help of the easy access feature. This property is defined as VehiclePropertyAccess.READ_WRITE, but OEMs can implement it as only.

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

SEAT_FOOTWELL_LIGHTS_STATE

Represents property for the seat footwell lights state. SEAT_FOOTWELL_LIGHTS_STATE reflects the current state of the lights at any point in time. This is different from the function of SEAT_FOOTWELL_LIGHTS_SWITCH which represents the position of the switch controlling the lights.

Therefore, SEAT_FOOTWELL_LIGHTS_STATE may not match the value of SEAT_FOOTWELL_LIGHTS_SWITCH (for example, SEAT_FOOTWELL_LIGHTS_SWITCH=AUTOMATIC and SEAT_FOOTWELL_LIGHTS_SWITCH=ON).

This property should only be implemented if SEAT_FOOTWELL_LIGHTS_STATE 's value may be different from that of CABIN_LIGHTS_STATE.

For each supported area ID, the VehicleAreaConfig#supportedEnumValues must be defined unless all enum values of VehicleLightState are supported.

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

SEAT_FOOTWELL_LIGHTS_SWITCH

Represents property for the seat footwell lights switch. SEAT_FOOTWELL_LIGHTS_SWITCH represents the position of the switch controlling the lights. This is different from the function of SEAT_FOOTWELL_LIGHTS_STATE which reflects the current state of the lights at any point in time. Therefore, SEAT_FOOTWELL_LIGHTS_SWITCH may not match the value of SEAT_FOOTWELL_LIGHTS_STATE (for example, SEAT_FOOTWELL_LIGHTS_SWITCH=AUTOMATIC and SEAT_FOOTWELL_LIGHTS_SWITCH=ON).

This property should only be implemented if SEAT_FOOTWELL_LIGHTS_SWITCH's value may be different from that of CABIN_LIGHTS_SWITCH.

For each supported area ID, the VehicleAreaConfig#supportedEnumValues must be defined unless all enum values of VehicleLightSwitch are supported.

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

SEAT_FORE_AFT_MOVE

Seat fore and aft move. This property moves the entire seat forward/backward in the direction that it is facing.

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 seat while moving forward. The minInt32Value represents the maximum movement speed of the seat while moving backward.

Larger absolute values, either positive or negative, indicate a faster movement speed. Once the seat reaches the positional limit, the value must reset to 0. If the value of SEAT_FORE_AFT_MOVE is 0, no movement is occurring.

This property is represented as 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

SEAT_FORE_AFT_POS

Seat fore and aft position. Sets the seat position forward and backward.

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

The minInt32Value indicates the seat is at its rearward-most linear position. The maxInt32Value indicates the seat is at its forward-most linear position. Values between minInt32Value and maxInt32Value indicate a transition state between the closest and farthest positions.

This property is represented as a specified range of relative positions.

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

SEAT_HEADREST_ANGLE_MOVE

Headrest angle 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 seat's headrest while moving into an upright or forward position. The minInt32Value represents the maximum movement speed of the seat's headrest while moving into a shallow position.

Larger absolute values, either positive or negative, indicate a faster movement speed. Once the seat's headrest reaches the positional limit, the value must reset to 0. If the value of SEAT_HEADREST_ANGLE_MOVE is 0, thenno movement is occurring.

This property is represented as a specified range of relative movement speeds.

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

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

SEAT_HEADREST_ANGLE_POS

Headrest angle position. The maxInt32Value and minInt32Value in VehicleAreaConfig must be defined. All integers between minInt32Value and maxInt32Value must be supported.

The minInt32Value indicates the headrest is in its full recline position. The maxInt32Value indicates the headrest is in its most upright and forward position.

Values in between minInt32Value and maxInt32Value indicate a transition state between the full recline and most upright and forward positions.

This property is represented as a specified range of relative positions.

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

SEAT_HEADREST_FORE_AFT_MOVE

Headrest fore and aft 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 seat's headrest while moving forward. The minInt32Value represents the maximum movement speed of the seat's headrest while moving backward.

Larger absolute values, either positive or negative, indicate a faster movement speed. Once the seat's headrest reaches the positional limit, the value must reset to 0. If the value of SEAT_HEADREST_FORE_AFT_MOVE is 0, then no movement is occurring.

This property is represented as 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

SEAT_HEADREST_FORE_AFT_POS

Headrest fore and aft position. The maxInt32Value and minInt32Value in VehicleAreaConfig must be defined. All integers between minInt32Value and maxInt32Value must be supported.

The minInt32Value indicates the headrest is in its rearward-most linear position. The maxInt32Value indicates the headrest is in its forward-most linear position.

Values between minInt32Value and maxInt32Value indicate a transition state between the forward and backward positions.

This property is represented as a specified range of relative positions.

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

SEAT_HEADREST_HEIGHT_MOVE

Headrest height 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 seat's headrest while moving up. The minInt32Value represents the maximum movement speed of the seat's headrest while moving down.

Larger absolute values, either positive or negative, indicate a faster movement speed. Once the seat's headrest reaches the positional limit, the value must reset to 0. If the value for SEAT_HEADREST_HEIGHT_MOVE is 0, then no movement is occurring.

This property is represented as 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

SEAT_HEADREST_HEIGHT_POS

(Deprecated) Headrest height position.

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

SEAT_HEADREST_HEIGHT_POS_V2

Headrest height position. Sets the headrest height for supported seats. VehiclePropConfig.areaConfigs specifies which seats are supported.

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

The minInt32Value indicates the headrest is in its lowest position. The maxInt32Value indicates the headrest is in its highest position.

Values in between minInt32Value and maxInt32Value indicate a transition state between the lowest and highest positions.

This property is represented as a specified range of relative positions.

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

SEAT_HEIGHT_MOVE

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

maxInt32Value represents the maximum movement speed of the seat when moving up.

minInt32Value represents the maximum movement speed of the seat when moving down.

Larger absolute values, either positive or negative, indicate a faster movement speed. Once the seat reaches the positional limit, the value must reset to 0. If the value of SEAT_HEIGHT_MOVE value is 0, no movement is occurring.

This property is represented as 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

SEAT_HEIGHT_POS

Seat height position. The maxInt32Value and minInt32Value in VehicleAreaConfig must be defined. All integers between minInt32Value and maxInt32Value must be supported.

The minInt32Value indicates the seat is in its lowest position. The maxInt32Value indicates the seat is in its highest position.

Values in between minInt32Value and maxInt32Value indicate a transition state between the lowest and highest positions.

This property is represented as a specified range of relative positions.

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

SEAT_LUMBAR_FORE_AFT_MOVE

Lumbar fore and aft 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 seat's lumbar support while moving forward. The minInt32Value represents the maximum movement speed of the seat's lumbar support while moving backward.

Larger absolute values, either positive or negative, indicate a faster movement speed. Once the seat's lumbar support reaches the positional limit, the value must reset to 0. If the value of SEAT_LUMBAR_FORE_AFT_MOVE is 0, then no movement is occurring.

This property is represented as 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

SEAT_LUMBAR_FORE_AFT_POS

Lumber fore and aft position. The maxInt32Value and minInt32Value in VehicleAreaConfig must be defined. All integers between minInt32Value and maxInt32Value must be supported.

The minInt32Value indicates the lumbar support is in its rearward most position (for example, least supportive position). The maxInt32Value indicates the lumbar support is in its forward most position (for example, most supportive position).

Values in between minInt32Value and maxInt32Value indicate a transition state between the forward and rearward positions.

This property is represented as a specified range of relative positions.

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

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

SEAT_LUMBAR_SIDE_SUPPORT_MOVE

Lumbar side support 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 seat's lumbar side support while getting wider. The minInt32Value represents the maximum movement speed of the seat's lumbar side support while getting thinner.

Larger absolute values, either positive or negative, indicate a faster movement speed. Once the seat's lumbar side support reaches the positional limit, the value must reset to 0. If the value of SEAT_LUMBAR_SIDE_SUPPORT_MOVE 0, then no movement is occurring.

This property is represented as 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 type: READ_WRITE/READ
Enum type: N/A
Unit type: N/A
Release: Android 13

SEAT_LUMBAR_SIDE_SUPPORT_POS

Lumbar side support position. The maxInt32Value and minInt32Value in VehicleAreaConfig must be defined. All integers between minInt32Value and maxInt32Value must be supported. The minInt32Value indicates the lumbar side support is in its thinnest position (for example, most support). The maxInt32Value indicates the lumbar side support is in its widest position (for example, least support).

Values in between minInt32Value and maxInt32Value indicate a transition state between the thinnest and widest positions.

This property is represented as a specified range of relative positions.

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

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

SEAT_LUMBAR_VERTICAL_MOVE

Represents property for vertical movement direction and speed of seat lumbar support.

The maxInt32Value and minInt32Value in each VehicleAreaConfig must be defined. All integers between minInt32Value and maxInt32Value must be supported. The maxInt32Value indicates the lumbar support is moving at the fastest upward speed. The minInt32Value indicates the lumbar support is moving at the fastest down speed.

Larger absolute values, either positive or negative, indicate a faster movement speed. Once the seat cushion side support reaches the positional limit, the value must reset to 0. If the value of SEAT_LUMBAR_VERTICAL_MOVE's is 0, then no movement is occurring.

This property is represented as 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 14

SEAT_LUMBAR_VERTICAL_POS

Represents property for seat's lumbar support vertical position. The maxInt32Value and minInt32Value in each VehicleAreaConfig must be defined. All integers between minInt32Value and maxInt32Value must be supported. maxInt32Value indicates the lumbar support's highest position. minInt32Value indicates the lumbar support's lowest position.

Values in between minInt32Value and maxInt32Value indicate a transition state between the lowest and highest positions.

This property is represented as a specified range of relative positions.

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

SEAT_MEMORY_SELECT

This parameter selects the memory preset to use to select the seat position. The maxInt32Value and minInt32Value in VehicleAreaConfig must be defined. All integers between minInt32Value and maxInt32Value must be supported. The minInt32Value is always 0, and the maxInt32Value determines the number of seat preset memory slots available (for example, numSeatPresets - 1). For instance, if the driver's seat has three memory presets, the maxInt32Value is two. When the user selects a preset, the desired preset number (0, 1, or 2) is set.

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

SEAT_MEMORY_SET

This setting allows the user to save the current seat position settings into the selected preset slot. The maxInt32Value and minInt32Value in VehicleAreaConfig must be defined. The minInt32Value must be 0, and the maxInt32Value for each seat position must match the maxInt32Value for SEAT_MEMORY_SELECT

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

SEAT_OCCUPANCY

Indicates if a specific seat is occupied, to the best of the car's ability to determine. Valid values are from the VehicleSeatOccupancyState enum.

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

SEAT_TILT_MOVE

Seat tilt 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 front edge of the seat while moving up. The minInt32Value represents the maximum movement speed of the front edge of the seat while moving down.

Larger absolute values, either positive or negative, indicate a faster movement speed. Once the seat bottom reaches the positional limit, the value must reset to 0. If SEAT_TILT_MOVE's value is currently 0, no movement is underway.

This property is represented as 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

SEAT_TILT_POS

Seat tilt position. The maxInt32Value and minInt32Value in VehicleAreaConfig must be defined. All integers between minInt32Value and maxInt32Value must be supported. The minInt32Value indicates the seat bottom is angled at its lowest angular position. This corresponds to the seat's front edge at its lowest possible position relative to the rear end of the seat. The maxInt32Value indicates the seat bottom is angled at its highest angular position. This corresponds to the seat's front edge at its highest possible position relative to the rear end of the seat.

Values in between minInt32Value and maxInt32Value indicate a transition state between the lowest and highest positions.

This property is represented as a specified range of relative positions.

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

SEAT_WALK_IN_POS

Represents property that indicates the current walk-in position of the seat. The minInt32Value indicates the normal seat position. The minInt32Value must be 0. The maxInt32Value indicates the seat is in the full walk-in position.

Values in between minInt32Value and maxInt32Value indicate a transition state between the normal and walk-in positions.

This property is represented as a specified range of relative positions.

The area ID must match the seat that actually moves when the walk-in feature activates, not the intended seat the passengers will sit in.

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

SHUTDOWN_REQUEST

Request the head unit to be shu down.

This is required for executing a task when the head unit is powered off (remote task feature). After the head unit is powered-on to execute the task, the head unit should be shut down. The head unit sends this message once the task is finished.

This property doesn't apply when a user wants to shut down the head unit.

This usually involves telling a separate system outside the head unit (for instance a power controller) to prepare to shut down the head unit.

The external system must validate that this request is valid by checking if the vehicle is in use. If a user enters the vehicle after a SHUTDOWN_REQUEST is sent, then the system must ignore this request. It is recommended to store a VehicleInUse property in the power controller and exposes it through VEHICLE_IN_USE property. A shutdown request must be ignored if VehicleInUse is true.

If allowed, the external system sends a shutdown signal to the head unit, which causes VHAL to send SHUTDOWN_PREPARE message to Android. Android will then start the shut down process by handling the message.

This property is only for issuing a request and only supports writing. Every time this property value is set, the request to shutdown is issued no matter what the current property value is. The current property value is meaningless.

Since this property is write-only, subscribing is not allowed and no property change event is generated.

The value to set indicates the shutdown option, it must be one of {@code VehicleApPowerStateShutdownParam} For example, VehicleApPowerStateShutdownParam.SLEEP_IMMEDIATELY. This shutdown option might not be honored if the system doesn't support such option. In such a case, an error is not returned.

For configuration information, VehiclePropConfig.configArray must have bit flag combining values in {@code VehicleApPowerStateConfigFlag} to indicate which shutdown options are supported.

Returns error if failed to send the shutdown request to the other system.

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

STEERING_WHEEL_DEPTH_MOVE

Steering wheel depth movement. The maxInt32Value and minInt32Value in VehicleAreaConfig must be defined. All values between minInt32Value and maxInt32Value must be supported.

The maxInt32Value indicates the steering wheel moving away from the driver. The minInt32Value indicates the steering wheel moving towards the driver.

Larger integers, either positive or negative, indicate a faster movement speed. Once the steering wheel reaches the positional limit, the value must reset to 0. If the value of STEERING_WHEEL_DEPTH_MOVE is currently 0, no movement is underway.

This property is represented as 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 14

STEERING_WHEEL_DEPTH_POS

Steering wheel depth position. All steering wheel properties' unique ids start from 0x0BE0.

The maxInt32Value and minInt32Value in VehicleAreaConfig must be defined. All values between minInt32Value and maxInt32Value must be supported. The maxInt32Value indicates the steering wheel position furthest from the driver. The minInt32Value indicates the steering wheel position closest to the driver.

Values in between minInt32Value and maxInt32Value indicate a transition state between the

This property is represented as a specified range of relative positions.

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

STEERING_WHEEL_EASY_ACCESS_ENABLED

Steering wheel easy access feature enabled. If true, the driver's steering wheel is automatically adjusted to make it easier for the driver to enter and exit the vehicle.

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

STEERING_WHEEL_HEIGHT_MOVE

Steering wheel height movement. The maxInt32Value and minInt32Value in VehicleAreaConfig must be defined. All values between minInt32Value and maxInt32Value must be supported.

The maxInt32Value indicates the steering wheel moving up. The minInt32Value indicates the steering wheel moving down.

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

This property is represented as 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 14

STEERING_WHEEL_HEIGHT_POS

Steering wheel height position.

The maxInt32Value and minInt32Value in VehicleAreaConfig must be defined. All values between minInt32Value and maxInt32Value must be supported. The maxInt32Value indicates the steering wheel being in the highest position. The minInt32Value indicates the steering wheel being in the lowest position.

Values in between minInt32Value and maxInt32Value indicate a transition state between the lowest and highest positions.

This property is represented as a specified range of relative positions.

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

STEERING_WHEEL_LIGHTS_STATE

Steering wheel lights state. Represents the current state of the steering wheel lights. This is different from STEERING_WHEEL_LIGHTS_SWITCH which represents the position of the switch controlling the lights. Therefore, STEERING_WHEEL_LIGHTS_STATE may not match the value of STEERING_WHEEL_LIGHTS_SWITCH (for example, STEERING_WHEEL_LIGHTS_SWITCH=AUTOMATIC and STEERING_WHEEL_LIGHTS_STATE=ON).

This property should only be implemented if STEERING_WHEEL_LIGHTS_STATE's value may be different from that of CABIN_LIGHTS_STATE.

For the global area ID (0), the VehicleAreaConfig#supportedEnumValues must be defined unless all enum values of VehicleLightState are supported.

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

STEERING_WHEEL_LIGHTS_SWITCH

Steering wheel lights switch. Represents the position of the switch controlling the steering wheel lights. This differs from , which represents the current state of the steering wheel lights. Therefore, STEERING_WHEEL_LIGHTS_SWITCH may not match the value of STEERING_WHEEL_LIGHTS_STATE. For example, STEERING_WHEEL_LIGHTS_SWITCH=AUTOMATIC and STEERING_WHEEL_LIGHTS_STATE=ON.

This property should only be implemented if the value for STEERING_WHEEL_LIGHTS_SWITCH can differ from that of CABIN_LIGHTS_SWITCH.

For the global area ID (0), the VehicleAreaConfig#supportedEnumValues must be defined unless all enum values of VehicleLightSwitch are supported.

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 14

STEERING_WHEEL_LOCKED

Steering wheel locked. If true, the steering wheel's position is locked and not changeable. This property is defined as VehiclePropertyAccess.READ_WRITE, but OEMs can implement it as only./p>

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

STEERING_WHEEL_THEFT_LOCK_ENABLED

Steering wheel theft lock feature enabled. If true, the steering wheel locks automatically to prevent theft in certain situations. 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

STORAGE_ENCRYPTION_BINDING_SEED

External encryption binding seed. This value is mixed with the local key storage encryption key. This property holds 16 bytes, and is expected to be persisted on an ECU separate from the IVI. The property is initially set by AAOS, who generates it using a CSRNG. AAOS then reads the property on subsequent boots. The binding seed is expected to be reliably persisted. Any loss of the seed results in a factory reset of the IVI.

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

SUPPORT_CUSTOMIZE_VENDOR_PERMISSION

Support customize permissions for vendor properties.

Implement this property if VHAL support customize vendor permissions feature. VehiclePropConfig.configArray is used to indicate vendor properties and permissions which selected for this vendor property. The permission must be one of enum in VehicleVendorPermission. The configArray is set as follows, configArray[n]: propId : property ID for the vendor property where configArray[n+1] is an enum in VehicleVendorPermission and indicates the permission for reading the value of the property.

configArray[n+2] is an enum in VehicleVendorPermission and indicates the permission for writing a value of the property. For example:

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

If vendor properties are not in this array, they have the default vendor permission. If vendor chose PERMISSION_NOT_ACCESSIBLE, Android does not have access to the property. In the example, Android can not write a value for vendor_prop_2.

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

SUPPORTED_PROPERTY_IDS

(Deprecated) List of all supported property IDs.

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

SWITCH_USER

Defines a request to switch the foreground Android user.

This property is used primarily by the Android system to inform the HAL that the current foreground Android user is switching, but it could also be used by the HAL to request the Android system to switch users. When the request is made by Android, it sets a VehiclePropValue and the HAL must respond with a property change event. When the HAL makes the request, it must also do it through a property change event (the main difference is that the request id is positive in the former case, and negative in the latter). The SwitchUserMessageType also differs.

The format of both requests is defined by SwitchUserRequest and the format of the response (when needed) is defined by SwitchUserResponse. How the HAL (or Android system) should proceed depends on the message type (which is defined by the SwitchUserMessageType parameter), as defined below.
  • LEGACY_ANDROID_SWITCH Called by the Android system to indicate the Android user is about to change, when the change request was made in a way that is not integrated with the HAL (for example, through adb shell am switch-user). The HAL can switch its internal user once it receives this request, but it doesn't need to reply back to the Android system. If its internal user cannot be changed for some reason, then it must wait for the SWITCH_USER(type=ANDROID_POST_SWITCH) call to recover (for example, it could issue a SWITCH_USER(type=VEHICLE_REQUEST) to switch back to the previous user). Ideally it should never fail (as switching back could confuse the end user).
    For example, if the system have users (0, 10, 11) and it's switching from 0 to 11 (where none of them have any special flag), the request would be:
    • int32[0] 42 // request id
    • int32[1] 1 // SwitchUserMessageType::LEGACY_ANDROID_SWITCH
    • int32[2] 11 // target user id
    • int32[3] 0 // target user flags (none)
    • int32[4] 10 // current user
    • int32[5] 0 // current user flags (none)
    • int32[6] 3 // number of users
    • int32[7] 0 // user #0 (Android user id 0)
    • int32[8] 0 // flags of user #0 (none)
    • int32[9] 10 // user #1 (Android user id 10)
    • int32[10] 0 // flags of user #1 (none)
    • int32[11] 11 // user #2 (Android user id 11)
    • int32[12] 0 // flags of user #2 (none)
  • ANDROID_SWITCH Called by the Android system to indicate the Android user is about to change, but Android waits for the HAL's response (up to some time) before proceeding. The HAL must switch its internal user once it receives this request, then respond back to Android with a SWITCH_USER(type=VEHICLE_RESPONSE) indicating whether its internal user was switched or not (through the SwitchUserStatus enum). For example, if Android has users (0, 10, 11) and it's switching from 10 to 11 (where none of them have any special flag), the request would be:
    • int32[0] 42 // request id
    • int32[1] 2 // SwitchUserMessageType::ANDROID_SWITCH
    • int32[2] 11 // target user id
    • int32[3] 0 // target user flags (none)
    • int32[4] 10 // current user
    • int32[5] 0 // current user flags (none)
    • int32[6] 3 // number of users
    • int32[7] 0 // first user (user 0)
    • int32[8] 1 // first user flags (SYSTEM)
    • int32[9] 10 // second user (user 10)
    • int32[10] 0 // second user flags (none)
    • int32[11] 11 // 3rd user (user 11)
    • int32[12] 0 // 3rd user flags (none)

    If the request succeeds, the HAL must update the property with:

    • int32[0] 42 // request id
    • int32[1] 3 // messageType: SwitchUserMessageType::VEHICLE_RESPONSE
    • int32[2] 1 // status: SwitchUserStatus::SUCCESS

    If the request fails, the response would be something like:

    • int32[0] 42 // request id
    • int32[1] 3 // messageType: SwitchUserMessageType::VEHICLE_RESPONSE
    • int32[2] 2 // status: SwitchUserStatus::FAILURE string: "108-D'OH!"
    • OEM-specific error message
  • VEHICLE_RESPONSE Called by the HAL to indicate whether a request of type ANDROID_SWITCH should proceed or abort. See also ANDROID_SWITCH.
  • VEHICLE_REQUEST Called by the HAL to request that the current foreground Android user is switched. This is useful in situations where Android started as one user, but the vehicle identified the driver as another user. For example, user A unlocked the car using the key fob of user B. The INITIAL_USER_INFO request returned user B, but then a face recognition subsubsystem identified the user as A. The HAL makes this request by a property change event (passing a negative request id), and the Android system response is to issue an ANDROID_POST_SWITCH call which the same request id. For example, if the current foreground Android user is 10 and the HAL asked to switch to 11, the request would be:
    • int32[0] -108 // request id
    • int32[1] 4 // messageType: SwitchUserMessageType::VEHICLE_REQUEST
    • int32[2] 11 // Android user id

    If the request succeeded and Android has three users (0, 10, and 11), the response would be:

    • int32[0] -108 // request id
    • int32[1] 5 // messageType: SwitchUserMessageType::ANDROID_POST_SWITCH
    • int32[2] 11 // target user id
    • int32[3] 0 // target user id flags (none)
    • int32[4] 11 // current user
    • int32[5] 0 // current user flags (none)
    • int32[6] 3 // number of users
    • int32[7] 0 // first user (user 0)
    • int32[8] 0 // first user flags (none)
    • int32[9] 10 // second user (user 10)
    • int32[10] 4 // second user flags (none)
    • int32[11] 11 // third user (user 11)
    • int32[12] 3 // third user flags (none)

    The current and target user ids are the same. If the request fails, then they would differ. For example, the target user would be 11 and the current user would remain 10.

  • ANDROID_POST_SWITCH Called by the Android system after a request to switch a user was made. This property is called after switch requests of any type (for example, >code>LEGACY_ANDROID_SWITCH, >code>ANDROID_SWITCH, or VEHICLE_REQUEST) and can be used to determine if the request succeeded or failed.
    • When it succeeds, it's called when the Android user is in the unlocked state and the value of the current and target users ids in the response are the same. This is equivalent to receiving an Intent.ACTION_USER_UNLOCKED in an Android app.
    • When it fails, it's called right away and the value of the current and target users ids in the response differ (since the current user didn't change to the target).
    • If a new switch request is made before the HAL responded to the previous one or before the user was unlocked, then the ANDROID_POST_SWITCH request is not made. For example, the driver might accidentally switch to the wrong user, which has lock credentials, and then switch to the correct user before entering the credentials.

    The HAL can update its internal state once it receives this request, but it needn't reply to the Android system.

    • Request. The first N values as defined by INITIAL_USER_INFO (where the request-specific value at index 1 is SwitchUserMessageType::ANDROID_POST_SWITCH), then two more values for the target user id (for example, the Android user id that was requested to be switched to) and its flags (as defined by UserFlags).
    • Response: none. For example, see VEHICLE_REQUEST

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

TIRE_PRESSURE

Tire pressure. Each tire is identified by its areaConfig.areaId config. The respective minFloatValue and maxFloatValue are used to store the OEM- recommended pressure range. Values for minFloatValue and maxFloatValue in VehicleAreaConfig must be defined.

The minFloatValue in the areaConfig data represents the lower bound of the recommended tire pressure. The maxFloatValue in the areaConfig data represents the upper bound of the recommended tire pressure. For example, this areaConfig indicates the recommended tire pressure of left_front tire as from 200.0kPa to 240.0kPa.

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

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

TIRE_PRESSURE_DISPLAY_UNITS

Tire pressure units for display. Indicates which units the car is using to display tire pressure to the user. For example, PSI, Bar or Kilopascal. VehiclePropConfig.configArray is used to indicate the supported pressure display units. Pressure units are defined in VehicleUnit. For example, configArray[0]: KILOPASCAL configArray[1]: PSI configArray[2]: BAR

If updating TIRE_PRESSURE_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 only./p>

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

TRACTION_CONTROL_ACTIVE

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

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

TRAILER_PRESENT

Returns the trailer state of the car.

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

TURN_SIGNAL_STATE

State of the vehicles turn signals.

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

USER_IDENTIFICATION_ASSOCIATION

Property used to associate (or query the association) the current user with vehicle-specific identification mechanisms (such as key FOB).

This is an optional user management property. The OEM can still support user management without defining it. In fact, this property could be used without supporting the core user-related functions described on INITIAL_USER_INFO.

To query the association, the Android system gets the property, passing a VehiclePropValue containing the types of associations are being queried, as defined by UserIdentificationGetRequest. The HAL must return right away, returning a VehiclePropValue with a UserIdentificationResponse.

Notice that user identification took place while the system was booting up. takehe VHAL implementation should only return the already identified association (such as the key FOB used to unlock the car), instead of starting a new association from the get call.

To associate types, the Android system sets the property, passing a VehiclePropValue containing the types and values of associations being set, as defined by the UserIdentificationSetRequest.

The HAL then uses a property change event (whose VehiclePropValue is defined by UserIdentificationResponse) indicating the current status of the types after the request.

For example, to query if the current user (10) is associated with the FOB that unlocked the car and a custom mechanism provided by the OEM, the request is:

  • int32[0] 42 // request id
  • int32[1] 10 (Android user id)
  • int32[2] 0 (Android user flags)
  • int32[3] 2 (number of types queried)
  • int32[4] 1 (first type queried, UserIdentificationAssociationType::KEY_FOB)
  • int32[5] 101 (second type queried, UserIdentificationAssociationType::CUSTOM_1)

If the user is associated with the FOB but not with the custom mechanism, the response is:

  • int32[0] 42 // request id
  • int32[1] 2 (number of associations in the response)
  • int32[2] 1 (first type: UserIdentificationAssociationType::KEY_FOB)
  • int32[3] 2 (first value: UserIdentificationAssociationValue::ASSOCIATED_CURRENT_USER)
  • int32[4] 101 (first type: UserIdentificationAssociationType::CUSTOM_1)
  • int32[5] 4 (second value: UserIdentificationAssociationValue::NOT_ASSOCIATED_ANY_USER)

Then to associate the user with the custom mechanism, a set request is made:

  • int32[0] 43 // request id
  • int32[1] 10 (Android user id)
  • int32[2] 0 (Android user flags)
  • int32[3] 1 (number of associations being set)
  • int32[4] 101 (first type: UserIdentificationAssociationType::CUSTOM_1)

If the request succeeded, the response would be:

  • int32[0] 43 // request id
  • int32[1] 1 (number of associations in the response)
  • int32[2] 101 (first type: UserIdentificationAssociationType::CUSTOM_1)
  • int32[3] 1 (first value: UserIdentificationAssociationValue::ASSOCIATED_CURRENT_USER)

The set request adds associations but doesn't remove the existing associations. In the previous example, the end state would be two associations (FOB and CUSTOM_1). To associate the user with just CUSTOM_1 but not FOB, then the request would have been:

  • int32[0] 43 // request id
  • int32[1] 10 (Android user id)
  • int32[2] 2 (number of types set)
  • int32[3] 1 (first type: UserIdentificationAssociationType::KEY_FOB)
  • int32[4] 2 (first value: UserIdentificationAssociationValue::DISASSOCIATE_CURRENT_USER)
  • int32[5] 101 (second type: UserIdentificationAssociationType::CUSTOM_1)
  • int32[6] 1 (second value: UserIdentificationAssociationValue::ASSOCIATE_CURRENT_USER)

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

VEHICLE_CURB_WEIGHT

Returns the vehicle's curb weight in kilograms. Curb weight is the total weight of the vehicle with standard equipment and all necessary operating consumables such as motor oil, transmission oil, brake fluid, coolant, air conditioning refrigerant, and weight of fuel at nominal tank capacity while not loaded with either passengers or cargo.

configArray[0] is used to specify the vehicle's gross weight in kilograms. The vehicle's gross weight is the maximum operating weight of the vehicle as specified by the manufacturer including the vehicle's chassis, body, engine, engine fluids, fuel, accessories, driver, passengers and cargo but excluding that of any trailers.

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

VEHICLE_IN_USE

Indicates if the vehicle is in use. In use means a human user is present and intendeds to use the vehicle. This doesn't necessarily mean the human user is in the vehicle. For example, if the human user unlocks the vehicle remotely, the vehicle is considered to be in use. If this property is supported:

  • Each time the user powers on the vehicle or the system detects the user is present, VEHICLE_IN_USE must be set to true. Each time the user powers off the vehicle or the system detects the user is not present, VEHICLE_IN_USE must be set to false.
  • If the user powers off the vehicle or the system detects the user is not present, VEHICLE_IN_USE must be set to false.
  • If the user powers on the vehicle or the system detects the user is present, VEHICLE_IN_USE must be set to true.

This property differs from AP_POWER_BOOTUP_REASON in the sense that AP_POWER_BOOTUP_REASON is only set once during system boot. However, this property might change multiple times during a system boot cycle. For example, a device is currently not in use. The system bootup to execute a remote task. VEHICLE_IN_USE is false. While the remote task is executing, the user enters the vehicle and powers on the vehicle. VEHICLE_IN_USE is set to true. After a driving session, user powers off the vehicle, VEHICLE_IN_USE is set to false.

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

VEHICLE_MAP_SERVICE

Vehicle Maps Service (VMS) message. This property uses MIXED data to communicate VMS messages. Its contents are to be interpreted as follows. The indices defined in VmsMessageIntegerValuesInde are used to read from int32Values. bytes is a serialized VMS message as defined in the VMS protocol, which is opaque to the framework. IVehicle#get must always return StatusCode::NOT_AVAILABLE.

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

VEHICLE_SPEED_DISPLAY_UNITS

Speed units for display. Indicates the type of units used to display speed to the user. For example, m/s, km/h, or mph. VehiclePropConfig.configArray indicates the supported speed display units. Pressure units are defined in VehicleUnit. For example:

.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

If updating VEHICLE_SPEED_DISPLAY_UNITS affects the values of other *_DISPLAY_UNITS properties, then those values must be updated and communicated to the AAOS framework.

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

VHAL_HEARTBEAT

Defines an event that VHAL signals to Car Watchdog as a heartbeat. If VHAL supports this property, VHAL should write system uptime to this property at every three seconds. Car Watchdog subscribes to this property and checks if the property is updated every three seconds. With the buffer time of three seconds, Car Watchdog waits for a heartbeat to be signaled up to six seconds from the last heartbeat. If not, Car Watchdog considers VHAL unhealthy and terminates it. If this property is not supported by VHAL, Car Watchdog doesn't check VHAL health status.

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

WATCHDOG_ALIVE

Defines an event that Car Watchdog updates to indicate it's active. Car Watchdog sets this property to system uptime in milliseconds at every three seconds. While booting, the update could take longer.

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

WATCHDOG_TERMINATED_PROCESS

Defines a process terminated by Car Watchdog and the reason for the termination.

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

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

WHEEL_TICK

Reports wheel ticks. The first element in the vector is a reset count. A reset indicates previous tick counts are not comparable with this and future ones. Some sort of discontinuity in tick counting has occurred.

The next four elements represent ticks for individual wheels in the following order:

  1. Front left
  2. Front right
  3. Rear right
  4. Rear left

All tick counts are cumulative. Tick counts increment when the vehicle moves forward, and decrement when the vehicle moves backward. The ticks should be reset to 0 when the vehicle is started.

  • int64Values[0] Reset count
  • int64Values[1] Front left ticks
  • int64Values[2] Front right ticks
  • int64Values[3] Rear right ticks
  • int64Values[4] Rear left ticks

configArray is used to indicate the micrometers-per-wheel-tick value and which wheels are supported configArray is set as follows:

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

Uses enum Wheel. For example, if all wheels are supported, then:

  • configArray[0] VehicleAreaWheel::LEFT_FRONT | VehicleAreaWheel::RIGHT_FRONT | VehicleAreaWheel::LEFT_REAR | VehicleAreaWheel::RIGHT_REAR
  • configArray[1] Micrometers per front left wheel tick
  • configArray[2] Micrometers per front right wheel tick
  • configArray[3] Micrometers per rear right wheel tick
  • configArray[4] Micrometers per rear left wheel tick.

If a wheel is not supported, its value shall always be set to 0.

The VehiclePropValue.timestamp must be filled in.

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

WINDOW_LOCK

Window child lock. True indicates the window is child-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

WINDOW_MOVE

Window move. The maxInt32Value and minInt32Value in each VehicleAreaConfig must be defined. All integers between minInt32Value and maxInt32Value must be supported. The maxInt32Value indicates the window is opening in plane/closing in the out of plane direction at the fastest speed. The minInt32Value indicates the window is closing in plane/opening in the out of plane direction at the fastest speed.

Larger absolute values, either positive or negative, indicate a faster movement speed. Once the window reaches the positional limit, the value must reset to 0. If the value of WINDOW_MOVE is 0, no movement is underway. This property is represented in a specified range of relative movement speeds.

For a window that may open out of plane (a vent mode of sunroof), this parameter works as follows. If:

  • Sunroof is open:
    • Max Open the sunroof further, stop automatically when fully open.
    • Min Close the sunroof, stop automatically when sunroof is closed.
  • Vent is open:
    • Max Close the vent, stop automatically stop when vent is closed.
    • Min Open the vent further, stop automatically when vent is fully open.
  • Sunroof is closed:
    • Max Open the sunroof, stop automatically when sunroof is fully open.
    • Min Open the vent, stop automatically when vent is fully 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

WINDOW_POS

Window position. The maxInt32Value and minInt32Value in each VehicleAreaConfig must be defined. All integers between minInt32Value and maxInt32Value must be supported. The minInt32Value indicates the window is closed or fully open out of plane. If the window cannot open out of plane, then minInt32Value is the position of the window when fully closed and must be 0. If the window can open out of plane, the minInt32Value indicates the window is fully open in its position out of plane and is a negative value. See the example below for a more detailed explanation. The maxInt32Value indicates the window is fully open.

Values in between minInt32Value and maxInt32Value indicate a transition state between the closed/fully open out-of-plane and fully open positions. This property is not in any specific unit but in a specified range of relative positions. For example, this is how the property should work for a window that can move out of plane: For a window that may open out of plane (vent mode of sunroof) this parameter works with negative values as follows:

  • Max Sunroof fully open (0 for sunroof closed).
  • Min Sunroof vent fully open (0 for sunroof closed).
In this mode, 0 indicates the window is closed.

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

WINDSHIELD_WIPERS_PERIOD

Windshield wipers period (milliseconds). Returns the instantaneous time period for one full cycle of the windshield wipers in milliseconds. A full cycle is defined as a wiper moving from and returning to the rest position. When an intermittent wiper setting is selected, this property value must be set to 0 during the pause period of the intermittent wiping. The maxInt32Value and minInt32Value in VehicleAreaConfig must be defined. The maxInt32Value for each area ID must specify the longest wiper period. The minInt32Value must be set to 0 for each area ID.

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

WINDSHIELD_WIPERS_STATE

Windshield wipers state. Returns the current state of the windshield wipers. The value of WINDSHIELD_WIPERS_STATE may not match the value of WINDSHIELD_WIPERS_SWITCH For example, WINDSHIELD_WIPERS_STATE: ON and WINDSHIELD_WIPERS_SWITCH: WindshieldWipersSwitch#AUTO If WINDSHIELD_WIPERS_STATE: ON and WINDSHIELD_WIPERS_PERIOD is implemented, then WINDSHIELD_WIPERS_PERIOD must reflect the time period of one full cycle of the wipers.

For each supported area ID, the VehicleAreaConfig#supportedEnumValues array must be defined unless all states in WindshieldWipersState are supported (including OTHER, which is not recommended).

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

WINDSHIELD_WIPERS_SWITCH

Windshield wipers switch. Represents the position of the switch controlling the windshield wipers. The value of WINDSHIELD_WIPERS_SWITCH may not match the value of WINDSHIELD_WIPERS_STATE For example, WINDSHIELD_WIPERS_SWITCH: AUTO and WINDSHIELD_WIPERS_STATE: WindshieldWipersState#ON For each supported area ID, the VehicleAreaConfig#supportedEnumValues array must be defined unless all states in WindshieldWipersSwitch are supported (including OTHER, which is not recommended).

This property is defined as VehiclePropertyAccess.READ_WRITE, but OEMs can implement it as VehiclePropertyAccess.READ only. If this property is implemented as VehiclePropertyAccess.READ_WRITE and the OTHER state is listed in the VehicleAreaConfig#supportedEnumValues array, then OTHER is not a supported value for writing It is only a supported value for reading.

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