Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit bf0b586b authored by Steven Moreland's avatar Steven Moreland
Browse files

Add vts files and driver for light hal.

Bug: 32022457
Test: compiles
Change-Id: I5141d80996d51e41930c7398aa9aa4048b365f9b
parent c12157d7
Loading
Loading
Loading
Loading
+48 −0
Original line number Diff line number Diff line
#
# 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)
+37 −0
Original line number Diff line number Diff line
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"
            }
        }
    }

}
+149 −0
Original line number Diff line number Diff line
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"
    }
}