Merge "Basic target VTS test for broadcast radio HAL"
diff --git a/nfc/1.0/vts/functional/vts/testcases/hal/nfc/hidl/host/passthrough/NfcHidlPassthroughBasicTest.config b/nfc/1.0/vts/functional/vts/testcases/hal/nfc/hidl/host/passthrough/NfcHidlPassthroughBasicTest.config
index be540a5..3e957e3 100644
--- a/nfc/1.0/vts/functional/vts/testcases/hal/nfc/hidl/host/passthrough/NfcHidlPassthroughBasicTest.config
+++ b/nfc/1.0/vts/functional/vts/testcases/hal/nfc/hidl/host/passthrough/NfcHidlPassthroughBasicTest.config
@@ -1,6 +1,6 @@
{
"passthrough_mode": True,
"modules": ["system/lib64/hw/nfc_nci.bullhead"],
- "git_project_path": "external/libnfc-nci",
- "git_project_name": "platform/external/libnfc-nci"
+ "git_project_path": "system/nfc",
+ "git_project_name": "platform/system/nfc"
}
diff --git a/nfc/1.0/vts/functional/vts/testcases/hal/nfc/hidl/target/AndroidTest.xml b/nfc/1.0/vts/functional/vts/testcases/hal/nfc/hidl/target/AndroidTest.xml
index f692011..ee02488 100644
--- a/nfc/1.0/vts/functional/vts/testcases/hal/nfc/hidl/target/AndroidTest.xml
+++ b/nfc/1.0/vts/functional/vts/testcases/hal/nfc/hidl/target/AndroidTest.xml
@@ -26,6 +26,6 @@
"/>
<option name="test-config-path" value="vts/testcases/hal/nfc/hidl/target/HalNfcHidlTargetBasicTest.config" />
<option name="binary-test-type" value="gtest" />
- <option name="test-timeout" value="1m" />
+ <option name="test-timeout" value="10m" />
</test>
</configuration>
diff --git a/nfc/1.0/vts/functional/vts/testcases/hal/nfc/hidl/target/HalNfcHidlTargetBasicTest.config b/nfc/1.0/vts/functional/vts/testcases/hal/nfc/hidl/target/HalNfcHidlTargetBasicTest.config
index 65009e4..60623b1 100644
--- a/nfc/1.0/vts/functional/vts/testcases/hal/nfc/hidl/target/HalNfcHidlTargetBasicTest.config
+++ b/nfc/1.0/vts/functional/vts/testcases/hal/nfc/hidl/target/HalNfcHidlTargetBasicTest.config
@@ -1,5 +1,5 @@
{
"modules": ["system/lib64/hw/nfc_nci.bullhead"],
- "git_project_path": "external/libnfc-nci",
- "git_project_name": "platform/external/libnfc-nci"
-}
\ No newline at end of file
+ "git_project_path": "system/nfc",
+ "git_project_name": "platform/system/nfc"
+}
diff --git a/nfc/1.0/vts/functional/vts/testcases/hal/nfc/hidl/target_profiling/AndroidTest.xml b/nfc/1.0/vts/functional/vts/testcases/hal/nfc/hidl/target_profiling/AndroidTest.xml
index 11aa88f..da6cf22 100644
--- a/nfc/1.0/vts/functional/vts/testcases/hal/nfc/hidl/target_profiling/AndroidTest.xml
+++ b/nfc/1.0/vts/functional/vts/testcases/hal/nfc/hidl/target_profiling/AndroidTest.xml
@@ -25,7 +25,7 @@
_64bit::DATA/nativetest64/nfc_hidl_hal_test/nfc_hidl_hal_test,
"/>
<option name="binary-test-type" value="gtest" />
- <option name="test-timeout" value="1m" />
+ <option name="test-timeout" value="10m" />
<option name="enable-profiling" value="true" />
</test>
</configuration>
diff --git a/tv/cec/1.0/vts/Android.mk b/tv/cec/1.0/vts/Android.mk
new file mode 100644
index 0000000..2666ca6
--- /dev/null
+++ b/tv/cec/1.0/vts/Android.mk
@@ -0,0 +1,118 @@
+#
+# Copyright (C) 2016 The Android Open Source Project
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+
+LOCAL_PATH := $(call my-dir)
+
+# build VTS driver for TvCec v1.0.
+include $(CLEAR_VARS)
+
+LOCAL_MODULE := libvts_driver_hidl_tv_hdmi_cec@1.0
+
+LOCAL_SRC_FILES := \
+ HdmiCec.vts \
+ HdmiCecCallback.vts \
+ types.vts \
+
+LOCAL_SHARED_LIBRARIES += \
+ android.hardware.tv.cec@1.0 \
+ libbase \
+ libutils \
+ libcutils \
+ liblog \
+ libhidlbase \
+ libhidltransport \
+ libhwbinder \
+ libprotobuf-cpp-full \
+ libvts_common \
+ libvts_datatype \
+ libvts_measurement \
+ libvts_multidevice_proto \
+
+LOCAL_PROTOC_OPTIMIZE_TYPE := full
+
+LOCAL_MULTILIB := both
+
+include $(BUILD_SHARED_LIBRARY)
+
+
+# build VTS profiler for HdmiCec
+include $(CLEAR_VARS)
+
+LOCAL_MODULE := libvts_profiler_hidl_tv_hdmi_cec@1.0
+
+LOCAL_SRC_FILES := \
+ HdmiCec.vts \
+ types.vts \
+
+LOCAL_C_INCLUDES += \
+ test/vts/drivers/libprofiling \
+
+LOCAL_VTS_MODE := PROFILER
+
+LOCAL_SHARED_LIBRARIES += \
+ android.hardware.tv.cec@1.0 \
+ libbase \
+ libcutils \
+ liblog \
+ libhidlbase \
+ libhidltransport \
+ libhwbinder \
+ libprotobuf-cpp-full \
+ libvts_common \
+ libvts_multidevice_proto \
+ libvts_profiling \
+ libutils \
+
+LOCAL_PROTOC_OPTIMIZE_TYPE := full
+
+LOCAL_MULTILIB := both
+
+include $(BUILD_SHARED_LIBRARY)
+
+
+# build VTS profiler for HdmiCecCallback
+include $(CLEAR_VARS)
+
+LOCAL_MODULE := libvts_profiler_hidl_tv_hdmi_cec_callback_@1.0
+
+LOCAL_SRC_FILES := \
+ HdmiCecCallback.vts \
+ types.vts \
+
+LOCAL_C_INCLUDES += \
+ test/vts/drivers/libprofiling \
+
+LOCAL_VTS_MODE := PROFILER
+
+LOCAL_SHARED_LIBRARIES += \
+ android.hardware.tv.cec@1.0 \
+ libbase \
+ libcutils \
+ liblog \
+ libhidlbase \
+ libhidltransport \
+ libhwbinder \
+ libprotobuf-cpp-full \
+ libvts_common \
+ libvts_multidevice_proto \
+ libvts_profiling \
+ libutils \
+
+LOCAL_PROTOC_OPTIMIZE_TYPE := full
+
+LOCAL_MULTILIB := both
+
+include $(BUILD_SHARED_LIBRARY)
\ No newline at end of file
diff --git a/tv/cec/1.0/vts/HdmiCec.vts b/tv/cec/1.0/vts/HdmiCec.vts
new file mode 100644
index 0000000..d7d09de
--- /dev/null
+++ b/tv/cec/1.0/vts/HdmiCec.vts
@@ -0,0 +1,172 @@
+component_class: HAL_HIDL
+component_type_version: 1.0
+component_name: "IHdmiCec"
+
+package: "android.hardware.tv.cec"
+
+import: "android.hardware.tv.cec@1.0::IHdmiCecCallback"
+import: "android.hardware.tv.cec@1.0::types"
+
+interface: {
+ api: {
+ name: "addLogicalAddress"
+ return_type_hidl: {
+ type: TYPE_ENUM
+ predefined_type: "::android::hardware::tv::cec::V1_0::Result"
+ }
+ arg: {
+ type: TYPE_ENUM
+ predefined_type: "::android::hardware::tv::cec::V1_0::CecLogicalAddress"
+ }
+ callflow: {
+ next: "*"
+ }
+ }
+
+ api: {
+ name: "clearLogicalAddress"
+ callflow: {
+ next: "addLogicalAddress"
+ }
+ callflow: {
+ exit: true
+ }
+ }
+
+ api: {
+ name: "getPhysicalAddress"
+ return_type_hidl: {
+ type: TYPE_ENUM
+ predefined_type: "::android::hardware::tv::cec::V1_0::Result"
+ }
+ return_type_hidl: {
+ type: TYPE_SCALAR
+ scalar_type: "uint16_t"
+ }
+ callflow: {
+ next: "*"
+ }
+ }
+
+ api: {
+ name: "sendMessage"
+ return_type_hidl: {
+ type: TYPE_ENUM
+ predefined_type: "::android::hardware::tv::cec::V1_0::SendMessageResult"
+ }
+ arg: {
+ type: TYPE_STRUCT
+ predefined_type: "::android::hardware::tv::cec::V1_0::CecMessage"
+ }
+ callflow: {
+ next: "*"
+ }
+ }
+
+ api: {
+ name: "setCallback"
+ arg: {
+ type: TYPE_HIDL_CALLBACK
+ predefined_type: "IHdmiCecCallback"
+ is_callback: true
+ }
+ callflow: {
+ next: "addLogicalAddress"
+ }
+ callflow: {
+ entry: true
+ }
+ }
+
+ api: {
+ name: "getCecVersion"
+ return_type_hidl: {
+ type: TYPE_SCALAR
+ scalar_type: "int32_t"
+ }
+ callflow: {
+ next: "*"
+ }
+ }
+
+ api: {
+ name: "getVendorId"
+ return_type_hidl: {
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ callflow: {
+ next: "*"
+ }
+ }
+
+ api: {
+ name: "getPortInfo"
+ return_type_hidl: {
+ type: TYPE_VECTOR
+ vector_value: {
+ type: TYPE_STRUCT
+ predefined_type: "::android::hardware::tv::cec::V1_0::HdmiPortInfo"
+ }
+ }
+ callflow: {
+ next: "*"
+ }
+ }
+
+ api: {
+ name: "setOption"
+ arg: {
+ type: TYPE_ENUM
+ predefined_type: "::android::hardware::tv::cec::V1_0::OptionKey"
+ }
+ arg: {
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ callflow: {
+ next: "*"
+ }
+ }
+
+ api: {
+ name: "setLanguage"
+ arg: {
+ type: TYPE_STRING
+ }
+ callflow: {
+ next: "*"
+ }
+ }
+
+ api: {
+ name: "enableAudioReturnChannel"
+ arg: {
+ type: TYPE_SCALAR
+ scalar_type: "int32_t"
+ }
+ arg: {
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ callflow: {
+ next: "*"
+ }
+ }
+
+ api: {
+ name: "isConnected"
+ return_type_hidl: {
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ arg: {
+ type: TYPE_SCALAR
+ scalar_type: "int32_t"
+ }
+ callflow: {
+ next: "*"
+ }
+ }
+
+}
diff --git a/tv/cec/1.0/vts/HdmiCecCallback.vts b/tv/cec/1.0/vts/HdmiCecCallback.vts
new file mode 100644
index 0000000..864e6f5
--- /dev/null
+++ b/tv/cec/1.0/vts/HdmiCecCallback.vts
@@ -0,0 +1,26 @@
+component_class: HAL_HIDL
+component_type_version: 1.0
+component_name: "IHdmiCecCallback"
+
+package: "android.hardware.tv.cec"
+
+import: "android.hardware.tv.cec@1.0::types"
+
+interface: {
+ api: {
+ name: "onCecMessage"
+ arg: {
+ type: TYPE_STRUCT
+ predefined_type: "::android::hardware::tv::cec::V1_0::CecMessage"
+ }
+ }
+
+ api: {
+ name: "onHotplugEvent"
+ arg: {
+ type: TYPE_STRUCT
+ predefined_type: "::android::hardware::tv::cec::V1_0::HotplugEvent"
+ }
+ }
+
+}
diff --git a/tv/cec/1.0/vts/types.vts b/tv/cec/1.0/vts/types.vts
new file mode 100644
index 0000000..ae972a5
--- /dev/null
+++ b/tv/cec/1.0/vts/types.vts
@@ -0,0 +1,604 @@
+component_class: HAL_HIDL
+component_type_version: 1.0
+component_name: "types"
+
+package: "android.hardware.tv.cec"
+
+
+attribute: {
+ name: "::android::hardware::tv::cec::V1_0::MaxLength"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "int32_t"
+
+ enumerator: "MESSAGE_BODY"
+ scalar_value: {
+ int32_t: 15
+ }
+ }
+}
+
+attribute: {
+ name: "::android::hardware::tv::cec::V1_0::CecDeviceType"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "int32_t"
+
+ enumerator: "INACTIVE"
+ scalar_value: {
+ int32_t: -1
+ }
+ enumerator: "TV"
+ scalar_value: {
+ int32_t: 0
+ }
+ enumerator: "RECORDER"
+ scalar_value: {
+ int32_t: 1
+ }
+ enumerator: "TUNER"
+ scalar_value: {
+ int32_t: 3
+ }
+ enumerator: "PLAYBACK"
+ scalar_value: {
+ int32_t: 4
+ }
+ enumerator: "AUDIO_SYSTEM"
+ scalar_value: {
+ int32_t: 5
+ }
+ enumerator: "MAX"
+ scalar_value: {
+ int32_t: 5
+ }
+ }
+}
+
+attribute: {
+ name: "::android::hardware::tv::cec::V1_0::CecLogicalAddress"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "int32_t"
+
+ enumerator: "TV"
+ scalar_value: {
+ int32_t: 0
+ }
+ enumerator: "RECORDER_1"
+ scalar_value: {
+ int32_t: 1
+ }
+ enumerator: "RECORDER_2"
+ scalar_value: {
+ int32_t: 2
+ }
+ enumerator: "TUNER_1"
+ scalar_value: {
+ int32_t: 3
+ }
+ enumerator: "PLAYBACK_1"
+ scalar_value: {
+ int32_t: 4
+ }
+ enumerator: "AUDIO_SYSTEM"
+ scalar_value: {
+ int32_t: 5
+ }
+ enumerator: "TUNER_2"
+ scalar_value: {
+ int32_t: 6
+ }
+ enumerator: "TUNER_3"
+ scalar_value: {
+ int32_t: 7
+ }
+ enumerator: "PLAYBACK_2"
+ scalar_value: {
+ int32_t: 8
+ }
+ enumerator: "RECORDER_3"
+ scalar_value: {
+ int32_t: 9
+ }
+ enumerator: "TUNER_4"
+ scalar_value: {
+ int32_t: 10
+ }
+ enumerator: "PLAYBACK_3"
+ scalar_value: {
+ int32_t: 11
+ }
+ enumerator: "FREE_USE"
+ scalar_value: {
+ int32_t: 14
+ }
+ enumerator: "UNREGISTERED"
+ scalar_value: {
+ int32_t: 15
+ }
+ enumerator: "BROADCAST"
+ scalar_value: {
+ int32_t: 15
+ }
+ }
+}
+
+attribute: {
+ name: "::android::hardware::tv::cec::V1_0::CecMessageType"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "int32_t"
+
+ enumerator: "FEATURE_ABORT"
+ scalar_value: {
+ int32_t: 0
+ }
+ enumerator: "IMAGE_VIEW_ON"
+ scalar_value: {
+ int32_t: 4
+ }
+ enumerator: "TUNER_STEP_INCREMENT"
+ scalar_value: {
+ int32_t: 5
+ }
+ enumerator: "TUNER_STEP_DECREMENT"
+ scalar_value: {
+ int32_t: 6
+ }
+ enumerator: "TUNER_DEVICE_STATUS"
+ scalar_value: {
+ int32_t: 7
+ }
+ enumerator: "GIVE_TUNER_DEVICE_STATUS"
+ scalar_value: {
+ int32_t: 8
+ }
+ enumerator: "RECORD_ON"
+ scalar_value: {
+ int32_t: 9
+ }
+ enumerator: "RECORD_STATUS"
+ scalar_value: {
+ int32_t: 10
+ }
+ enumerator: "RECORD_OFF"
+ scalar_value: {
+ int32_t: 11
+ }
+ enumerator: "TEXT_VIEW_ON"
+ scalar_value: {
+ int32_t: 13
+ }
+ enumerator: "RECORD_TV_SCREEN"
+ scalar_value: {
+ int32_t: 15
+ }
+ enumerator: "GIVE_DECK_STATUS"
+ scalar_value: {
+ int32_t: 26
+ }
+ enumerator: "DECK_STATUS"
+ scalar_value: {
+ int32_t: 27
+ }
+ enumerator: "SET_MENU_LANGUAGE"
+ scalar_value: {
+ int32_t: 50
+ }
+ enumerator: "CLEAR_ANALOG_TIMER"
+ scalar_value: {
+ int32_t: 51
+ }
+ enumerator: "SET_ANALOG_TIMER"
+ scalar_value: {
+ int32_t: 52
+ }
+ enumerator: "TIMER_STATUS"
+ scalar_value: {
+ int32_t: 53
+ }
+ enumerator: "STANDBY"
+ scalar_value: {
+ int32_t: 54
+ }
+ enumerator: "PLAY"
+ scalar_value: {
+ int32_t: 65
+ }
+ enumerator: "DECK_CONTROL"
+ scalar_value: {
+ int32_t: 66
+ }
+ enumerator: "TIMER_CLEARED_STATUS"
+ scalar_value: {
+ int32_t: 67
+ }
+ enumerator: "USER_CONTROL_PRESSED"
+ scalar_value: {
+ int32_t: 68
+ }
+ enumerator: "USER_CONTROL_RELEASED"
+ scalar_value: {
+ int32_t: 69
+ }
+ enumerator: "GIVE_OSD_NAME"
+ scalar_value: {
+ int32_t: 70
+ }
+ enumerator: "SET_OSD_NAME"
+ scalar_value: {
+ int32_t: 71
+ }
+ enumerator: "SET_OSD_STRING"
+ scalar_value: {
+ int32_t: 100
+ }
+ enumerator: "SET_TIMER_PROGRAM_TITLE"
+ scalar_value: {
+ int32_t: 103
+ }
+ enumerator: "SYSTEM_AUDIO_MODE_REQUEST"
+ scalar_value: {
+ int32_t: 112
+ }
+ enumerator: "GIVE_AUDIO_STATUS"
+ scalar_value: {
+ int32_t: 113
+ }
+ enumerator: "SET_SYSTEM_AUDIO_MODE"
+ scalar_value: {
+ int32_t: 114
+ }
+ enumerator: "REPORT_AUDIO_STATUS"
+ scalar_value: {
+ int32_t: 122
+ }
+ enumerator: "GIVE_SYSTEM_AUDIO_MODE_STATUS"
+ scalar_value: {
+ int32_t: 125
+ }
+ enumerator: "SYSTEM_AUDIO_MODE_STATUS"
+ scalar_value: {
+ int32_t: 126
+ }
+ enumerator: "ROUTING_CHANGE"
+ scalar_value: {
+ int32_t: 128
+ }
+ enumerator: "ROUTING_INFORMATION"
+ scalar_value: {
+ int32_t: 129
+ }
+ enumerator: "ACTIVE_SOURCE"
+ scalar_value: {
+ int32_t: 130
+ }
+ enumerator: "GIVE_PHYSICAL_ADDRESS"
+ scalar_value: {
+ int32_t: 131
+ }
+ enumerator: "REPORT_PHYSICAL_ADDRESS"
+ scalar_value: {
+ int32_t: 132
+ }
+ enumerator: "REQUEST_ACTIVE_SOURCE"
+ scalar_value: {
+ int32_t: 133
+ }
+ enumerator: "SET_STREAM_PATH"
+ scalar_value: {
+ int32_t: 134
+ }
+ enumerator: "DEVICE_VENDOR_ID"
+ scalar_value: {
+ int32_t: 135
+ }
+ enumerator: "VENDOR_COMMAND"
+ scalar_value: {
+ int32_t: 137
+ }
+ enumerator: "VENDOR_REMOTE_BUTTON_DOWN"
+ scalar_value: {
+ int32_t: 138
+ }
+ enumerator: "VENDOR_REMOTE_BUTTON_UP"
+ scalar_value: {
+ int32_t: 139
+ }
+ enumerator: "GIVE_DEVICE_VENDOR_ID"
+ scalar_value: {
+ int32_t: 140
+ }
+ enumerator: "MENU_REQUEST"
+ scalar_value: {
+ int32_t: 141
+ }
+ enumerator: "MENU_STATUS"
+ scalar_value: {
+ int32_t: 142
+ }
+ enumerator: "GIVE_DEVICE_POWER_STATUS"
+ scalar_value: {
+ int32_t: 143
+ }
+ enumerator: "REPORT_POWER_STATUS"
+ scalar_value: {
+ int32_t: 144
+ }
+ enumerator: "GET_MENU_LANGUAGE"
+ scalar_value: {
+ int32_t: 145
+ }
+ enumerator: "SELECT_ANALOG_SERVICE"
+ scalar_value: {
+ int32_t: 146
+ }
+ enumerator: "SELECT_DIGITAL_SERVICE"
+ scalar_value: {
+ int32_t: 147
+ }
+ enumerator: "SET_DIGITAL_TIMER"
+ scalar_value: {
+ int32_t: 151
+ }
+ enumerator: "CLEAR_DIGITAL_TIMER"
+ scalar_value: {
+ int32_t: 153
+ }
+ enumerator: "SET_AUDIO_RATE"
+ scalar_value: {
+ int32_t: 154
+ }
+ enumerator: "INACTIVE_SOURCE"
+ scalar_value: {
+ int32_t: 157
+ }
+ enumerator: "CEC_VERSION"
+ scalar_value: {
+ int32_t: 158
+ }
+ enumerator: "GET_CEC_VERSION"
+ scalar_value: {
+ int32_t: 159
+ }
+ enumerator: "VENDOR_COMMAND_WITH_ID"
+ scalar_value: {
+ int32_t: 160
+ }
+ enumerator: "CLEAR_EXTERNAL_TIMER"
+ scalar_value: {
+ int32_t: 161
+ }
+ enumerator: "SET_EXTERNAL_TIMER"
+ scalar_value: {
+ int32_t: 162
+ }
+ enumerator: "INITIATE_ARC"
+ scalar_value: {
+ int32_t: 192
+ }
+ enumerator: "REPORT_ARC_INITIATED"
+ scalar_value: {
+ int32_t: 193
+ }
+ enumerator: "REPORT_ARC_TERMINATED"
+ scalar_value: {
+ int32_t: 194
+ }
+ enumerator: "REQUEST_ARC_INITIATION"
+ scalar_value: {
+ int32_t: 195
+ }
+ enumerator: "REQUEST_ARC_TERMINATION"
+ scalar_value: {
+ int32_t: 196
+ }
+ enumerator: "TERMINATE_ARC"
+ scalar_value: {
+ int32_t: 197
+ }
+ enumerator: "ABORT"
+ scalar_value: {
+ int32_t: 255
+ }
+ }
+}
+
+attribute: {
+ name: "::android::hardware::tv::cec::V1_0::AbortReason"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "int32_t"
+
+ enumerator: "UNRECOGNIZED_MODE"
+ scalar_value: {
+ int32_t: 0
+ }
+ enumerator: "NOT_IN_CORRECT_MODE"
+ scalar_value: {
+ int32_t: 1
+ }
+ enumerator: "CANNOT_PROVIDE_SOURCE"
+ scalar_value: {
+ int32_t: 2
+ }
+ enumerator: "INVALID_OPERAND"
+ scalar_value: {
+ int32_t: 3
+ }
+ enumerator: "REFUSED"
+ scalar_value: {
+ int32_t: 4
+ }
+ enumerator: "UNABLE_TO_DETERMINE"
+ scalar_value: {
+ int32_t: 5
+ }
+ }
+}
+
+attribute: {
+ name: "::android::hardware::tv::cec::V1_0::Result"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "int32_t"
+
+ enumerator: "SUCCESS"
+ scalar_value: {
+ int32_t: 0
+ }
+ enumerator: "FAILURE_UNKNOWN"
+ scalar_value: {
+ int32_t: 1
+ }
+ enumerator: "FAILURE_INVALID_ARGS"
+ scalar_value: {
+ int32_t: 2
+ }
+ enumerator: "FAILURE_INVALID_STATE"
+ scalar_value: {
+ int32_t: 3
+ }
+ enumerator: "FAILURE_NOT_SUPPORTED"
+ scalar_value: {
+ int32_t: 4
+ }
+ enumerator: "FAILURE_BUSY"
+ scalar_value: {
+ int32_t: 5
+ }
+ }
+}
+
+attribute: {
+ name: "::android::hardware::tv::cec::V1_0::SendMessageResult"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "int32_t"
+
+ enumerator: "SUCCESS"
+ scalar_value: {
+ int32_t: 0
+ }
+ enumerator: "NACK"
+ scalar_value: {
+ int32_t: 1
+ }
+ enumerator: "BUSY"
+ scalar_value: {
+ int32_t: 2
+ }
+ enumerator: "FAIL"
+ scalar_value: {
+ int32_t: 3
+ }
+ }
+}
+
+attribute: {
+ name: "::android::hardware::tv::cec::V1_0::HdmiPortType"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "int32_t"
+
+ enumerator: "INPUT"
+ scalar_value: {
+ int32_t: 0
+ }
+ enumerator: "OUTPUT"
+ scalar_value: {
+ int32_t: 1
+ }
+ }
+}
+
+attribute: {
+ name: "::android::hardware::tv::cec::V1_0::OptionKey"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "int32_t"
+
+ enumerator: "WAKEUP"
+ scalar_value: {
+ int32_t: 1
+ }
+ enumerator: "ENABLE_CEC"
+ scalar_value: {
+ int32_t: 2
+ }
+ enumerator: "SYSTEM_CEC_CONTROL"
+ scalar_value: {
+ int32_t: 3
+ }
+ }
+}
+
+attribute: {
+ name: "::android::hardware::tv::cec::V1_0::CecMessage"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "initiator"
+ type: TYPE_ENUM
+ predefined_type: "::android::hardware::tv::cec::V1_0::CecLogicalAddress"
+ }
+ struct_value: {
+ name: "destination"
+ type: TYPE_ENUM
+ predefined_type: "::android::hardware::tv::cec::V1_0::CecLogicalAddress"
+ }
+ struct_value: {
+ name: "body"
+ type: TYPE_VECTOR
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+}
+
+attribute: {
+ name: "::android::hardware::tv::cec::V1_0::HotplugEvent"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "connected"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "portId"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+}
+
+attribute: {
+ name: "::android::hardware::tv::cec::V1_0::HdmiPortInfo"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "type"
+ type: TYPE_ENUM
+ predefined_type: "::android::hardware::tv::cec::V1_0::HdmiPortType"
+ }
+ struct_value: {
+ name: "portId"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "cecSupported"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "arcSupported"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "physicalAddress"
+ type: TYPE_SCALAR
+ scalar_type: "uint16_t"
+ }
+}
+
diff --git a/tv/input/1.0/vts/Android.mk b/tv/input/1.0/vts/Android.mk
new file mode 100644
index 0000000..f8610dd
--- /dev/null
+++ b/tv/input/1.0/vts/Android.mk
@@ -0,0 +1,122 @@
+#
+# Copyright (C) 2016 The Android Open Source Project
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+
+LOCAL_PATH := $(call my-dir)
+
+# build VTS driver for TvInput v1.0.
+include $(CLEAR_VARS)
+
+LOCAL_MODULE := libvts_driver_hidl_tv_input@1.0
+
+LOCAL_SRC_FILES := \
+ TvInput.vts \
+ TvInputCallback.vts \
+ types.vts \
+ ../../../../audio/common/2.0/vts/types.vts \
+
+LOCAL_SHARED_LIBRARIES += \
+ android.hardware.tv.input@1.0 \
+ libbase \
+ libutils \
+ libcutils \
+ liblog \
+ libhidlbase \
+ libhidltransport \
+ libhwbinder \
+ libprotobuf-cpp-full \
+ libvts_common \
+ libvts_datatype \
+ libvts_measurement \
+ libvts_multidevice_proto \
+
+LOCAL_PROTOC_OPTIMIZE_TYPE := full
+
+LOCAL_MULTILIB := both
+
+include $(BUILD_SHARED_LIBRARY)
+
+
+# build VTS profiler for TvInput
+include $(CLEAR_VARS)
+
+LOCAL_MODULE := libvts_profiler_hidl_tv_input@1.0
+
+LOCAL_SRC_FILES := \
+ TvInput.vts \
+ types.vts \
+ ../../../../audio/common/2.0/vts/types.vts \
+
+LOCAL_C_INCLUDES += \
+ test/vts/drivers/libprofiling \
+
+LOCAL_VTS_MODE := PROFILER
+
+LOCAL_SHARED_LIBRARIES += \
+ android.hardware.tv.input@1.0 \
+ libbase \
+ libcutils \
+ liblog \
+ libhidlbase \
+ libhidltransport \
+ libhwbinder \
+ libprotobuf-cpp-full \
+ libvts_common \
+ libvts_multidevice_proto \
+ libvts_profiling \
+ libutils \
+
+LOCAL_PROTOC_OPTIMIZE_TYPE := full
+
+LOCAL_MULTILIB := both
+
+include $(BUILD_SHARED_LIBRARY)
+
+
+# build VTS profiler for TvInputCallback
+include $(CLEAR_VARS)
+
+LOCAL_MODULE := libvts_profiler_hidl_tv_input_callback_@1.0
+
+LOCAL_SRC_FILES := \
+ TvInputCallback.vts \
+ types.vts \
+ ../../../../audio/common/2.0/vts/types.vts \
+
+LOCAL_C_INCLUDES += \
+ test/vts/drivers/libprofiling \
+
+LOCAL_VTS_MODE := PROFILER
+
+LOCAL_SHARED_LIBRARIES += \
+ android.hardware.tv.input@1.0 \
+ libbase \
+ libcutils \
+ liblog \
+ libhidlbase \
+ libhidltransport \
+ libhwbinder \
+ libprotobuf-cpp-full \
+ libvts_common \
+ libvts_multidevice_proto \
+ libvts_profiling \
+ libutils \
+
+LOCAL_PROTOC_OPTIMIZE_TYPE := full
+
+LOCAL_MULTILIB := both
+
+include $(BUILD_SHARED_LIBRARY)
+
diff --git a/tv/input/1.0/vts/TvInput.vts b/tv/input/1.0/vts/TvInput.vts
new file mode 100644
index 0000000..638fd08
--- /dev/null
+++ b/tv/input/1.0/vts/TvInput.vts
@@ -0,0 +1,97 @@
+component_class: HAL_HIDL
+component_type_version: 1.0
+component_name: "ITvInput"
+
+package: "android.hardware.tv.input"
+
+import: "android.hardware.tv.input@1.0::ITvInputCallback"
+import: "android.hardware.tv.input@1.0::types"
+
+interface: {
+ api: {
+ name: "setCallback"
+ arg: {
+ type: TYPE_HIDL_CALLBACK
+ predefined_type: "ITvInputCallback"
+ is_callback: true
+ }
+ callflow: {
+ entry: true
+ }
+ callflow: {
+ exit: true
+ }
+ callflow: {
+ next: "getStreamConfigurations"
+ }
+ }
+
+ api: {
+ name: "getStreamConfigurations"
+ return_type_hidl: {
+ type: TYPE_ENUM
+ predefined_type: "::android::hardware::tv::input::V1_0::Result"
+ }
+ return_type_hidl: {
+ type: TYPE_VECTOR
+ vector_value: {
+ type: TYPE_STRUCT
+ predefined_type: "::android::hardware::tv::input::V1_0::TvStreamConfig"
+ }
+ }
+ arg: {
+ type: TYPE_SCALAR
+ scalar_type: "int32_t"
+ }
+ callflow: {
+ next: "openStream"
+ next: "getStreamConfigurations"
+ next: "closeStream"
+ }
+ }
+
+ api: {
+ name: "openStream"
+ return_type_hidl: {
+ type: TYPE_ENUM
+ predefined_type: "::android::hardware::tv::input::V1_0::Result"
+ }
+ return_type_hidl: {
+ }
+ arg: {
+ type: TYPE_SCALAR
+ scalar_type: "int32_t"
+ }
+ arg: {
+ type: TYPE_SCALAR
+ scalar_type: "int32_t"
+ }
+ callflow: {
+ next: "closeStream"
+ next: "getStreamConfigurations"
+ next: "openStream"
+ }
+ }
+
+ api: {
+ name: "closeStream"
+ return_type_hidl: {
+ type: TYPE_ENUM
+ predefined_type: "::android::hardware::tv::input::V1_0::Result"
+ }
+ arg: {
+ type: TYPE_SCALAR
+ scalar_type: "int32_t"
+ }
+ arg: {
+ type: TYPE_SCALAR
+ scalar_type: "int32_t"
+ }
+ callflow: {
+ next: "getStreamConfigurations"
+ next: "openStream"
+ next: "closeStream"
+ }
+ }
+
+}
diff --git a/tv/input/1.0/vts/TvInputCallback.vts b/tv/input/1.0/vts/TvInputCallback.vts
new file mode 100644
index 0000000..b1738a8
--- /dev/null
+++ b/tv/input/1.0/vts/TvInputCallback.vts
@@ -0,0 +1,18 @@
+component_class: HAL_HIDL
+component_type_version: 1.0
+component_name: "ITvInputCallback"
+
+package: "android.hardware.tv.input"
+
+import: "android.hardware.tv.input@1.0::types"
+
+interface: {
+ api: {
+ name: "notify"
+ arg: {
+ type: TYPE_STRUCT
+ predefined_type: "::android::hardware::tv::input::V1_0::TvInputEvent"
+ }
+ }
+
+}
diff --git a/tv/input/1.0/vts/types.vts b/tv/input/1.0/vts/types.vts
new file mode 100644
index 0000000..67d84db
--- /dev/null
+++ b/tv/input/1.0/vts/types.vts
@@ -0,0 +1,1836 @@
+component_class: HAL_HIDL
+component_type_version: 1.0
+component_name: "types"
+
+package: "android.hardware.tv.input"
+
+import: "android.hardware.audio.common@2.0::types"
+
+attribute: {
+ name: "::android::hardware::audio::common::V2_0::AudioHandleConsts"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "int32_t"
+
+ enumerator: "AUDIO_IO_HANDLE_NONE"
+ scalar_value: {
+ int32_t: 0
+ }
+ enumerator: "AUDIO_MODULE_HANDLE_NONE"
+ scalar_value: {
+ int32_t: 0
+ }
+ enumerator: "AUDIO_PORT_HANDLE_NONE"
+ scalar_value: {
+ int32_t: 0
+ }
+ enumerator: "AUDIO_PATCH_HANDLE_NONE"
+ scalar_value: {
+ int32_t: 0
+ }
+ }
+}
+
+attribute: {
+ name: "::android::hardware::audio::common::V2_0::Uuid"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "timeLow"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "timeMid"
+ type: TYPE_SCALAR
+ scalar_type: "uint16_t"
+ }
+ struct_value: {
+ name: "versionAndTimeHigh"
+ type: TYPE_SCALAR
+ scalar_type: "uint16_t"
+ }
+ struct_value: {
+ name: "variantAndClockSeqHigh"
+ type: TYPE_SCALAR
+ scalar_type: "uint16_t"
+ }
+ struct_value: {
+ name: "node"
+ type: TYPE_ARRAY
+ vector_value: {
+ vector_size: 6
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+}
+
+attribute: {
+ name: "::android::hardware::audio::common::V2_0::AudioStreamType"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "int32_t"
+
+ enumerator: "DEFAULT"
+ scalar_value: {
+ int32_t: -1
+ }
+ enumerator: "MIN"
+ scalar_value: {
+ int32_t: 0
+ }
+ enumerator: "VOICE_CALL"
+ scalar_value: {
+ int32_t: 0
+ }
+ enumerator: "SYSTEM"
+ scalar_value: {
+ int32_t: 1
+ }
+ enumerator: "RING"
+ scalar_value: {
+ int32_t: 2
+ }
+ enumerator: "MUSIC"
+ scalar_value: {
+ int32_t: 3
+ }
+ enumerator: "ALARM"
+ scalar_value: {
+ int32_t: 4
+ }
+ enumerator: "NOTIFICATION"
+ scalar_value: {
+ int32_t: 5
+ }
+ enumerator: "BLUETOOTH_SCO"
+ scalar_value: {
+ int32_t: 6
+ }
+ enumerator: "ENFORCED_AUDIBLE"
+ scalar_value: {
+ int32_t: 7
+ }
+ enumerator: "DTMF"
+ scalar_value: {
+ int32_t: 8
+ }
+ enumerator: "TTS"
+ scalar_value: {
+ int32_t: 9
+ }
+ enumerator: "ACCESSIBILITY"
+ scalar_value: {
+ int32_t: 10
+ }
+ enumerator: "REROUTING"
+ scalar_value: {
+ int32_t: 11
+ }
+ enumerator: "PATCH"
+ scalar_value: {
+ int32_t: 12
+ }
+ enumerator: "PUBLIC_CNT"
+ scalar_value: {
+ int32_t: 10
+ }
+ enumerator: "FOR_POLICY_CNT"
+ scalar_value: {
+ int32_t: 12
+ }
+ enumerator: "CNT"
+ scalar_value: {
+ int32_t: 13
+ }
+ }
+}
+
+attribute: {
+ name: "::android::hardware::audio::common::V2_0::AudioSource"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "int32_t"
+
+ enumerator: "DEFAULT"
+ scalar_value: {
+ int32_t: 0
+ }
+ enumerator: "MIC"
+ scalar_value: {
+ int32_t: 1
+ }
+ enumerator: "VOICE_UPLINK"
+ scalar_value: {
+ int32_t: 2
+ }
+ enumerator: "VOICE_DOWNLINK"
+ scalar_value: {
+ int32_t: 3
+ }
+ enumerator: "VOICE_CALL"
+ scalar_value: {
+ int32_t: 4
+ }
+ enumerator: "CAMCORDER"
+ scalar_value: {
+ int32_t: 5
+ }
+ enumerator: "VOICE_RECOGNITION"
+ scalar_value: {
+ int32_t: 6
+ }
+ enumerator: "VOICE_COMMUNICATION"
+ scalar_value: {
+ int32_t: 7
+ }
+ enumerator: "REMOTE_SUBMIX"
+ scalar_value: {
+ int32_t: 8
+ }
+ enumerator: "UNPROCESSED"
+ scalar_value: {
+ int32_t: 9
+ }
+ enumerator: "CNT"
+ scalar_value: {
+ int32_t: 10
+ }
+ enumerator: "MAX"
+ scalar_value: {
+ int32_t: 9
+ }
+ enumerator: "FM_TUNER"
+ scalar_value: {
+ int32_t: 1998
+ }
+ enumerator: "HOTWORD"
+ scalar_value: {
+ int32_t: 1999
+ }
+ }
+}
+
+attribute: {
+ name: "::android::hardware::audio::common::V2_0::AudioSessionConsts"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "int32_t"
+
+ enumerator: "OUTPUT_STAGE"
+ scalar_value: {
+ int32_t: -1
+ }
+ enumerator: "OUTPUT_MIX"
+ scalar_value: {
+ int32_t: 0
+ }
+ enumerator: "ALLOCATE"
+ scalar_value: {
+ int32_t: 0
+ }
+ enumerator: "NONE"
+ scalar_value: {
+ int32_t: 0
+ }
+ }
+}
+
+attribute: {
+ name: "::android::hardware::audio::common::V2_0::AudioFormat"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "uint32_t"
+
+ enumerator: "INVALID"
+ scalar_value: {
+ uint32_t: 4294967295
+ }
+ enumerator: "DEFAULT"
+ scalar_value: {
+ uint32_t: 0
+ }
+ enumerator: "PCM"
+ scalar_value: {
+ uint32_t: 0
+ }
+ enumerator: "MP3"
+ scalar_value: {
+ uint32_t: 16777216
+ }
+ enumerator: "AMR_NB"
+ scalar_value: {
+ uint32_t: 33554432
+ }
+ enumerator: "AMR_WB"
+ scalar_value: {
+ uint32_t: 50331648
+ }
+ enumerator: "AAC"
+ scalar_value: {
+ uint32_t: 67108864
+ }
+ enumerator: "HE_AAC_V1"
+ scalar_value: {
+ uint32_t: 83886080
+ }
+ enumerator: "HE_AAC_V2"
+ scalar_value: {
+ uint32_t: 100663296
+ }
+ enumerator: "VORBIS"
+ scalar_value: {
+ uint32_t: 117440512
+ }
+ enumerator: "OPUS"
+ scalar_value: {
+ uint32_t: 134217728
+ }
+ enumerator: "AC3"
+ scalar_value: {
+ uint32_t: 150994944
+ }
+ enumerator: "E_AC3"
+ scalar_value: {
+ uint32_t: 167772160
+ }
+ enumerator: "DTS"
+ scalar_value: {
+ uint32_t: 184549376
+ }
+ enumerator: "DTS_HD"
+ scalar_value: {
+ uint32_t: 201326592
+ }
+ enumerator: "IEC61937"
+ scalar_value: {
+ uint32_t: 218103808
+ }
+ enumerator: "DOLBY_TRUEHD"
+ scalar_value: {
+ uint32_t: 234881024
+ }
+ enumerator: "MAIN_MASK"
+ scalar_value: {
+ uint32_t: 4278190080
+ }
+ enumerator: "SUB_MASK"
+ scalar_value: {
+ uint32_t: 16777215
+ }
+ enumerator: "PCM_SUB_16_BIT"
+ scalar_value: {
+ uint32_t: 1
+ }
+ enumerator: "PCM_SUB_8_BIT"
+ scalar_value: {
+ uint32_t: 2
+ }
+ enumerator: "PCM_SUB_32_BIT"
+ scalar_value: {
+ uint32_t: 3
+ }
+ enumerator: "PCM_SUB_8_24_BIT"
+ scalar_value: {
+ uint32_t: 4
+ }
+ enumerator: "PCM_SUB_FLOAT"
+ scalar_value: {
+ uint32_t: 5
+ }
+ enumerator: "PCM_SUB_24_BIT_PACKED"
+ scalar_value: {
+ uint32_t: 6
+ }
+ enumerator: "MP3_SUB_NONE"
+ scalar_value: {
+ uint32_t: 0
+ }
+ enumerator: "AMR_SUB_NONE"
+ scalar_value: {
+ uint32_t: 0
+ }
+ enumerator: "AAC_SUB_MAIN"
+ scalar_value: {
+ uint32_t: 1
+ }
+ enumerator: "AAC_SUB_LC"
+ scalar_value: {
+ uint32_t: 2
+ }
+ enumerator: "AAC_SUB_SSR"
+ scalar_value: {
+ uint32_t: 4
+ }
+ enumerator: "AAC_SUB_LTP"
+ scalar_value: {
+ uint32_t: 8
+ }
+ enumerator: "AAC_SUB_HE_V1"
+ scalar_value: {
+ uint32_t: 16
+ }
+ enumerator: "AAC_SUB_SCALABLE"
+ scalar_value: {
+ uint32_t: 32
+ }
+ enumerator: "AAC_SUB_ERLC"
+ scalar_value: {
+ uint32_t: 64
+ }
+ enumerator: "AAC_SUB_LD"
+ scalar_value: {
+ uint32_t: 128
+ }
+ enumerator: "AAC_SUB_HE_V2"
+ scalar_value: {
+ uint32_t: 256
+ }
+ enumerator: "AAC_SUB_ELD"
+ scalar_value: {
+ uint32_t: 512
+ }
+ enumerator: "VORBIS_SUB_NONE"
+ scalar_value: {
+ uint32_t: 0
+ }
+ enumerator: "PCM_16_BIT"
+ scalar_value: {
+ uint32_t: 1
+ }
+ enumerator: "PCM_8_BIT"
+ scalar_value: {
+ uint32_t: 2
+ }
+ enumerator: "PCM_32_BIT"
+ scalar_value: {
+ uint32_t: 3
+ }
+ enumerator: "PCM_8_24_BIT"
+ scalar_value: {
+ uint32_t: 4
+ }
+ enumerator: "PCM_FLOAT"
+ scalar_value: {
+ uint32_t: 5
+ }
+ enumerator: "PCM_24_BIT_PACKED"
+ scalar_value: {
+ uint32_t: 6
+ }
+ enumerator: "AAC_MAIN"
+ scalar_value: {
+ uint32_t: 67108865
+ }
+ enumerator: "AAC_LC"
+ scalar_value: {
+ uint32_t: 67108866
+ }
+ enumerator: "AAC_SSR"
+ scalar_value: {
+ uint32_t: 67108868
+ }
+ enumerator: "AAC_LTP"
+ scalar_value: {
+ uint32_t: 67108872
+ }
+ enumerator: "AAC_HE_V1"
+ scalar_value: {
+ uint32_t: 67108880
+ }
+ enumerator: "AAC_SCALABLE"
+ scalar_value: {
+ uint32_t: 67108896
+ }
+ enumerator: "AAC_ERLC"
+ scalar_value: {
+ uint32_t: 67108928
+ }
+ enumerator: "AAC_LD"
+ scalar_value: {
+ uint32_t: 67108992
+ }
+ enumerator: "AAC_HE_V2"
+ scalar_value: {
+ uint32_t: 67109120
+ }
+ enumerator: "AAC_ELD"
+ scalar_value: {
+ uint32_t: 67109376
+ }
+ }
+}
+
+attribute: {
+ name: "::android::hardware::audio::common::V2_0::FixedChannelCount"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "int32_t"
+
+ enumerator: "FCC_2"
+ scalar_value: {
+ int32_t: 2
+ }
+ enumerator: "FCC_8"
+ scalar_value: {
+ int32_t: 8
+ }
+ }
+}
+
+attribute: {
+ name: "::android::hardware::audio::common::V2_0::AudioChannelMask"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "uint32_t"
+
+ enumerator: "REPRESENTATION_POSITION"
+ scalar_value: {
+ uint32_t: 0
+ }
+ enumerator: "REPRESENTATION_INDEX"
+ scalar_value: {
+ uint32_t: 2
+ }
+ enumerator: "NONE"
+ scalar_value: {
+ uint32_t: 0
+ }
+ enumerator: "INVALID"
+ scalar_value: {
+ uint32_t: 3221225472
+ }
+ enumerator: "OUT_FRONT_LEFT"
+ scalar_value: {
+ uint32_t: 1
+ }
+ enumerator: "OUT_FRONT_RIGHT"
+ scalar_value: {
+ uint32_t: 2
+ }
+ enumerator: "OUT_FRONT_CENTER"
+ scalar_value: {
+ uint32_t: 4
+ }
+ enumerator: "OUT_LOW_FREQUENCY"
+ scalar_value: {
+ uint32_t: 8
+ }
+ enumerator: "OUT_BACK_LEFT"
+ scalar_value: {
+ uint32_t: 16
+ }
+ enumerator: "OUT_BACK_RIGHT"
+ scalar_value: {
+ uint32_t: 32
+ }
+ enumerator: "OUT_FRONT_LEFT_OF_CENTER"
+ scalar_value: {
+ uint32_t: 64
+ }
+ enumerator: "OUT_FRONT_RIGHT_OF_CENTER"
+ scalar_value: {
+ uint32_t: 128
+ }
+ enumerator: "OUT_BACK_CENTER"
+ scalar_value: {
+ uint32_t: 256
+ }
+ enumerator: "OUT_SIDE_LEFT"
+ scalar_value: {
+ uint32_t: 512
+ }
+ enumerator: "OUT_SIDE_RIGHT"
+ scalar_value: {
+ uint32_t: 1024
+ }
+ enumerator: "OUT_TOP_CENTER"
+ scalar_value: {
+ uint32_t: 2048
+ }
+ enumerator: "OUT_TOP_FRONT_LEFT"
+ scalar_value: {
+ uint32_t: 4096
+ }
+ enumerator: "OUT_TOP_FRONT_CENTER"
+ scalar_value: {
+ uint32_t: 8192
+ }
+ enumerator: "OUT_TOP_FRONT_RIGHT"
+ scalar_value: {
+ uint32_t: 16384
+ }
+ enumerator: "OUT_TOP_BACK_LEFT"
+ scalar_value: {
+ uint32_t: 32768
+ }
+ enumerator: "OUT_TOP_BACK_CENTER"
+ scalar_value: {
+ uint32_t: 65536
+ }
+ enumerator: "OUT_TOP_BACK_RIGHT"
+ scalar_value: {
+ uint32_t: 131072
+ }
+ enumerator: "OUT_MONO"
+ scalar_value: {
+ uint32_t: 1
+ }
+ enumerator: "OUT_STEREO"
+ scalar_value: {
+ uint32_t: 3
+ }
+ enumerator: "OUT_QUAD"
+ scalar_value: {
+ uint32_t: 51
+ }
+ enumerator: "OUT_QUAD_BACK"
+ scalar_value: {
+ uint32_t: 51
+ }
+ enumerator: "OUT_QUAD_SIDE"
+ scalar_value: {
+ uint32_t: 1539
+ }
+ enumerator: "OUT_5POINT1"
+ scalar_value: {
+ uint32_t: 63
+ }
+ enumerator: "OUT_5POINT1_BACK"
+ scalar_value: {
+ uint32_t: 63
+ }
+ enumerator: "OUT_5POINT1_SIDE"
+ scalar_value: {
+ uint32_t: 1551
+ }
+ enumerator: "OUT_7POINT1"
+ scalar_value: {
+ uint32_t: 1599
+ }
+ enumerator: "OUT_ALL"
+ scalar_value: {
+ uint32_t: 262143
+ }
+ enumerator: "IN_LEFT"
+ scalar_value: {
+ uint32_t: 4
+ }
+ enumerator: "IN_RIGHT"
+ scalar_value: {
+ uint32_t: 8
+ }
+ enumerator: "IN_FRONT"
+ scalar_value: {
+ uint32_t: 16
+ }
+ enumerator: "IN_BACK"
+ scalar_value: {
+ uint32_t: 32
+ }
+ enumerator: "IN_LEFT_PROCESSED"
+ scalar_value: {
+ uint32_t: 64
+ }
+ enumerator: "IN_RIGHT_PROCESSED"
+ scalar_value: {
+ uint32_t: 128
+ }
+ enumerator: "IN_FRONT_PROCESSED"
+ scalar_value: {
+ uint32_t: 256
+ }
+ enumerator: "IN_BACK_PROCESSED"
+ scalar_value: {
+ uint32_t: 512
+ }
+ enumerator: "IN_PRESSURE"
+ scalar_value: {
+ uint32_t: 1024
+ }
+ enumerator: "IN_X_AXIS"
+ scalar_value: {
+ uint32_t: 2048
+ }
+ enumerator: "IN_Y_AXIS"
+ scalar_value: {
+ uint32_t: 4096
+ }
+ enumerator: "IN_Z_AXIS"
+ scalar_value: {
+ uint32_t: 8192
+ }
+ enumerator: "IN_VOICE_UPLINK"
+ scalar_value: {
+ uint32_t: 16384
+ }
+ enumerator: "IN_VOICE_DNLINK"
+ scalar_value: {
+ uint32_t: 32768
+ }
+ enumerator: "IN_MONO"
+ scalar_value: {
+ uint32_t: 16
+ }
+ enumerator: "IN_STEREO"
+ scalar_value: {
+ uint32_t: 12
+ }
+ enumerator: "IN_FRONT_BACK"
+ scalar_value: {
+ uint32_t: 48
+ }
+ enumerator: "IN_ALL"
+ scalar_value: {
+ uint32_t: 65532
+ }
+ enumerator: "COUNT_MAX"
+ scalar_value: {
+ uint32_t: 30
+ }
+ enumerator: "INDEX_HDR"
+ scalar_value: {
+ uint32_t: 2147483648
+ }
+ enumerator: "INDEX_MASK_1"
+ scalar_value: {
+ uint32_t: 2147483649
+ }
+ enumerator: "INDEX_MASK_2"
+ scalar_value: {
+ uint32_t: 2147483651
+ }
+ enumerator: "INDEX_MASK_3"
+ scalar_value: {
+ uint32_t: 2147483655
+ }
+ enumerator: "INDEX_MASK_4"
+ scalar_value: {
+ uint32_t: 2147483663
+ }
+ enumerator: "INDEX_MASK_5"
+ scalar_value: {
+ uint32_t: 2147483679
+ }
+ enumerator: "INDEX_MASK_6"
+ scalar_value: {
+ uint32_t: 2147483711
+ }
+ enumerator: "INDEX_MASK_7"
+ scalar_value: {
+ uint32_t: 2147483775
+ }
+ enumerator: "INDEX_MASK_8"
+ scalar_value: {
+ uint32_t: 2147483903
+ }
+ }
+}
+
+attribute: {
+ name: "::android::hardware::audio::common::V2_0::AudioInterleave"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "int32_t"
+
+ enumerator: "LEFT"
+ scalar_value: {
+ int32_t: 0
+ }
+ enumerator: "RIGHT"
+ scalar_value: {
+ int32_t: 1
+ }
+ }
+}
+
+attribute: {
+ name: "::android::hardware::audio::common::V2_0::AudioMode"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "int32_t"
+
+ enumerator: "INVALID"
+ scalar_value: {
+ int32_t: -2
+ }
+ enumerator: "CURRENT"
+ scalar_value: {
+ int32_t: -1
+ }
+ enumerator: "NORMAL"
+ scalar_value: {
+ int32_t: 0
+ }
+ enumerator: "RINGTONE"
+ scalar_value: {
+ int32_t: 1
+ }
+ enumerator: "IN_CALL"
+ scalar_value: {
+ int32_t: 2
+ }
+ enumerator: "IN_COMMUNICATION"
+ scalar_value: {
+ int32_t: 3
+ }
+ enumerator: "CNT"
+ scalar_value: {
+ int32_t: 4
+ }
+ enumerator: "MAX"
+ scalar_value: {
+ int32_t: 3
+ }
+ }
+}
+
+attribute: {
+ name: "::android::hardware::audio::common::V2_0::AudioDevice"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "uint32_t"
+
+ enumerator: "NONE"
+ scalar_value: {
+ uint32_t: 0
+ }
+ enumerator: "BIT_IN"
+ scalar_value: {
+ uint32_t: 2147483648
+ }
+ enumerator: "BIT_DEFAULT"
+ scalar_value: {
+ uint32_t: 1073741824
+ }
+ enumerator: "OUT_EARPIECE"
+ scalar_value: {
+ uint32_t: 1
+ }
+ enumerator: "OUT_SPEAKER"
+ scalar_value: {
+ uint32_t: 2
+ }
+ enumerator: "OUT_WIRED_HEADSET"
+ scalar_value: {
+ uint32_t: 4
+ }
+ enumerator: "OUT_WIRED_HEADPHONE"
+ scalar_value: {
+ uint32_t: 8
+ }
+ enumerator: "OUT_BLUETOOTH_SCO"
+ scalar_value: {
+ uint32_t: 16
+ }
+ enumerator: "OUT_BLUETOOTH_SCO_HEADSET"
+ scalar_value: {
+ uint32_t: 32
+ }
+ enumerator: "OUT_BLUETOOTH_SCO_CARKIT"
+ scalar_value: {
+ uint32_t: 64
+ }
+ enumerator: "OUT_BLUETOOTH_A2DP"
+ scalar_value: {
+ uint32_t: 128
+ }
+ enumerator: "OUT_BLUETOOTH_A2DP_HEADPHONES"
+ scalar_value: {
+ uint32_t: 256
+ }
+ enumerator: "OUT_BLUETOOTH_A2DP_SPEAKER"
+ scalar_value: {
+ uint32_t: 512
+ }
+ enumerator: "OUT_AUX_DIGITAL"
+ scalar_value: {
+ uint32_t: 1024
+ }
+ enumerator: "OUT_HDMI"
+ scalar_value: {
+ uint32_t: 1024
+ }
+ enumerator: "OUT_ANLG_DOCK_HEADSET"
+ scalar_value: {
+ uint32_t: 2048
+ }
+ enumerator: "OUT_DGTL_DOCK_HEADSET"
+ scalar_value: {
+ uint32_t: 4096
+ }
+ enumerator: "OUT_USB_ACCESSORY"
+ scalar_value: {
+ uint32_t: 8192
+ }
+ enumerator: "OUT_USB_DEVICE"
+ scalar_value: {
+ uint32_t: 16384
+ }
+ enumerator: "OUT_REMOTE_SUBMIX"
+ scalar_value: {
+ uint32_t: 32768
+ }
+ enumerator: "OUT_TELEPHONY_TX"
+ scalar_value: {
+ uint32_t: 65536
+ }
+ enumerator: "OUT_LINE"
+ scalar_value: {
+ uint32_t: 131072
+ }
+ enumerator: "OUT_HDMI_ARC"
+ scalar_value: {
+ uint32_t: 262144
+ }
+ enumerator: "OUT_SPDIF"
+ scalar_value: {
+ uint32_t: 524288
+ }
+ enumerator: "OUT_FM"
+ scalar_value: {
+ uint32_t: 1048576
+ }
+ enumerator: "OUT_AUX_LINE"
+ scalar_value: {
+ uint32_t: 2097152
+ }
+ enumerator: "OUT_SPEAKER_SAFE"
+ scalar_value: {
+ uint32_t: 4194304
+ }
+ enumerator: "OUT_IP"
+ scalar_value: {
+ uint32_t: 8388608
+ }
+ enumerator: "OUT_BUS"
+ scalar_value: {
+ uint32_t: 16777216
+ }
+ enumerator: "OUT_DEFAULT"
+ scalar_value: {
+ uint32_t: 1073741824
+ }
+ enumerator: "OUT_ALL"
+ scalar_value: {
+ uint32_t: 1107296255
+ }
+ enumerator: "OUT_ALL_A2DP"
+ scalar_value: {
+ uint32_t: 896
+ }
+ enumerator: "OUT_ALL_SCO"
+ scalar_value: {
+ uint32_t: 112
+ }
+ enumerator: "OUT_ALL_USB"
+ scalar_value: {
+ uint32_t: 24576
+ }
+ enumerator: "IN_COMMUNICATION"
+ scalar_value: {
+ uint32_t: 2147483649
+ }
+ enumerator: "IN_AMBIENT"
+ scalar_value: {
+ uint32_t: 2147483650
+ }
+ enumerator: "IN_BUILTIN_MIC"
+ scalar_value: {
+ uint32_t: 2147483652
+ }
+ enumerator: "IN_BLUETOOTH_SCO_HEADSET"
+ scalar_value: {
+ uint32_t: 2147483656
+ }
+ enumerator: "IN_WIRED_HEADSET"
+ scalar_value: {
+ uint32_t: 2147483664
+ }
+ enumerator: "IN_AUX_DIGITAL"
+ scalar_value: {
+ uint32_t: 2147483680
+ }
+ enumerator: "IN_HDMI"
+ scalar_value: {
+ uint32_t: 2147483680
+ }
+ enumerator: "IN_VOICE_CALL"
+ scalar_value: {
+ uint32_t: 2147483712
+ }
+ enumerator: "IN_TELEPHONY_RX"
+ scalar_value: {
+ uint32_t: 2147483712
+ }
+ enumerator: "IN_BACK_MIC"
+ scalar_value: {
+ uint32_t: 2147483776
+ }
+ enumerator: "IN_REMOTE_SUBMIX"
+ scalar_value: {
+ uint32_t: 2147483904
+ }
+ enumerator: "IN_ANLG_DOCK_HEADSET"
+ scalar_value: {
+ uint32_t: 2147484160
+ }
+ enumerator: "IN_DGTL_DOCK_HEADSET"
+ scalar_value: {
+ uint32_t: 2147484672
+ }
+ enumerator: "IN_USB_ACCESSORY"
+ scalar_value: {
+ uint32_t: 2147485696
+ }
+ enumerator: "IN_USB_DEVICE"
+ scalar_value: {
+ uint32_t: 2147487744
+ }
+ enumerator: "IN_FM_TUNER"
+ scalar_value: {
+ uint32_t: 2147491840
+ }
+ enumerator: "IN_TV_TUNER"
+ scalar_value: {
+ uint32_t: 2147500032
+ }
+ enumerator: "IN_LINE"
+ scalar_value: {
+ uint32_t: 2147516416
+ }
+ enumerator: "IN_SPDIF"
+ scalar_value: {
+ uint32_t: 2147549184
+ }
+ enumerator: "IN_BLUETOOTH_A2DP"
+ scalar_value: {
+ uint32_t: 2147614720
+ }
+ enumerator: "IN_LOOPBACK"
+ scalar_value: {
+ uint32_t: 2147745792
+ }
+ enumerator: "IN_IP"
+ scalar_value: {
+ uint32_t: 2148007936
+ }
+ enumerator: "IN_BUS"
+ scalar_value: {
+ uint32_t: 2148532224
+ }
+ enumerator: "IN_DEFAULT"
+ scalar_value: {
+ uint32_t: 3221225472
+ }
+ enumerator: "IN_ALL"
+ scalar_value: {
+ uint32_t: 3223322623
+ }
+ enumerator: "IN_ALL_SCO"
+ scalar_value: {
+ uint32_t: 2147483656
+ }
+ enumerator: "IN_ALL_USB"
+ scalar_value: {
+ uint32_t: 2147489792
+ }
+ }
+}
+
+attribute: {
+ name: "::android::hardware::audio::common::V2_0::AudioOutputFlag"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "int32_t"
+
+ enumerator: "NONE"
+ scalar_value: {
+ int32_t: 0
+ }
+ enumerator: "DIRECT"
+ scalar_value: {
+ int32_t: 1
+ }
+ enumerator: "PRIMARY"
+ scalar_value: {
+ int32_t: 2
+ }
+ enumerator: "FAST"
+ scalar_value: {
+ int32_t: 4
+ }
+ enumerator: "DEEP_BUFFER"
+ scalar_value: {
+ int32_t: 8
+ }
+ enumerator: "COMPRESS_OFFLOAD"
+ scalar_value: {
+ int32_t: 16
+ }
+ enumerator: "NON_BLOCKING"
+ scalar_value: {
+ int32_t: 32
+ }
+ enumerator: "HW_AV_SYNC"
+ scalar_value: {
+ int32_t: 64
+ }
+ enumerator: "TTS"
+ scalar_value: {
+ int32_t: 128
+ }
+ enumerator: "RAW"
+ scalar_value: {
+ int32_t: 256
+ }
+ enumerator: "SYNC"
+ scalar_value: {
+ int32_t: 512
+ }
+ enumerator: "IEC958_NONAUDIO"
+ scalar_value: {
+ int32_t: 1024
+ }
+ }
+}
+
+attribute: {
+ name: "::android::hardware::audio::common::V2_0::AudioInputFlag"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "int32_t"
+
+ enumerator: "NONE"
+ scalar_value: {
+ int32_t: 0
+ }
+ enumerator: "FAST"
+ scalar_value: {
+ int32_t: 1
+ }
+ enumerator: "HW_HOTWORD"
+ scalar_value: {
+ int32_t: 2
+ }
+ enumerator: "RAW"
+ scalar_value: {
+ int32_t: 4
+ }
+ enumerator: "SYNC"
+ scalar_value: {
+ int32_t: 8
+ }
+ }
+}
+
+attribute: {
+ name: "::android::hardware::audio::common::V2_0::AudioOffloadInfo"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "sampleRateHz"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "channelMask"
+ type: TYPE_ENUM
+ predefined_type: "::android::hardware::audio::common::V2_0::AudioChannelMask"
+ }
+ struct_value: {
+ name: "format"
+ type: TYPE_ENUM
+ predefined_type: "::android::hardware::audio::common::V2_0::AudioFormat"
+ }
+ struct_value: {
+ name: "streamType"
+ type: TYPE_ENUM
+ predefined_type: "::android::hardware::audio::common::V2_0::AudioStreamType"
+ }
+ struct_value: {
+ name: "bitRatePerSecond"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "durationMicroseconds"
+ type: TYPE_SCALAR
+ scalar_type: "int64_t"
+ }
+ struct_value: {
+ name: "hasVideo"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "isStreaming"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+}
+
+attribute: {
+ name: "::android::hardware::audio::common::V2_0::AudioConfig"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "sampleRateHz"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "channelMask"
+ type: TYPE_ENUM
+ predefined_type: "::android::hardware::audio::common::V2_0::AudioChannelMask"
+ }
+ struct_value: {
+ name: "format"
+ type: TYPE_ENUM
+ predefined_type: "::android::hardware::audio::common::V2_0::AudioFormat"
+ }
+ struct_value: {
+ name: "offloadInfo"
+ type: TYPE_STRUCT
+ predefined_type: "::android::hardware::audio::common::V2_0::AudioOffloadInfo"
+ }
+ struct_value: {
+ name: "frameCount"
+ type: TYPE_SCALAR
+ scalar_type: "uint64_t"
+ }
+}
+
+attribute: {
+ name: "::android::hardware::audio::common::V2_0::AudioGainMode"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "uint32_t"
+
+ enumerator: "JOINT"
+ scalar_value: {
+ uint32_t: 1
+ }
+ enumerator: "CHANNELS"
+ scalar_value: {
+ uint32_t: 2
+ }
+ enumerator: "RAMP"
+ scalar_value: {
+ uint32_t: 4
+ }
+ }
+}
+
+attribute: {
+ name: "::android::hardware::audio::common::V2_0::AudioGain"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "mode"
+ type: TYPE_ENUM
+ predefined_type: "::android::hardware::audio::common::V2_0::AudioGainMode"
+ }
+ struct_value: {
+ name: "channelMask"
+ type: TYPE_ENUM
+ predefined_type: "::android::hardware::audio::common::V2_0::AudioChannelMask"
+ }
+ struct_value: {
+ name: "minValue"
+ type: TYPE_SCALAR
+ scalar_type: "int32_t"
+ }
+ struct_value: {
+ name: "maxValue"
+ type: TYPE_SCALAR
+ scalar_type: "int32_t"
+ }
+ struct_value: {
+ name: "defaultValue"
+ type: TYPE_SCALAR
+ scalar_type: "int32_t"
+ }
+ struct_value: {
+ name: "stepValue"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "minRampMs"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "maxRampMs"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+}
+
+attribute: {
+ name: "::android::hardware::audio::common::V2_0::AudioGainConfig"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "index"
+ type: TYPE_SCALAR
+ scalar_type: "int32_t"
+ }
+ struct_value: {
+ name: "mode"
+ type: TYPE_ENUM
+ predefined_type: "::android::hardware::audio::common::V2_0::AudioGainMode"
+ }
+ struct_value: {
+ name: "channelMask"
+ type: TYPE_ENUM
+ predefined_type: "::android::hardware::audio::common::V2_0::AudioChannelMask"
+ }
+ struct_value: {
+ name: "values"
+ type: TYPE_ARRAY
+ vector_value: {
+ vector_size: 32
+ type: TYPE_SCALAR
+ scalar_type: "int32_t"
+ }
+ }
+ struct_value: {
+ name: "rampDurationMs"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+}
+
+attribute: {
+ name: "::android::hardware::audio::common::V2_0::AudioPortRole"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "int32_t"
+
+ enumerator: "NONE"
+ scalar_value: {
+ int32_t: 0
+ }
+ enumerator: "SOURCE"
+ scalar_value: {
+ int32_t: 1
+ }
+ enumerator: "SINK"
+ scalar_value: {
+ int32_t: 2
+ }
+ }
+}
+
+attribute: {
+ name: "::android::hardware::audio::common::V2_0::AudioPortType"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "int32_t"
+
+ enumerator: "NONE"
+ scalar_value: {
+ int32_t: 0
+ }
+ enumerator: "DEVICE"
+ scalar_value: {
+ int32_t: 1
+ }
+ enumerator: "MIX"
+ scalar_value: {
+ int32_t: 2
+ }
+ enumerator: "SESSION"
+ scalar_value: {
+ int32_t: 3
+ }
+ }
+}
+
+attribute: {
+ name: "::android::hardware::audio::common::V2_0::AudioPortConfigDeviceExt"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "hwModule"
+ type: TYPE_SCALAR
+ scalar_type: "int32_t"
+ }
+ struct_value: {
+ name: "type"
+ type: TYPE_ENUM
+ predefined_type: "::android::hardware::audio::common::V2_0::AudioDevice"
+ }
+ struct_value: {
+ name: "address"
+ type: TYPE_ARRAY
+ vector_value: {
+ vector_size: 32
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+}
+
+attribute: {
+ name: "::android::hardware::audio::common::V2_0::AudioPortConfigSessionExt"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "session"
+ type: TYPE_SCALAR
+ scalar_type: "int32_t"
+ }
+}
+
+attribute: {
+ name: "::android::hardware::audio::common::V2_0::AudioPortConfigMask"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "uint32_t"
+
+ enumerator: "SAMPLE_RATE"
+ scalar_value: {
+ uint32_t: 1
+ }
+ enumerator: "CHANNEL_MASK"
+ scalar_value: {
+ uint32_t: 2
+ }
+ enumerator: "FORMAT"
+ scalar_value: {
+ uint32_t: 4
+ }
+ enumerator: "GAIN"
+ scalar_value: {
+ uint32_t: 8
+ }
+ enumerator: "ALL"
+ scalar_value: {
+ uint32_t: 15
+ }
+ }
+}
+
+attribute: {
+ name: "::android::hardware::audio::common::V2_0::AudioPortConfig"
+ type: TYPE_STRUCT
+ sub_struct: {
+ name: "::android::hardware::audio::common::V2_0::AudioPortConfig::Ext"
+ type: TYPE_UNION
+ sub_union: {
+ name: "::android::hardware::audio::common::V2_0::AudioPortConfig::Ext::AudioPortConfigMixExt"
+ type: TYPE_STRUCT
+ sub_struct: {
+ name: "::android::hardware::audio::common::V2_0::AudioPortConfig::Ext::AudioPortConfigMixExt::UseCase"
+ type: TYPE_UNION
+ union_value: {
+ name: "stream"
+ type: TYPE_ENUM
+ predefined_type: "::android::hardware::audio::common::V2_0::AudioStreamType"
+ }
+ union_value: {
+ name: "source"
+ type: TYPE_ENUM
+ predefined_type: "::android::hardware::audio::common::V2_0::AudioSource"
+ }
+ }
+ struct_value: {
+ name: "hwModule"
+ type: TYPE_SCALAR
+ scalar_type: "int32_t"
+ }
+ struct_value: {
+ name: "ioHandle"
+ type: TYPE_SCALAR
+ scalar_type: "int32_t"
+ }
+ struct_value: {
+ name: "useCase"
+ type: TYPE_UNION
+ predefined_type: "::android::hardware::audio::common::V2_0::AudioPortConfig::Ext::AudioPortConfigMixExt::UseCase"
+ }
+ }
+ union_value: {
+ name: "device"
+ type: TYPE_STRUCT
+ predefined_type: "::android::hardware::audio::common::V2_0::AudioPortConfigDeviceExt"
+ }
+ union_value: {
+ name: "mix"
+ type: TYPE_STRUCT
+ predefined_type: "::android::hardware::audio::common::V2_0::AudioPortConfig::Ext::AudioPortConfigMixExt"
+ }
+ union_value: {
+ name: "session"
+ type: TYPE_STRUCT
+ predefined_type: "::android::hardware::audio::common::V2_0::AudioPortConfigSessionExt"
+ }
+ }
+ struct_value: {
+ name: "id"
+ type: TYPE_SCALAR
+ scalar_type: "int32_t"
+ }
+ struct_value: {
+ name: "configMask"
+ type: TYPE_ENUM
+ predefined_type: "::android::hardware::audio::common::V2_0::AudioPortConfigMask"
+ }
+ struct_value: {
+ name: "sampleRateHz"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "channelMask"
+ type: TYPE_ENUM
+ predefined_type: "::android::hardware::audio::common::V2_0::AudioChannelMask"
+ }
+ struct_value: {
+ name: "format"
+ type: TYPE_ENUM
+ predefined_type: "::android::hardware::audio::common::V2_0::AudioFormat"
+ }
+ struct_value: {
+ name: "gain"
+ type: TYPE_STRUCT
+ predefined_type: "::android::hardware::audio::common::V2_0::AudioGainConfig"
+ }
+ struct_value: {
+ name: "type"
+ type: TYPE_ENUM
+ predefined_type: "::android::hardware::audio::common::V2_0::AudioPortType"
+ }
+ struct_value: {
+ name: "role"
+ type: TYPE_ENUM
+ predefined_type: "::android::hardware::audio::common::V2_0::AudioPortRole"
+ }
+ struct_value: {
+ name: "ext"
+ type: TYPE_UNION
+ predefined_type: "::android::hardware::audio::common::V2_0::AudioPortConfig::Ext"
+ }
+}
+
+attribute: {
+ name: "::android::hardware::audio::common::V2_0::AudioPortDeviceExt"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "hwModule"
+ type: TYPE_SCALAR
+ scalar_type: "int32_t"
+ }
+ struct_value: {
+ name: "type"
+ type: TYPE_ENUM
+ predefined_type: "::android::hardware::audio::common::V2_0::AudioDevice"
+ }
+ struct_value: {
+ name: "address"
+ type: TYPE_ARRAY
+ vector_value: {
+ vector_size: 32
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+}
+
+attribute: {
+ name: "::android::hardware::audio::common::V2_0::AudioMixLatencyClass"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "int32_t"
+
+ enumerator: "LOW"
+ scalar_value: {
+ int32_t: 0
+ }
+ enumerator: "NORMAL"
+ scalar_value: {
+ int32_t: 1
+ }
+ }
+}
+
+attribute: {
+ name: "::android::hardware::audio::common::V2_0::AudioPortMixExt"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "hwModule"
+ type: TYPE_SCALAR
+ scalar_type: "int32_t"
+ }
+ struct_value: {
+ name: "ioHandle"
+ type: TYPE_SCALAR
+ scalar_type: "int32_t"
+ }
+ struct_value: {
+ name: "latencyClass"
+ type: TYPE_ENUM
+ predefined_type: "::android::hardware::audio::common::V2_0::AudioMixLatencyClass"
+ }
+}
+
+attribute: {
+ name: "::android::hardware::audio::common::V2_0::AudioPortSessionExt"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "session"
+ type: TYPE_SCALAR
+ scalar_type: "int32_t"
+ }
+}
+
+attribute: {
+ name: "::android::hardware::audio::common::V2_0::AudioPort"
+ type: TYPE_STRUCT
+ sub_struct: {
+ name: "::android::hardware::audio::common::V2_0::AudioPort::Ext"
+ type: TYPE_UNION
+ union_value: {
+ name: "device"
+ type: TYPE_STRUCT
+ predefined_type: "::android::hardware::audio::common::V2_0::AudioPortDeviceExt"
+ }
+ union_value: {
+ name: "mix"
+ type: TYPE_STRUCT
+ predefined_type: "::android::hardware::audio::common::V2_0::AudioPortMixExt"
+ }
+ union_value: {
+ name: "session"
+ type: TYPE_STRUCT
+ predefined_type: "::android::hardware::audio::common::V2_0::AudioPortSessionExt"
+ }
+ }
+ struct_value: {
+ name: "id"
+ type: TYPE_SCALAR
+ scalar_type: "int32_t"
+ }
+ struct_value: {
+ name: "role"
+ type: TYPE_ENUM
+ predefined_type: "::android::hardware::audio::common::V2_0::AudioPortRole"
+ }
+ struct_value: {
+ name: "name"
+ type: TYPE_STRING
+ }
+ struct_value: {
+ name: "sampleRates"
+ type: TYPE_VECTOR
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ }
+ struct_value: {
+ name: "channelMasks"
+ type: TYPE_VECTOR
+ vector_value: {
+ type: TYPE_ENUM
+ predefined_type: "::android::hardware::audio::common::V2_0::AudioChannelMask"
+ }
+ }
+ struct_value: {
+ name: "formats"
+ type: TYPE_VECTOR
+ vector_value: {
+ type: TYPE_ENUM
+ predefined_type: "::android::hardware::audio::common::V2_0::AudioFormat"
+ }
+ }
+ struct_value: {
+ name: "gains"
+ type: TYPE_VECTOR
+ vector_value: {
+ type: TYPE_STRUCT
+ predefined_type: "::android::hardware::audio::common::V2_0::AudioGain"
+ }
+ }
+ struct_value: {
+ name: "activeConfig"
+ type: TYPE_STRUCT
+ predefined_type: "::android::hardware::audio::common::V2_0::AudioPortConfig"
+ }
+ struct_value: {
+ name: "type"
+ type: TYPE_ENUM
+ predefined_type: "::android::hardware::audio::common::V2_0::AudioPortType"
+ }
+ struct_value: {
+ name: "ext"
+ type: TYPE_UNION
+ predefined_type: "::android::hardware::audio::common::V2_0::AudioPort::Ext"
+ }
+}
+
+attribute: {
+ name: "::android::hardware::tv::input::V1_0::Result"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "int32_t"
+
+ enumerator: "OK"
+ scalar_value: {
+ int32_t: 0
+ }
+ enumerator: "UNKNOWN"
+ scalar_value: {
+ int32_t: 1
+ }
+ enumerator: "NO_RESOURCE"
+ scalar_value: {
+ int32_t: 2
+ }
+ enumerator: "INVALID_ARGUMENTS"
+ scalar_value: {
+ int32_t: 3
+ }
+ enumerator: "INVALID_STATE"
+ scalar_value: {
+ int32_t: 4
+ }
+ }
+}
+
+attribute: {
+ name: "::android::hardware::tv::input::V1_0::TvInputType"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "int32_t"
+
+ enumerator: "OTHER"
+ scalar_value: {
+ int32_t: 1
+ }
+ enumerator: "TUNER"
+ scalar_value: {
+ int32_t: 2
+ }
+ enumerator: "COMPOSITE"
+ scalar_value: {
+ int32_t: 3
+ }
+ enumerator: "SVIDEO"
+ scalar_value: {
+ int32_t: 4
+ }
+ enumerator: "SCART"
+ scalar_value: {
+ int32_t: 5
+ }
+ enumerator: "COMPONENT"
+ scalar_value: {
+ int32_t: 6
+ }
+ enumerator: "VGA"
+ scalar_value: {
+ int32_t: 7
+ }
+ enumerator: "DVI"
+ scalar_value: {
+ int32_t: 8
+ }
+ enumerator: "HDMI"
+ scalar_value: {
+ int32_t: 9
+ }
+ enumerator: "DISPLAY_PORT"
+ scalar_value: {
+ int32_t: 10
+ }
+ }
+}
+
+attribute: {
+ name: "::android::hardware::tv::input::V1_0::TvInputDeviceInfo"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "deviceId"
+ type: TYPE_SCALAR
+ scalar_type: "int32_t"
+ }
+ struct_value: {
+ name: "type"
+ type: TYPE_ENUM
+ predefined_type: "::android::hardware::tv::input::V1_0::TvInputType"
+ }
+ struct_value: {
+ name: "portId"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "audioType"
+ type: TYPE_ENUM
+ predefined_type: "::android::hardware::audio::common::V2_0::AudioDevice"
+ }
+ struct_value: {
+ name: "audioAddress"
+ type: TYPE_ARRAY
+ vector_value: {
+ vector_size: 32
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+}
+
+attribute: {
+ name: "::android::hardware::tv::input::V1_0::TvInputEventType"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "int32_t"
+
+ enumerator: "DEVICE_AVAILABLE"
+ scalar_value: {
+ int32_t: 1
+ }
+ enumerator: "DEVICE_UNAVAILABLE"
+ scalar_value: {
+ int32_t: 2
+ }
+ enumerator: "STREAM_CONFIGURATIONS_CHANGED"
+ scalar_value: {
+ int32_t: 3
+ }
+ }
+}
+
+attribute: {
+ name: "::android::hardware::tv::input::V1_0::TvInputEvent"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "type"
+ type: TYPE_ENUM
+ predefined_type: "::android::hardware::tv::input::V1_0::TvInputEventType"
+ }
+ struct_value: {
+ name: "deviceInfo"
+ type: TYPE_STRUCT
+ predefined_type: "::android::hardware::tv::input::V1_0::TvInputDeviceInfo"
+ }
+}
+
+attribute: {
+ name: "::android::hardware::tv::input::V1_0::TvStreamConfig"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "streamId"
+ type: TYPE_SCALAR
+ scalar_type: "int32_t"
+ }
+ struct_value: {
+ name: "maxVideoWidth"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "maxVideoHeight"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+}
+
diff --git a/vehicle/2.0/vts/Android.mk b/vehicle/2.0/vts/Android.mk
new file mode 100644
index 0000000..8370067
--- /dev/null
+++ b/vehicle/2.0/vts/Android.mk
@@ -0,0 +1,120 @@
+#
+# Copyright (C) 2016 The Android Open Source Project
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+
+LOCAL_PATH := $(call my-dir)
+
+# build VTS driver for Vehicle v2.0.
+include $(CLEAR_VARS)
+
+LOCAL_MODULE := libvts_driver_hidl_vehicle@2.0
+
+LOCAL_SRC_FILES := \
+ Vehicle.vts \
+ VehicleCallback.vts \
+ types.vts \
+
+LOCAL_SHARED_LIBRARIES += \
+ android.hardware.vehicle@2.0 \
+ libbase \
+ libutils \
+ libcutils \
+ liblog \
+ libhidlbase \
+ libhidltransport \
+ libhwbinder \
+ libprotobuf-cpp-full \
+ libvts_common \
+ libvts_datatype \
+ libvts_measurement \
+ libvts_multidevice_proto \
+
+LOCAL_PROTOC_OPTIMIZE_TYPE := full
+
+LOCAL_MULTILIB := both
+
+include $(BUILD_SHARED_LIBRARY)
+
+
+# build profiler for Vehicle.
+include $(CLEAR_VARS)
+
+LOCAL_MODULE := libvts_profiler_hidl_vehicle@2.0
+
+LOCAL_SRC_FILES := \
+ Vehicle.vts \
+ types.vts \
+
+LOCAL_C_INCLUDES += \
+ test/vts/drivers/libprofiling \
+
+LOCAL_VTS_MODE := PROFILER
+
+LOCAL_SHARED_LIBRARIES := \
+ android.hardware.vehicle@2.0 \
+ libbase \
+ libcutils \
+ liblog \
+ libhidlbase \
+ libhidltransport \
+ libhwbinder \
+ libprotobuf-cpp-full \
+ libvts_common \
+ libvts_multidevice_proto \
+ libvts_profiling \
+ libutils \
+
+LOCAL_PROTOC_OPTIMIZE_TYPE := full
+
+LOCAL_MULTILIB := both
+
+include $(BUILD_SHARED_LIBRARY)
+
+
+# build profiler for VehicleCallback.
+include $(CLEAR_VARS)
+
+LOCAL_MODULE := libvts_profiler_hidl_vehicle_callback_@2.0
+
+LOCAL_SRC_FILES := \
+ Vehicle.vts \
+ types.vts \
+
+LOCAL_C_INCLUDES += \
+ test/vts/drivers/libprofiling \
+
+LOCAL_VTS_MODE := PROFILER
+
+LOCAL_SHARED_LIBRARIES := \
+ android.hardware.vehicle@2.0 \
+ libbase \
+ libcutils \
+ liblog \
+ libhidlbase \
+ libhidltransport \
+ libhwbinder \
+ libprotobuf-cpp-full \
+ libvts_common \
+ libvts_multidevice_proto \
+ libvts_profiling \
+ libutils \
+
+LOCAL_PROTOC_OPTIMIZE_TYPE := full
+
+LOCAL_MULTILIB := both
+
+include $(BUILD_SHARED_LIBRARY)
+
+include $(call all-makefiles-under,$(LOCAL_PATH))
\ No newline at end of file
diff --git a/vehicle/2.0/vts/Vehicle.vts b/vehicle/2.0/vts/Vehicle.vts
new file mode 100644
index 0000000..7fecfa9
--- /dev/null
+++ b/vehicle/2.0/vts/Vehicle.vts
@@ -0,0 +1,116 @@
+component_class: HAL_HIDL
+component_type_version: 2.0
+component_name: "IVehicle"
+
+package: "android.hardware.vehicle"
+
+import: "android.hardware.vehicle@2.0::IVehicleCallback"
+import: "android.hardware.vehicle@2.0::types"
+
+interface: {
+ api: {
+ name: "getAllPropConfigs"
+ return_type_hidl: {
+ type: TYPE_VECTOR
+ vector_value: {
+ type: TYPE_STRUCT
+ predefined_type: "::android::hardware::vehicle::V2_0::VehiclePropConfig"
+ }
+ }
+ }
+
+ api: {
+ name: "getPropConfigs"
+ return_type_hidl: {
+ type: TYPE_ENUM
+ predefined_type: "::android::hardware::vehicle::V2_0::StatusCode"
+ }
+ return_type_hidl: {
+ type: TYPE_VECTOR
+ vector_value: {
+ type: TYPE_STRUCT
+ predefined_type: "::android::hardware::vehicle::V2_0::VehiclePropConfig"
+ }
+ }
+ arg: {
+ type: TYPE_VECTOR
+ vector_value: {
+ type: TYPE_ENUM
+ predefined_type: "::android::hardware::vehicle::V2_0::VehicleProperty"
+ }
+ }
+ }
+
+ api: {
+ name: "get"
+ return_type_hidl: {
+ type: TYPE_ENUM
+ predefined_type: "::android::hardware::vehicle::V2_0::StatusCode"
+ }
+ return_type_hidl: {
+ type: TYPE_STRUCT
+ predefined_type: "::android::hardware::vehicle::V2_0::VehiclePropValue"
+ }
+ arg: {
+ type: TYPE_STRUCT
+ predefined_type: "::android::hardware::vehicle::V2_0::VehiclePropValue"
+ }
+ }
+
+ api: {
+ name: "set"
+ return_type_hidl: {
+ type: TYPE_ENUM
+ predefined_type: "::android::hardware::vehicle::V2_0::StatusCode"
+ }
+ arg: {
+ type: TYPE_STRUCT
+ predefined_type: "::android::hardware::vehicle::V2_0::VehiclePropValue"
+ }
+ }
+
+ api: {
+ name: "subscribe"
+ return_type_hidl: {
+ type: TYPE_ENUM
+ predefined_type: "::android::hardware::vehicle::V2_0::StatusCode"
+ }
+ arg: {
+ type: TYPE_HIDL_CALLBACK
+ predefined_type: "IVehicleCallback"
+ is_callback: true
+ }
+ arg: {
+ type: TYPE_VECTOR
+ vector_value: {
+ type: TYPE_STRUCT
+ predefined_type: "::android::hardware::vehicle::V2_0::SubscribeOptions"
+ }
+ }
+ }
+
+ api: {
+ name: "unsubscribe"
+ return_type_hidl: {
+ type: TYPE_ENUM
+ predefined_type: "::android::hardware::vehicle::V2_0::StatusCode"
+ }
+ arg: {
+ type: TYPE_HIDL_CALLBACK
+ predefined_type: "IVehicleCallback"
+ is_callback: true
+ }
+ arg: {
+ type: TYPE_ENUM
+ predefined_type: "::android::hardware::vehicle::V2_0::VehicleProperty"
+ }
+ }
+
+ api: {
+ name: "debugDump"
+ return_type_hidl: {
+ type: TYPE_STRING
+ }
+ }
+
+}
diff --git a/vehicle/2.0/vts/VehicleCallback.vts b/vehicle/2.0/vts/VehicleCallback.vts
new file mode 100644
index 0000000..b5ee152
--- /dev/null
+++ b/vehicle/2.0/vts/VehicleCallback.vts
@@ -0,0 +1,45 @@
+component_class: HAL_HIDL
+component_type_version: 2.0
+component_name: "IVehicleCallback"
+
+package: "android.hardware.vehicle"
+
+import: "android.hardware.vehicle@2.0::types"
+
+interface: {
+ api: {
+ name: "onPropertyEvent"
+ arg: {
+ type: TYPE_VECTOR
+ vector_value: {
+ type: TYPE_STRUCT
+ predefined_type: "::android::hardware::vehicle::V2_0::VehiclePropValue"
+ }
+ }
+ }
+
+ api: {
+ name: "onPropertySet"
+ arg: {
+ type: TYPE_STRUCT
+ predefined_type: "::android::hardware::vehicle::V2_0::VehiclePropValue"
+ }
+ }
+
+ api: {
+ name: "onPropertySetError"
+ arg: {
+ type: TYPE_ENUM
+ predefined_type: "::android::hardware::vehicle::V2_0::StatusCode"
+ }
+ arg: {
+ type: TYPE_ENUM
+ predefined_type: "::android::hardware::vehicle::V2_0::VehicleProperty"
+ }
+ arg: {
+ type: TYPE_SCALAR
+ scalar_type: "int32_t"
+ }
+ }
+
+}
diff --git a/vehicle/2.0/vts/types.vts b/vehicle/2.0/vts/types.vts
new file mode 100644
index 0000000..fc63add
--- /dev/null
+++ b/vehicle/2.0/vts/types.vts
@@ -0,0 +1,1821 @@
+component_class: HAL_HIDL
+component_type_version: 2.0
+component_name: "types"
+
+package: "android.hardware.vehicle"
+
+
+attribute: {
+ name: "::android::hardware::vehicle::V2_0::VehiclePropertyType"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "int32_t"
+
+ enumerator: "STRING"
+ scalar_value: {
+ int32_t: 1048576
+ }
+ enumerator: "BOOLEAN"
+ scalar_value: {
+ int32_t: 2097152
+ }
+ enumerator: "INT32"
+ scalar_value: {
+ int32_t: 4194304
+ }
+ enumerator: "INT32_VEC"
+ scalar_value: {
+ int32_t: 4259840
+ }
+ enumerator: "INT64"
+ scalar_value: {
+ int32_t: 5242880
+ }
+ enumerator: "FLOAT"
+ scalar_value: {
+ int32_t: 6291456
+ }
+ enumerator: "FLOAT_VEC"
+ scalar_value: {
+ int32_t: 6356992
+ }
+ enumerator: "BYTES"
+ scalar_value: {
+ int32_t: 7340032
+ }
+ enumerator: "MASK"
+ scalar_value: {
+ int32_t: 16711680
+ }
+ }
+}
+
+attribute: {
+ name: "::android::hardware::vehicle::V2_0::VehicleArea"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "int32_t"
+
+ enumerator: "GLOBAL"
+ scalar_value: {
+ int32_t: 16777216
+ }
+ enumerator: "ZONE"
+ scalar_value: {
+ int32_t: 33554432
+ }
+ enumerator: "WINDOW"
+ scalar_value: {
+ int32_t: 50331648
+ }
+ enumerator: "MIRROR"
+ scalar_value: {
+ int32_t: 67108864
+ }
+ enumerator: "SEAT"
+ scalar_value: {
+ int32_t: 83886080
+ }
+ enumerator: "DOOR"
+ scalar_value: {
+ int32_t: 100663296
+ }
+ enumerator: "MASK"
+ scalar_value: {
+ int32_t: 251658240
+ }
+ }
+}
+
+attribute: {
+ name: "::android::hardware::vehicle::V2_0::VehiclePropertyGroup"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "int32_t"
+
+ enumerator: "SYSTEM"
+ scalar_value: {
+ int32_t: 268435456
+ }
+ enumerator: "VENDOR"
+ scalar_value: {
+ int32_t: 536870912
+ }
+ enumerator: "MASK"
+ scalar_value: {
+ int32_t: -268435456
+ }
+ }
+}
+
+attribute: {
+ name: "::android::hardware::vehicle::V2_0::VehicleProperty"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "int32_t"
+
+ enumerator: "INVALID"
+ scalar_value: {
+ int32_t: 0
+ }
+ enumerator: "INFO_VIN"
+ scalar_value: {
+ int32_t: 286261504
+ }
+ enumerator: "INFO_MAKE"
+ scalar_value: {
+ int32_t: 286261505
+ }
+ enumerator: "INFO_MODEL"
+ scalar_value: {
+ int32_t: 286261506
+ }
+ enumerator: "INFO_MODEL_YEAR"
+ scalar_value: {
+ int32_t: 289407235
+ }
+ enumerator: "INFO_FUEL_CAPACITY"
+ scalar_value: {
+ int32_t: 291504388
+ }
+ enumerator: "PERF_ODOMETER"
+ scalar_value: {
+ int32_t: 291504644
+ }
+ enumerator: "PERF_VEHICLE_SPEED"
+ scalar_value: {
+ int32_t: 291504647
+ }
+ enumerator: "ENGINE_COOLANT_TEMP"
+ scalar_value: {
+ int32_t: 291504897
+ }
+ enumerator: "ENGINE_OIL_TEMP"
+ scalar_value: {
+ int32_t: 291504900
+ }
+ enumerator: "ENGINE_RPM"
+ scalar_value: {
+ int32_t: 291504901
+ }
+ enumerator: "GEAR_SELECTION"
+ scalar_value: {
+ int32_t: 289408000
+ }
+ enumerator: "CURRENT_GEAR"
+ scalar_value: {
+ int32_t: 289408001
+ }
+ enumerator: "PARKING_BRAKE_ON"
+ scalar_value: {
+ int32_t: 287310850
+ }
+ enumerator: "DRIVING_STATUS"
+ scalar_value: {
+ int32_t: 289408004
+ }
+ enumerator: "FUEL_LEVEL_LOW"
+ scalar_value: {
+ int32_t: 287310853
+ }
+ enumerator: "NIGHT_MODE"
+ scalar_value: {
+ int32_t: 287310855
+ }
+ enumerator: "TURN_SIGNAL_STATE"
+ scalar_value: {
+ int32_t: 289408008
+ }
+ enumerator: "HVAC_FAN_SPEED"
+ scalar_value: {
+ int32_t: 306185472
+ }
+ enumerator: "HVAC_FAN_DIRECTION"
+ scalar_value: {
+ int32_t: 306185473
+ }
+ enumerator: "HVAC_TEMPERATURE_CURRENT"
+ scalar_value: {
+ int32_t: 308282626
+ }
+ enumerator: "HVAC_TEMPERATURE_SET"
+ scalar_value: {
+ int32_t: 308282627
+ }
+ enumerator: "HVAC_DEFROSTER"
+ scalar_value: {
+ int32_t: 320865540
+ }
+ enumerator: "HVAC_AC_ON"
+ scalar_value: {
+ int32_t: 304088325
+ }
+ enumerator: "HVAC_MAX_AC_ON"
+ scalar_value: {
+ int32_t: 304088326
+ }
+ enumerator: "HVAC_MAX_DEFROST_ON"
+ scalar_value: {
+ int32_t: 304088327
+ }
+ enumerator: "HVAC_RECIRC_ON"
+ scalar_value: {
+ int32_t: 304088328
+ }
+ enumerator: "HVAC_DUAL_ON"
+ scalar_value: {
+ int32_t: 304088329
+ }
+ enumerator: "HVAC_AUTO_ON"
+ scalar_value: {
+ int32_t: 304088330
+ }
+ enumerator: "HVAC_SEAT_TEMPERATURE"
+ scalar_value: {
+ int32_t: 356517131
+ }
+ enumerator: "HVAC_SIDE_MIRROR_HEAT"
+ scalar_value: {
+ int32_t: 339739916
+ }
+ enumerator: "HVAC_STEERING_WHEEL_TEMP"
+ scalar_value: {
+ int32_t: 289408269
+ }
+ enumerator: "HVAC_TEMPERATURE_UNITS"
+ scalar_value: {
+ int32_t: 306185486
+ }
+ enumerator: "HVAC_ACTUAL_FAN_SPEED_RPM"
+ scalar_value: {
+ int32_t: 306185487
+ }
+ enumerator: "HVAC_FAN_DIRECTION_AVAILABLE"
+ scalar_value: {
+ int32_t: 306185489
+ }
+ enumerator: "HVAC_POWER_ON"
+ scalar_value: {
+ int32_t: 304088336
+ }
+ enumerator: "ENV_OUTSIDE_TEMPERATURE"
+ scalar_value: {
+ int32_t: 291505923
+ }
+ enumerator: "ENV_CABIN_TEMPERATURE"
+ scalar_value: {
+ int32_t: 291505924
+ }
+ enumerator: "RADIO_PRESET"
+ scalar_value: {
+ int32_t: 289474561
+ }
+ enumerator: "AUDIO_FOCUS"
+ scalar_value: {
+ int32_t: 289474816
+ }
+ enumerator: "AUDIO_VOLUME"
+ scalar_value: {
+ int32_t: 289474817
+ }
+ enumerator: "AUDIO_VOLUME_LIMIT"
+ scalar_value: {
+ int32_t: 289474818
+ }
+ enumerator: "AUDIO_ROUTING_POLICY"
+ scalar_value: {
+ int32_t: 289474819
+ }
+ enumerator: "AUDIO_HW_VARIANT"
+ scalar_value: {
+ int32_t: 289409284
+ }
+ enumerator: "AUDIO_EXT_ROUTING_HINT"
+ scalar_value: {
+ int32_t: 289474821
+ }
+ enumerator: "AP_POWER_STATE"
+ scalar_value: {
+ int32_t: 2560
+ }
+ enumerator: "DISPLAY_BRIGHTNESS"
+ scalar_value: {
+ int32_t: 289409537
+ }
+ enumerator: "AP_POWER_BOOTUP_REASON"
+ scalar_value: {
+ int32_t: 289409538
+ }
+ enumerator: "HW_KEY_INPUT"
+ scalar_value: {
+ int32_t: 289475088
+ }
+ enumerator: "INSTRUMENT_CLUSTER_INFO"
+ scalar_value: {
+ int32_t: 289475104
+ }
+ enumerator: "UNIX_TIME"
+ scalar_value: {
+ int32_t: 290458160
+ }
+ enumerator: "CURRENT_TIME_IN_SECONDS"
+ scalar_value: {
+ int32_t: 289409585
+ }
+ enumerator: "DOOR_POS"
+ scalar_value: {
+ int32_t: 373295872
+ }
+ enumerator: "DOOR_MOVE"
+ scalar_value: {
+ int32_t: 373295873
+ }
+ enumerator: "DOOR_LOCK"
+ scalar_value: {
+ int32_t: 371198722
+ }
+ enumerator: "MIRROR_Z_POS"
+ scalar_value: {
+ int32_t: 339741504
+ }
+ enumerator: "MIRROR_Z_MOVE"
+ scalar_value: {
+ int32_t: 339741505
+ }
+ enumerator: "MIRROR_Y_POS"
+ scalar_value: {
+ int32_t: 339741506
+ }
+ enumerator: "MIRROR_Y_MOVE"
+ scalar_value: {
+ int32_t: 339741507
+ }
+ enumerator: "MIRROR_LOCK"
+ scalar_value: {
+ int32_t: 287312708
+ }
+ enumerator: "MIRROR_FOLD"
+ scalar_value: {
+ int32_t: 287312709
+ }
+ enumerator: "SEAT_MEMORY_SELECT"
+ scalar_value: {
+ int32_t: 356518784
+ }
+ enumerator: "SEAT_MEMORY_SET"
+ scalar_value: {
+ int32_t: 356518785
+ }
+ enumerator: "SEAT_BELT_BUCKLED"
+ scalar_value: {
+ int32_t: 354421634
+ }
+ enumerator: "SEAT_BELT_HEIGHT_POS"
+ scalar_value: {
+ int32_t: 356518787
+ }
+ enumerator: "SEAT_BELT_HEIGHT_MOVE"
+ scalar_value: {
+ int32_t: 356518788
+ }
+ enumerator: "SEAT_FORE_AFT_POS"
+ scalar_value: {
+ int32_t: 356518789
+ }
+ enumerator: "SEAT_FORE_AFT_MOVE"
+ scalar_value: {
+ int32_t: 356518790
+ }
+ enumerator: "SEAT_BACKREST_ANGLE_1_POS"
+ scalar_value: {
+ int32_t: 356518791
+ }
+ enumerator: "SEAT_BACKREST_ANGLE_1_MOVE"
+ scalar_value: {
+ int32_t: 356518792
+ }
+ enumerator: "SEAT_BACKREST_ANGLE_2_POS"
+ scalar_value: {
+ int32_t: 356518793
+ }
+ enumerator: "SEAT_BACKREST_ANGLE_2_MOVE"
+ scalar_value: {
+ int32_t: 356518794
+ }
+ enumerator: "SEAT_HEIGHT_POS"
+ scalar_value: {
+ int32_t: 356518795
+ }
+ enumerator: "SEAT_HEIGHT_MOVE"
+ scalar_value: {
+ int32_t: 356518796
+ }
+ enumerator: "SEAT_DEPTH_POS"
+ scalar_value: {
+ int32_t: 356518797
+ }
+ enumerator: "SEAT_DEPTH_MOVE"
+ scalar_value: {
+ int32_t: 356518798
+ }
+ enumerator: "SEAT_TILT_POS"
+ scalar_value: {
+ int32_t: 356518799
+ }
+ enumerator: "SEAT_TILT_MOVE"
+ scalar_value: {
+ int32_t: 356518800
+ }
+ enumerator: "SEAT_LUMBAR_FORE_AFT_POS"
+ scalar_value: {
+ int32_t: 356518801
+ }
+ enumerator: "SEAT_LUMBAR_FORE_AFT_MOVE"
+ scalar_value: {
+ int32_t: 356518802
+ }
+ enumerator: "SEAT_LUMBAR_SIDE_SUPPORT_POS"
+ scalar_value: {
+ int32_t: 356518803
+ }
+ enumerator: "SEAT_LUMBAR_SIDE_SUPPORT_MOVE"
+ scalar_value: {
+ int32_t: 356518804
+ }
+ enumerator: "SEAT_HEADREST_HEIGHT_POS"
+ scalar_value: {
+ int32_t: 289409941
+ }
+ enumerator: "SEAT_HEADREST_HEIGHT_MOVE"
+ scalar_value: {
+ int32_t: 356518806
+ }
+ enumerator: "SEAT_HEADREST_ANGLE_POS"
+ scalar_value: {
+ int32_t: 356518807
+ }
+ enumerator: "SEAT_HEADREST_ANGLE_MOVE"
+ scalar_value: {
+ int32_t: 356518808
+ }
+ enumerator: "SEAT_HEADREST_FORE_AFT_POS"
+ scalar_value: {
+ int32_t: 356518809
+ }
+ enumerator: "SEAT_HEADREST_FORE_AFT_MOVE"
+ scalar_value: {
+ int32_t: 356518810
+ }
+ enumerator: "WINDOW_POS"
+ scalar_value: {
+ int32_t: 289409984
+ }
+ enumerator: "WINDOW_MOVE"
+ scalar_value: {
+ int32_t: 289409985
+ }
+ enumerator: "WINDOW_VENT_POS"
+ scalar_value: {
+ int32_t: 289409986
+ }
+ enumerator: "WINDOW_VENT_MOVE"
+ scalar_value: {
+ int32_t: 289409987
+ }
+ enumerator: "WINDOW_LOCK"
+ scalar_value: {
+ int32_t: 287312836
+ }
+ }
+}
+
+attribute: {
+ name: "::android::hardware::vehicle::V2_0::VehicleHvacFanDirection"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "int32_t"
+
+ enumerator: "FACE"
+ scalar_value: {
+ int32_t: 1
+ }
+ enumerator: "FLOOR"
+ scalar_value: {
+ int32_t: 2
+ }
+ enumerator: "FACE_AND_FLOOR"
+ scalar_value: {
+ int32_t: 3
+ }
+ enumerator: "DEFROST"
+ scalar_value: {
+ int32_t: 4
+ }
+ enumerator: "DEFROST_AND_FLOOR"
+ scalar_value: {
+ int32_t: 5
+ }
+ }
+}
+
+attribute: {
+ name: "::android::hardware::vehicle::V2_0::VehicleRadioConstants"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "int32_t"
+
+ enumerator: "VEHICLE_RADIO_PRESET_MIN_VALUE"
+ scalar_value: {
+ int32_t: 1
+ }
+ }
+}
+
+attribute: {
+ name: "::android::hardware::vehicle::V2_0::VehicleAudioFocusRequest"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "int32_t"
+
+ enumerator: "REQUEST_GAIN"
+ scalar_value: {
+ int32_t: 1
+ }
+ enumerator: "REQUEST_GAIN_TRANSIENT"
+ scalar_value: {
+ int32_t: 2
+ }
+ enumerator: "REQUEST_GAIN_TRANSIENT_MAY_DUCK"
+ scalar_value: {
+ int32_t: 3
+ }
+ enumerator: "REQUEST_GAIN_TRANSIENT_NO_DUCK"
+ scalar_value: {
+ int32_t: 4
+ }
+ enumerator: "REQUEST_RELEASE"
+ scalar_value: {
+ int32_t: 5
+ }
+ }
+}
+
+attribute: {
+ name: "::android::hardware::vehicle::V2_0::VehicleAudioFocusState"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "int32_t"
+
+ enumerator: "STATE_GAIN"
+ scalar_value: {
+ int32_t: 1
+ }
+ enumerator: "STATE_GAIN_TRANSIENT"
+ scalar_value: {
+ int32_t: 2
+ }
+ enumerator: "STATE_LOSS_TRANSIENT_CAN_DUCK"
+ scalar_value: {
+ int32_t: 3
+ }
+ enumerator: "STATE_LOSS_TRANSIENT"
+ scalar_value: {
+ int32_t: 4
+ }
+ enumerator: "STATE_LOSS"
+ scalar_value: {
+ int32_t: 5
+ }
+ enumerator: "STATE_LOSS_TRANSIENT_EXLCUSIVE"
+ scalar_value: {
+ int32_t: 6
+ }
+ }
+}
+
+attribute: {
+ name: "::android::hardware::vehicle::V2_0::VehicleAudioStreamFlag"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "int32_t"
+
+ enumerator: "STREAM0_FLAG"
+ scalar_value: {
+ int32_t: 1
+ }
+ enumerator: "STREAM1_FLAG"
+ scalar_value: {
+ int32_t: 2
+ }
+ enumerator: "STREAM2_FLAG"
+ scalar_value: {
+ int32_t: 4
+ }
+ }
+}
+
+attribute: {
+ name: "::android::hardware::vehicle::V2_0::VehicleAudioStream"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "int32_t"
+
+ enumerator: "STREAM0"
+ scalar_value: {
+ int32_t: 0
+ }
+ enumerator: "STREAM1"
+ scalar_value: {
+ int32_t: 1
+ }
+ }
+}
+
+attribute: {
+ name: "::android::hardware::vehicle::V2_0::VehicleAudioExtFocusFlag"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "int32_t"
+
+ enumerator: "NONE_FLAG"
+ scalar_value: {
+ int32_t: 0
+ }
+ enumerator: "PERMANENT_FLAG"
+ scalar_value: {
+ int32_t: 1
+ }
+ enumerator: "TRANSIENT_FLAG"
+ scalar_value: {
+ int32_t: 2
+ }
+ enumerator: "PLAY_ONLY_FLAG"
+ scalar_value: {
+ int32_t: 4
+ }
+ enumerator: "MUTE_MEDIA_FLAG"
+ scalar_value: {
+ int32_t: 8
+ }
+ }
+}
+
+attribute: {
+ name: "::android::hardware::vehicle::V2_0::VehicleAudioFocusIndex"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "int32_t"
+
+ enumerator: "FOCUS"
+ scalar_value: {
+ int32_t: 0
+ }
+ enumerator: "STREAMS"
+ scalar_value: {
+ int32_t: 1
+ }
+ enumerator: "EXTERNAL_FOCUS_STATE"
+ scalar_value: {
+ int32_t: 2
+ }
+ enumerator: "AUDIO_CONTEXTS"
+ scalar_value: {
+ int32_t: 3
+ }
+ }
+}
+
+attribute: {
+ name: "::android::hardware::vehicle::V2_0::VehicleAudioContextFlag"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "int32_t"
+
+ enumerator: "MUSIC_FLAG"
+ scalar_value: {
+ int32_t: 1
+ }
+ enumerator: "NAVIGATION_FLAG"
+ scalar_value: {
+ int32_t: 2
+ }
+ enumerator: "VOICE_COMMAND_FLAG"
+ scalar_value: {
+ int32_t: 4
+ }
+ enumerator: "CALL_FLAG"
+ scalar_value: {
+ int32_t: 8
+ }
+ enumerator: "ALARM_FLAG"
+ scalar_value: {
+ int32_t: 16
+ }
+ enumerator: "NOTIFICATION_FLAG"
+ scalar_value: {
+ int32_t: 32
+ }
+ enumerator: "UNKNOWN_FLAG"
+ scalar_value: {
+ int32_t: 64
+ }
+ enumerator: "SAFETY_ALERT_FLAG"
+ scalar_value: {
+ int32_t: 128
+ }
+ enumerator: "CD_ROM_FLAG"
+ scalar_value: {
+ int32_t: 256
+ }
+ enumerator: "AUX_AUDIO_FLAG"
+ scalar_value: {
+ int32_t: 512
+ }
+ enumerator: "SYSTEM_SOUND_FLAG"
+ scalar_value: {
+ int32_t: 1024
+ }
+ enumerator: "RADIO_FLAG"
+ scalar_value: {
+ int32_t: 2048
+ }
+ enumerator: "EXT_SOURCE_FLAG"
+ scalar_value: {
+ int32_t: 4096
+ }
+ }
+}
+
+attribute: {
+ name: "::android::hardware::vehicle::V2_0::VehicleAudioVolumeCapabilityFlag"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "int32_t"
+
+ enumerator: "PERSISTENT_STORAGE"
+ scalar_value: {
+ int32_t: 1
+ }
+ enumerator: "MASTER_VOLUME_ONLY"
+ scalar_value: {
+ int32_t: 2
+ }
+ }
+}
+
+attribute: {
+ name: "::android::hardware::vehicle::V2_0::VehicleAudioVolumeState"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "int32_t"
+
+ enumerator: "STATE_OK"
+ scalar_value: {
+ int32_t: 0
+ }
+ enumerator: "LIMIT_REACHED"
+ scalar_value: {
+ int32_t: 1
+ }
+ }
+}
+
+attribute: {
+ name: "::android::hardware::vehicle::V2_0::VehicleAudioVolumeIndex"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "int32_t"
+
+ enumerator: "INDEX_STREAM"
+ scalar_value: {
+ int32_t: 0
+ }
+ enumerator: "INDEX_VOLUME"
+ scalar_value: {
+ int32_t: 1
+ }
+ enumerator: "INDEX_STATE"
+ scalar_value: {
+ int32_t: 2
+ }
+ }
+}
+
+attribute: {
+ name: "::android::hardware::vehicle::V2_0::VehicleAudioVolumeLimitIndex"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "int32_t"
+
+ enumerator: "STREAM"
+ scalar_value: {
+ int32_t: 0
+ }
+ enumerator: "MAX_VOLUME"
+ scalar_value: {
+ int32_t: 1
+ }
+ }
+}
+
+attribute: {
+ name: "::android::hardware::vehicle::V2_0::VehicleAudioRoutingPolicyIndex"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "int32_t"
+
+ enumerator: "STREAM"
+ scalar_value: {
+ int32_t: 0
+ }
+ enumerator: "CONTEXTS"
+ scalar_value: {
+ int32_t: 1
+ }
+ }
+}
+
+attribute: {
+ name: "::android::hardware::vehicle::V2_0::VehicleAudioHwVariantConfigFlag"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "int32_t"
+
+ enumerator: "INTERNAL_RADIO_FLAG"
+ scalar_value: {
+ int32_t: 1
+ }
+ }
+}
+
+attribute: {
+ name: "::android::hardware::vehicle::V2_0::VehicleApPowerStateConfigFlag"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "int32_t"
+
+ enumerator: "ENABLE_DEEP_SLEEP_FLAG"
+ scalar_value: {
+ int32_t: 1
+ }
+ enumerator: "CONFIG_SUPPORT_TIMER_POWER_ON_FLAG"
+ scalar_value: {
+ int32_t: 2
+ }
+ }
+}
+
+attribute: {
+ name: "::android::hardware::vehicle::V2_0::VehicleApPowerState"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "int32_t"
+
+ enumerator: "OFF"
+ scalar_value: {
+ int32_t: 0
+ }
+ enumerator: "DEEP_SLEEP"
+ scalar_value: {
+ int32_t: 1
+ }
+ enumerator: "ON_DISP_OFF"
+ scalar_value: {
+ int32_t: 2
+ }
+ enumerator: "ON_FULL"
+ scalar_value: {
+ int32_t: 3
+ }
+ enumerator: "SHUTDOWN_PREPARE"
+ scalar_value: {
+ int32_t: 4
+ }
+ }
+}
+
+attribute: {
+ name: "::android::hardware::vehicle::V2_0::VehicleApPowerStateShutdownParam"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "int32_t"
+
+ enumerator: "SHUTDOWN_IMMEDIATELY"
+ scalar_value: {
+ int32_t: 1
+ }
+ enumerator: "CAN_SLEEP"
+ scalar_value: {
+ int32_t: 2
+ }
+ enumerator: "SHUTDOWN_ONLY"
+ scalar_value: {
+ int32_t: 3
+ }
+ }
+}
+
+attribute: {
+ name: "::android::hardware::vehicle::V2_0::VehicleApPowerSetState"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "int32_t"
+
+ enumerator: "BOOT_COMPLETE"
+ scalar_value: {
+ int32_t: 1
+ }
+ enumerator: "DEEP_SLEEP_ENTRY"
+ scalar_value: {
+ int32_t: 2
+ }
+ enumerator: "DEEP_SLEEP_EXIT"
+ scalar_value: {
+ int32_t: 3
+ }
+ enumerator: "SHUTDOWN_POSTPONE"
+ scalar_value: {
+ int32_t: 4
+ }
+ enumerator: "SHUTDOWN_START"
+ scalar_value: {
+ int32_t: 5
+ }
+ enumerator: "DISPLAY_OFF"
+ scalar_value: {
+ int32_t: 6
+ }
+ enumerator: "DISPLAY_ON"
+ scalar_value: {
+ int32_t: 7
+ }
+ }
+}
+
+attribute: {
+ name: "::android::hardware::vehicle::V2_0::VehicleApPowerStateIndex"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "int32_t"
+
+ enumerator: "STATE"
+ scalar_value: {
+ int32_t: 0
+ }
+ enumerator: "ADDITIONAL"
+ scalar_value: {
+ int32_t: 1
+ }
+ }
+}
+
+attribute: {
+ name: "::android::hardware::vehicle::V2_0::VehicleApPowerBootupReason"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "int32_t"
+
+ enumerator: "USER_POWER_ON"
+ scalar_value: {
+ int32_t: 0
+ }
+ enumerator: "USER_UNLOCK"
+ scalar_value: {
+ int32_t: 1
+ }
+ enumerator: "TIMER"
+ scalar_value: {
+ int32_t: 2
+ }
+ }
+}
+
+attribute: {
+ name: "::android::hardware::vehicle::V2_0::VehicleHwKeyInputAction"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "int32_t"
+
+ enumerator: "ACTION_DOWN"
+ scalar_value: {
+ int32_t: 0
+ }
+ enumerator: "ACTION_UP"
+ scalar_value: {
+ int32_t: 1
+ }
+ }
+}
+
+attribute: {
+ name: "::android::hardware::vehicle::V2_0::VehicleDisplay"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "int32_t"
+
+ enumerator: "MAIN"
+ scalar_value: {
+ int32_t: 0
+ }
+ enumerator: "INSTRUMENT_CLUSTER"
+ scalar_value: {
+ int32_t: 1
+ }
+ }
+}
+
+attribute: {
+ name: "::android::hardware::vehicle::V2_0::VehicleInstrumentClusterType"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "int32_t"
+
+ enumerator: "NONE"
+ scalar_value: {
+ int32_t: 0
+ }
+ enumerator: "HAL_INTERFACE"
+ scalar_value: {
+ int32_t: 1
+ }
+ enumerator: "EXTERNAL_DISPLAY"
+ scalar_value: {
+ int32_t: 2
+ }
+ }
+}
+
+attribute: {
+ name: "::android::hardware::vehicle::V2_0::VehicleUnit"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "int32_t"
+
+ enumerator: "SHOULD_NOT_USE"
+ scalar_value: {
+ int32_t: 0
+ }
+ enumerator: "METER_PER_SEC"
+ scalar_value: {
+ int32_t: 1
+ }
+ enumerator: "RPM"
+ scalar_value: {
+ int32_t: 2
+ }
+ enumerator: "HERTZ"
+ scalar_value: {
+ int32_t: 3
+ }
+ enumerator: "PERCENTILE"
+ scalar_value: {
+ int32_t: 16
+ }
+ enumerator: "MILLIMETER"
+ scalar_value: {
+ int32_t: 32
+ }
+ enumerator: "METER"
+ scalar_value: {
+ int32_t: 33
+ }
+ enumerator: "KILOMETER"
+ scalar_value: {
+ int32_t: 35
+ }
+ enumerator: "CELSIUS"
+ scalar_value: {
+ int32_t: 48
+ }
+ enumerator: "FAHRENHEIT"
+ scalar_value: {
+ int32_t: 49
+ }
+ enumerator: "KELVIN"
+ scalar_value: {
+ int32_t: 50
+ }
+ enumerator: "MILLILITER"
+ scalar_value: {
+ int32_t: 64
+ }
+ enumerator: "NANO_SECS"
+ scalar_value: {
+ int32_t: 80
+ }
+ enumerator: "SECS"
+ scalar_value: {
+ int32_t: 83
+ }
+ enumerator: "YEAR"
+ scalar_value: {
+ int32_t: 89
+ }
+ }
+}
+
+attribute: {
+ name: "::android::hardware::vehicle::V2_0::VehiclePropertyChangeMode"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "int32_t"
+
+ enumerator: "STATIC"
+ scalar_value: {
+ int32_t: 0
+ }
+ enumerator: "ON_CHANGE"
+ scalar_value: {
+ int32_t: 1
+ }
+ enumerator: "CONTINUOUS"
+ scalar_value: {
+ int32_t: 2
+ }
+ enumerator: "POLL"
+ scalar_value: {
+ int32_t: 3
+ }
+ enumerator: "ON_SET"
+ scalar_value: {
+ int32_t: 4
+ }
+ }
+}
+
+attribute: {
+ name: "::android::hardware::vehicle::V2_0::VehiclePropertyAccess"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "int32_t"
+
+ enumerator: "READ"
+ scalar_value: {
+ int32_t: 1
+ }
+ enumerator: "WRITE"
+ scalar_value: {
+ int32_t: 2
+ }
+ enumerator: "READ_WRITE"
+ scalar_value: {
+ int32_t: 3
+ }
+ }
+}
+
+attribute: {
+ name: "::android::hardware::vehicle::V2_0::VehiclePermissionModel"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "int32_t"
+
+ enumerator: "NO_RESTRICTION"
+ scalar_value: {
+ int32_t: 0
+ }
+ enumerator: "OEM_ONLY"
+ scalar_value: {
+ int32_t: 1
+ }
+ enumerator: "SYSTEM_APP_ONLY"
+ scalar_value: {
+ int32_t: 2
+ }
+ enumerator: "OEM_OR_SYSTEM_APP"
+ scalar_value: {
+ int32_t: 3
+ }
+ }
+}
+
+attribute: {
+ name: "::android::hardware::vehicle::V2_0::VehicleDrivingStatus"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "int32_t"
+
+ enumerator: "UNRESTRICTED"
+ scalar_value: {
+ int32_t: 0
+ }
+ enumerator: "NO_VIDEO"
+ scalar_value: {
+ int32_t: 1
+ }
+ enumerator: "NO_KEYBOARD_INPUT"
+ scalar_value: {
+ int32_t: 2
+ }
+ enumerator: "NO_VOICE_INPUT"
+ scalar_value: {
+ int32_t: 4
+ }
+ enumerator: "NO_CONFIG"
+ scalar_value: {
+ int32_t: 8
+ }
+ enumerator: "LIMIT_MESSAGE_LEN"
+ scalar_value: {
+ int32_t: 16
+ }
+ }
+}
+
+attribute: {
+ name: "::android::hardware::vehicle::V2_0::VehicleGear"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "int32_t"
+
+ enumerator: "GEAR_NEUTRAL"
+ scalar_value: {
+ int32_t: 1
+ }
+ enumerator: "GEAR_REVERSE"
+ scalar_value: {
+ int32_t: 2
+ }
+ enumerator: "GEAR_PARK"
+ scalar_value: {
+ int32_t: 4
+ }
+ enumerator: "GEAR_DRIVE"
+ scalar_value: {
+ int32_t: 8
+ }
+ enumerator: "GEAR_LOW"
+ scalar_value: {
+ int32_t: 16
+ }
+ enumerator: "GEAR_1"
+ scalar_value: {
+ int32_t: 16
+ }
+ enumerator: "GEAR_2"
+ scalar_value: {
+ int32_t: 32
+ }
+ enumerator: "GEAR_3"
+ scalar_value: {
+ int32_t: 64
+ }
+ enumerator: "GEAR_4"
+ scalar_value: {
+ int32_t: 128
+ }
+ enumerator: "GEAR_5"
+ scalar_value: {
+ int32_t: 256
+ }
+ enumerator: "GEAR_6"
+ scalar_value: {
+ int32_t: 512
+ }
+ enumerator: "GEAR_7"
+ scalar_value: {
+ int32_t: 1024
+ }
+ enumerator: "GEAR_8"
+ scalar_value: {
+ int32_t: 2048
+ }
+ enumerator: "GEAR_9"
+ scalar_value: {
+ int32_t: 4096
+ }
+ }
+}
+
+attribute: {
+ name: "::android::hardware::vehicle::V2_0::VehicleAreaZone"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "int32_t"
+
+ enumerator: "ROW_1_LEFT"
+ scalar_value: {
+ int32_t: 1
+ }
+ enumerator: "ROW_1_CENTER"
+ scalar_value: {
+ int32_t: 2
+ }
+ enumerator: "ROW_1_RIGHT"
+ scalar_value: {
+ int32_t: 4
+ }
+ enumerator: "ROW_1"
+ scalar_value: {
+ int32_t: 8
+ }
+ enumerator: "ROW_2_LEFT"
+ scalar_value: {
+ int32_t: 16
+ }
+ enumerator: "ROW_2_CENTER"
+ scalar_value: {
+ int32_t: 32
+ }
+ enumerator: "ROW_2_RIGHT"
+ scalar_value: {
+ int32_t: 64
+ }
+ enumerator: "ROW_2"
+ scalar_value: {
+ int32_t: 128
+ }
+ enumerator: "ROW_3_LEFT"
+ scalar_value: {
+ int32_t: 256
+ }
+ enumerator: "ROW_3_CENTER"
+ scalar_value: {
+ int32_t: 512
+ }
+ enumerator: "ROW_3_RIGHT"
+ scalar_value: {
+ int32_t: 1024
+ }
+ enumerator: "ROW_3"
+ scalar_value: {
+ int32_t: 2048
+ }
+ enumerator: "ROW_4_LEFT"
+ scalar_value: {
+ int32_t: 4096
+ }
+ enumerator: "ROW_4_CENTER"
+ scalar_value: {
+ int32_t: 8192
+ }
+ enumerator: "ROW_4_RIGHT"
+ scalar_value: {
+ int32_t: 16384
+ }
+ enumerator: "ROW_4"
+ scalar_value: {
+ int32_t: 32768
+ }
+ enumerator: "WHOLE_CABIN"
+ scalar_value: {
+ int32_t: -2147483648
+ }
+ }
+}
+
+attribute: {
+ name: "::android::hardware::vehicle::V2_0::VehicleAreaSeat"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "int32_t"
+
+ enumerator: "ROW_1_LEFT"
+ scalar_value: {
+ int32_t: 1
+ }
+ enumerator: "ROW_1_CENTER"
+ scalar_value: {
+ int32_t: 2
+ }
+ enumerator: "ROW_1_RIGHT"
+ scalar_value: {
+ int32_t: 4
+ }
+ enumerator: "ROW_2_LEFT"
+ scalar_value: {
+ int32_t: 16
+ }
+ enumerator: "ROW_2_CENTER"
+ scalar_value: {
+ int32_t: 32
+ }
+ enumerator: "ROW_2_RIGHT"
+ scalar_value: {
+ int32_t: 64
+ }
+ enumerator: "ROW_3_LEFT"
+ scalar_value: {
+ int32_t: 256
+ }
+ enumerator: "ROW_3_CENTER"
+ scalar_value: {
+ int32_t: 512
+ }
+ enumerator: "ROW_3_RIGHT"
+ scalar_value: {
+ int32_t: 1024
+ }
+ }
+}
+
+attribute: {
+ name: "::android::hardware::vehicle::V2_0::VehicleAreaWindow"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "int32_t"
+
+ enumerator: "FRONT_WINDSHIELD"
+ scalar_value: {
+ int32_t: 1
+ }
+ enumerator: "REAR_WINDSHIELD"
+ scalar_value: {
+ int32_t: 2
+ }
+ enumerator: "ROOF_TOP"
+ scalar_value: {
+ int32_t: 4
+ }
+ enumerator: "ROW_1_LEFT"
+ scalar_value: {
+ int32_t: 16
+ }
+ enumerator: "ROW_1_RIGHT"
+ scalar_value: {
+ int32_t: 32
+ }
+ enumerator: "ROW_2_LEFT"
+ scalar_value: {
+ int32_t: 256
+ }
+ enumerator: "ROW_2_RIGHT"
+ scalar_value: {
+ int32_t: 512
+ }
+ enumerator: "ROW_3_LEFT"
+ scalar_value: {
+ int32_t: 4096
+ }
+ enumerator: "ROW_3_RIGHT"
+ scalar_value: {
+ int32_t: 8192
+ }
+ }
+}
+
+attribute: {
+ name: "::android::hardware::vehicle::V2_0::VehicleAreaDoor"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "int32_t"
+
+ enumerator: "ROW_1_LEFT"
+ scalar_value: {
+ int32_t: 1
+ }
+ enumerator: "ROW_1_RIGHT"
+ scalar_value: {
+ int32_t: 4
+ }
+ enumerator: "ROW_2_LEFT"
+ scalar_value: {
+ int32_t: 16
+ }
+ enumerator: "ROW_2_RIGHT"
+ scalar_value: {
+ int32_t: 64
+ }
+ enumerator: "ROW_3_LEFT"
+ scalar_value: {
+ int32_t: 256
+ }
+ enumerator: "ROW_3_RIGHT"
+ scalar_value: {
+ int32_t: 1024
+ }
+ enumerator: "HOOD"
+ scalar_value: {
+ int32_t: 268435456
+ }
+ enumerator: "REAR"
+ scalar_value: {
+ int32_t: 536870912
+ }
+ }
+}
+
+attribute: {
+ name: "::android::hardware::vehicle::V2_0::VehicleAreaMirror"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "int32_t"
+
+ enumerator: "DRIVER_LEFT"
+ scalar_value: {
+ int32_t: 1
+ }
+ enumerator: "DRIVER_RIGHT"
+ scalar_value: {
+ int32_t: 2
+ }
+ enumerator: "DRIVER_CENTER"
+ scalar_value: {
+ int32_t: 4
+ }
+ }
+}
+
+attribute: {
+ name: "::android::hardware::vehicle::V2_0::VehicleTurnSignal"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "int32_t"
+
+ enumerator: "NONE"
+ scalar_value: {
+ int32_t: 0
+ }
+ enumerator: "RIGHT"
+ scalar_value: {
+ int32_t: 1
+ }
+ enumerator: "LEFT"
+ scalar_value: {
+ int32_t: 2
+ }
+ enumerator: "EMERGENCY"
+ scalar_value: {
+ int32_t: 4
+ }
+ }
+}
+
+attribute: {
+ name: "::android::hardware::vehicle::V2_0::VehicleAreaConfig"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "areaId"
+ type: TYPE_SCALAR
+ scalar_type: "int32_t"
+ }
+ struct_value: {
+ name: "minInt32Value"
+ type: TYPE_SCALAR
+ scalar_type: "int32_t"
+ }
+ struct_value: {
+ name: "maxInt32Value"
+ type: TYPE_SCALAR
+ scalar_type: "int32_t"
+ }
+ struct_value: {
+ name: "minInt64Value"
+ type: TYPE_SCALAR
+ scalar_type: "int64_t"
+ }
+ struct_value: {
+ name: "maxInt64Value"
+ type: TYPE_SCALAR
+ scalar_type: "int64_t"
+ }
+ struct_value: {
+ name: "minFloatValue"
+ type: TYPE_SCALAR
+ scalar_type: "float_t"
+ }
+ struct_value: {
+ name: "maxFloatValue"
+ type: TYPE_SCALAR
+ scalar_type: "float_t"
+ }
+}
+
+attribute: {
+ name: "::android::hardware::vehicle::V2_0::VehiclePropConfig"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "prop"
+ type: TYPE_ENUM
+ predefined_type: "::android::hardware::vehicle::V2_0::VehicleProperty"
+ }
+ struct_value: {
+ name: "access"
+ type: TYPE_ENUM
+ predefined_type: "::android::hardware::vehicle::V2_0::VehiclePropertyAccess"
+ }
+ struct_value: {
+ name: "changeMode"
+ type: TYPE_ENUM
+ predefined_type: "::android::hardware::vehicle::V2_0::VehiclePropertyChangeMode"
+ }
+ struct_value: {
+ name: "permissionModel"
+ type: TYPE_ENUM
+ predefined_type: "::android::hardware::vehicle::V2_0::VehiclePermissionModel"
+ }
+ struct_value: {
+ name: "supportedAreas"
+ type: TYPE_SCALAR
+ scalar_type: "int32_t"
+ }
+ struct_value: {
+ name: "areaConfigs"
+ type: TYPE_VECTOR
+ vector_value: {
+ type: TYPE_STRUCT
+ predefined_type: "::android::hardware::vehicle::V2_0::VehicleAreaConfig"
+ }
+ }
+ struct_value: {
+ name: "configFlags"
+ type: TYPE_SCALAR
+ scalar_type: "int32_t"
+ }
+ struct_value: {
+ name: "configArray"
+ type: TYPE_VECTOR
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "int32_t"
+ }
+ }
+ struct_value: {
+ name: "configString"
+ type: TYPE_STRING
+ }
+ struct_value: {
+ name: "minSampleRate"
+ type: TYPE_SCALAR
+ scalar_type: "float_t"
+ }
+ struct_value: {
+ name: "maxSampleRate"
+ type: TYPE_SCALAR
+ scalar_type: "float_t"
+ }
+}
+
+attribute: {
+ name: "::android::hardware::vehicle::V2_0::VehiclePropValue"
+ type: TYPE_STRUCT
+ sub_struct: {
+ name: "::android::hardware::vehicle::V2_0::VehiclePropValue::RawValue"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "int32Values"
+ type: TYPE_VECTOR
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "int32_t"
+ }
+ }
+ struct_value: {
+ name: "floatValues"
+ type: TYPE_VECTOR
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "float_t"
+ }
+ }
+ struct_value: {
+ name: "int64Values"
+ type: TYPE_VECTOR
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "int64_t"
+ }
+ }
+ struct_value: {
+ name: "bytes"
+ type: TYPE_VECTOR
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ struct_value: {
+ name: "stringValue"
+ type: TYPE_STRING
+ }
+ }
+ struct_value: {
+ name: "prop"
+ type: TYPE_ENUM
+ predefined_type: "::android::hardware::vehicle::V2_0::VehicleProperty"
+ }
+ struct_value: {
+ name: "timestamp"
+ type: TYPE_SCALAR
+ scalar_type: "int64_t"
+ }
+ struct_value: {
+ name: "areaId"
+ type: TYPE_SCALAR
+ scalar_type: "int32_t"
+ }
+ struct_value: {
+ name: "value"
+ type: TYPE_STRUCT
+ predefined_type: "::android::hardware::vehicle::V2_0::VehiclePropValue::RawValue"
+ }
+}
+
+attribute: {
+ name: "::android::hardware::vehicle::V2_0::VehiclePropertyOperation"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "int32_t"
+
+ enumerator: "GENERIC"
+ scalar_value: {
+ int32_t: 0
+ }
+ enumerator: "SET"
+ scalar_value: {
+ int32_t: 1
+ }
+ enumerator: "GET"
+ scalar_value: {
+ int32_t: 2
+ }
+ enumerator: "SUBSCRIBE"
+ scalar_value: {
+ int32_t: 3
+ }
+ }
+}
+
+attribute: {
+ name: "::android::hardware::vehicle::V2_0::SubscribeFlags"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "int32_t"
+
+ enumerator: "UNDEFINED"
+ scalar_value: {
+ int32_t: 0
+ }
+ enumerator: "HAL_EVENT"
+ scalar_value: {
+ int32_t: 1
+ }
+ enumerator: "SET_CALL"
+ scalar_value: {
+ int32_t: 2
+ }
+ enumerator: "DEFAULT"
+ scalar_value: {
+ int32_t: 1
+ }
+ }
+}
+
+attribute: {
+ name: "::android::hardware::vehicle::V2_0::SubscribeOptions"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "propId"
+ type: TYPE_ENUM
+ predefined_type: "::android::hardware::vehicle::V2_0::VehicleProperty"
+ }
+ struct_value: {
+ name: "vehicleAreas"
+ type: TYPE_SCALAR
+ scalar_type: "int32_t"
+ }
+ struct_value: {
+ name: "sampleRate"
+ type: TYPE_SCALAR
+ scalar_type: "float_t"
+ }
+ struct_value: {
+ name: "flags"
+ type: TYPE_ENUM
+ predefined_type: "::android::hardware::vehicle::V2_0::SubscribeFlags"
+ }
+}
+
+attribute: {
+ name: "::android::hardware::vehicle::V2_0::StatusCode"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "int32_t"
+
+ enumerator: "OK"
+ scalar_value: {
+ int32_t: 0
+ }
+ enumerator: "TRY_AGAIN"
+ scalar_value: {
+ int32_t: 1
+ }
+ enumerator: "INVALID_ARG"
+ scalar_value: {
+ int32_t: 2
+ }
+ enumerator: "NOT_AVAILABLE"
+ scalar_value: {
+ int32_t: 3
+ }
+ enumerator: "ACCESS_DENIED"
+ scalar_value: {
+ int32_t: 4
+ }
+ enumerator: "INTERNAL_ERROR"
+ scalar_value: {
+ int32_t: 5
+ }
+ }
+}
+
diff --git a/vibrator/1.0/vts/functional/vts/testcases/hal/vibrator/hidl/target/Android.bp b/vibrator/1.0/vts/functional/vts/testcases/hal/vibrator/hidl/target/Android.bp
deleted file mode 100644
index b6ee3a3..0000000
--- a/vibrator/1.0/vts/functional/vts/testcases/hal/vibrator/hidl/target/Android.bp
+++ /dev/null
@@ -1,33 +0,0 @@
-#
-# Copyright (C) 2016 The Android Open Source Project
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-#
-
-LOCAL_PATH := $(call my-dir)
-
-include $(call all-subdir-makefiles)
-
-include $(CLEAR_VARS)
-
-LOCAL_MODULE := VibratorHidlTargetTest
-VTS_CONFIG_SRC_DIR := testcases/hal/vibrator/hidl/target
-LOCAL_MODULE_CLASS := FAKE
-LOCAL_IS_HOST_MODULE := true
-LOCAL_COMPATIBILITY_SUITE := vts
-
-include $(BUILD_SYSTEM)/base_rules.mk
-
-$(LOCAL_BUILT_MODULE):
- @echo "VTS host-driven test target: $(LOCAL_MODULE)"
- $(hide) touch $@
diff --git a/wifi/1.0/default/Android.mk b/wifi/1.0/default/Android.mk
index 646613b..62d2e0b 100644
--- a/wifi/1.0/default/Android.mk
+++ b/wifi/1.0/default/Android.mk
@@ -16,7 +16,7 @@
include $(CLEAR_VARS)
LOCAL_MODULE := android.hardware.wifi@1.0-service
LOCAL_MODULE_RELATIVE_PATH := hw
-LOCAL_CPPFLAGS := -std=c++11 -Wall -Wno-unused-parameter -Werror -Wextra
+LOCAL_CPPFLAGS := -Wall -Wno-unused-parameter -Werror -Wextra
LOCAL_SRC_FILES := \
service.cpp \
wifi.cpp \