The new LightsService example is written in Rust and is being expanded
to include a state as part of the service. This required that HwLight
and HwLightState derived from the Copy and Clone traits, so here we are
updating the AIDL Rust bindings.
This is not an API change, so in order to avoid having to bump the AIDL
API version for this HAL we used the hash_gen.sh script as below:
$ m android.hardware.light-update-api
$ m android.hardware.light-freeze-api
$ vim light/aidl/Android.bp # removed frozen_api argument and the newly
created version 3 block
$ cp -r aidl_api/android.hardware.light/3/* aidl_api/android.hardware.light/2/
$ rm -rf aidl_api/android.hardware.light/3/
$ ./system/tools/aidl/build/hash_gen.sh \
hardware/interfaces/light/aidl/aidl_api/android.hardware.light/2/ \
1 \
hardware/interfaces/light/aidl/aidl_api/android.hardware.light/2/.hash
Tested: Verified that the build is passing and used with the next CL.
Bug: 286106270
Change-Id: I1400ec1db1e75595176a5656d6688df9457153d4
This is a revision of the previous 2.0 HIDL-based light HAL.
It accomplishes 2 goals:
1) Support more than 1 light for a given type. This allows Assistant to
use the HAL on TV platforms that have usually 4 indicator lights.
2) Use AIDL, which is the more modern way of writing HALs.
The previous HAL is in hardware/interfaces/light/2.0 and the new one is
in versioned as aidl, as that supports forward compatibility.
Test: atest VtsHalLightTargetTest
Bug: 142715294, 142230898
Change-Id: I08d831ca0380d8bb187e43f6d5c214810ff72f50