Add vts files and driver for light hal.
Bug: 32022457
Test: compiles
Change-Id: I5141d80996d51e41930c7398aa9aa4048b365f9b
diff --git a/light/2.0/vts/Android.mk b/light/2.0/vts/Android.mk
new file mode 100644
index 0000000..a8c8c20
--- /dev/null
+++ b/light/2.0/vts/Android.mk
@@ -0,0 +1,48 @@
+#
+# 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 Light v2.0.
+include $(CLEAR_VARS)
+
+LOCAL_MODULE := libvts_driver_hidl_light@2.0
+
+LOCAL_SRC_FILES := \
+ Light.vts \
+ types.vts \
+
+LOCAL_SHARED_LIBRARIES += \
+ android.hardware.light@2.0 \
+ libbase \
+ libutils \
+ libcutils \
+ liblog \
+ libhidl \
+ libhwbinder \
+ libprotobuf-cpp-full \
+ libvts_common \
+ libvts_datatype \
+ libvts_measurement \
+ libvts_multidevice_proto
+
+LOCAL_CFLAGS += -DENABLE_TREBLE
+
+LOCAL_PROTOC_OPTIMIZE_TYPE := full
+
+LOCAL_MULTILIB := both
+
+include $(BUILD_SHARED_LIBRARY)
diff --git a/light/2.0/vts/Light.vts b/light/2.0/vts/Light.vts
new file mode 100644
index 0000000..5d49822
--- /dev/null
+++ b/light/2.0/vts/Light.vts
@@ -0,0 +1,37 @@
+component_class: HAL_HIDL
+component_type_version: 2.0
+component_name: "ILight"
+
+package: "android.hardware.light"
+
+import: "android.hardware.light@2.0::types"
+
+interface: {
+ api: {
+ name: "setLight"
+ return_type_hidl: {
+ type: TYPE_ENUM
+ predefined_type: "::android::hardware::light::V2_0::Status"
+ }
+ arg: {
+ type: TYPE_ENUM
+ predefined_type: "::android::hardware::light::V2_0::Type"
+ }
+ arg: {
+ type: TYPE_STRUCT
+ predefined_type: "::android::hardware::light::V2_0::LightState"
+ }
+ }
+
+ api: {
+ name: "getSupportedTypes"
+ return_type_hidl: {
+ type: TYPE_VECTOR
+ vector_value: {
+ type: TYPE_ENUM
+ predefined_type: "::android::hardware::light::V2_0::Type"
+ }
+ }
+ }
+
+}
diff --git a/light/2.0/vts/types.vts b/light/2.0/vts/types.vts
new file mode 100644
index 0000000..a9c8cab
--- /dev/null
+++ b/light/2.0/vts/types.vts
@@ -0,0 +1,149 @@
+component_class: HAL_HIDL
+component_type_version: 2.0
+component_name: "types"
+
+package: "android.hardware.light"
+
+
+attribute: {
+ name: "::android::hardware::light::V2_0::Status"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "int32_t"
+
+ enumerator: "SUCCESS"
+ scalar_value: {
+ int32_t: 0
+ }
+ enumerator: "LIGHT_NOT_SUPPORTED"
+ scalar_value: {
+ int32_t: 1
+ }
+ enumerator: "BRIGHTNESS_NOT_SUPPORTED"
+ scalar_value: {
+ int32_t: 2
+ }
+ enumerator: "UNKNOWN"
+ scalar_value: {
+ int32_t: 3
+ }
+ }
+}
+
+attribute: {
+ name: "::android::hardware::light::V2_0::Flash"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "int32_t"
+
+ enumerator: "NONE"
+ scalar_value: {
+ int32_t: 0
+ }
+ enumerator: "TIMED"
+ scalar_value: {
+ int32_t: 1
+ }
+ enumerator: "HARDWARE"
+ scalar_value: {
+ int32_t: 2
+ }
+ }
+}
+
+attribute: {
+ name: "::android::hardware::light::V2_0::Brightness"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "int32_t"
+
+ enumerator: "USER"
+ scalar_value: {
+ int32_t: 0
+ }
+ enumerator: "SENSOR"
+ scalar_value: {
+ int32_t: 1
+ }
+ enumerator: "LOW_PERSISTENCE"
+ scalar_value: {
+ int32_t: 2
+ }
+ }
+}
+
+attribute: {
+ name: "::android::hardware::light::V2_0::Type"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "int32_t"
+
+ enumerator: "BACKLIGHT"
+ scalar_value: {
+ int32_t: 0
+ }
+ enumerator: "KEYBOARD"
+ scalar_value: {
+ int32_t: 1
+ }
+ enumerator: "BUTTONS"
+ scalar_value: {
+ int32_t: 2
+ }
+ enumerator: "BATTERY"
+ scalar_value: {
+ int32_t: 3
+ }
+ enumerator: "NOTIFICATIONS"
+ scalar_value: {
+ int32_t: 4
+ }
+ enumerator: "ATTENTION"
+ scalar_value: {
+ int32_t: 5
+ }
+ enumerator: "BLUETOOTH"
+ scalar_value: {
+ int32_t: 6
+ }
+ enumerator: "WIFI"
+ scalar_value: {
+ int32_t: 7
+ }
+ enumerator: "COUNT"
+ scalar_value: {
+ int32_t: 8
+ }
+ }
+}
+
+attribute: {
+ name: "::android::hardware::light::V2_0::LightState"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "color"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "flashMode"
+ type: TYPE_ENUM
+ predefined_type: "::android::hardware::light::V2_0::Flash"
+ }
+ struct_value: {
+ name: "flashOnMs"
+ type: TYPE_SCALAR
+ scalar_type: "int32_t"
+ }
+ struct_value: {
+ name: "flashOffMs"
+ type: TYPE_SCALAR
+ scalar_type: "int32_t"
+ }
+ struct_value: {
+ name: "brightnessMode"
+ type: TYPE_ENUM
+ predefined_type: "::android::hardware::light::V2_0::Brightness"
+ }
+}
+