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: I6d8c12b3df88e02f2a0fff8b6aa8543372b510c8
Merged-In: I08d831ca0380d8bb187e43f6d5c214810ff72f50
Since these were combined into libhidlbase.
Bug: 135686713
Test: build only (libhwbinder/libhidltransport are empty)
Change-Id: I075670b64eebbbbd6a6ae0e84ad51bf1c6f5ba36
hidl-generated makefiles are now generated such that bpfmt(file) == file.
Bug: 67417008
Test: enable bpfmt hook
Change-Id: I1f69d292bc23a7cc293a66110cb02d597e1019ad
This change allows a device to include the lazy service implementation,
which will allow the HAL to exit when it is not in use.
Test: Manually observe brightness slider behavior
Change-Id: I7f8f747ebe6e183e1aaf1406852e6e26a97aee35
This was a temporary workaround in Android P, but it is fixed
with a relatively more dangerous change in libhwbinder.
This reverts commit 73ba34f1b7.
Bug: 77934844
Test: reboot device and watch for screen to get shutdown, check logs
Change-Id: I970144eea4acd8254f4a67ebe803f3c3eda9aba2
Delay starting the threadpool until necessary,
and once started, always exit with _exit().
Bug: 77934844
Test: screen is blanked on reboot
Change-Id: I7715d889a6f78b9ce058fb3841ef7944116d8e82
This is used to make the phone appear off by init
during late boot (e.x. fsck for disk health), so
it should shut off all lights (not just the screen).
Bug: 74976325
Test: blank_screen
Change-Id: I790cc3dd856c2c2095fa3cf82519fd30834304ca
Required because the lights need to be turned off late in boot
(e.x. during fsck for disk health), and before, blank_screen
accessing light encountered a race condition where if it didn't
get scheduled before all of the processes which were getting
shutdown were getting killed, the screen wouldn't blank.
Bug: 74976325
Test: adjusting brightness continues to work
Test: screen blanks during shutdown at the correct time
including when an artificial 5s delay is inserted when
the phone normally fscks (which can also be quick)
Change-Id: I57ebc11d7ecf57ee327c681455712f4b53de6fd3
This can be transitioned to by init to shutdown the
screen thereby preventing init from either depending
on binder or accessing halified sysnodes directly.
Bug: 70846424
Test: manual + init use
Change-Id: I86893ee5d7118547cd073297c0626e474f366b82
So that init knows how to start it and to provide
an example of how to specify interfaces since there
are no lazy starting services on Pixel yet.
In order to make lights a lazy service, it would also
have to be marked as 'oneshot'.
Test: manually using Light as a lazy service
Bug: 64678982
Change-Id: I846a7e2d9545b42af9b985adb74883bda1b8c355
So that init knows how to start it and to provide
an example of how to specify interfaces since there
are no lazy starting services on Pixel yet.
In order to make lights a lazy service, it would also
have to be marked as 'oneshot'.
Test: manually using Light as a lazy service
Bug: 64678982
Merged-In: I846a7e2d9545b42af9b985adb74883bda1b8c355
Change-Id: I846a7e2d9545b42af9b985adb74883bda1b8c355
As an example and also to expose which lights are
registered easily. Note, this is all the information
that we can print given the libhardware lights interface.
Bug: 70846424
Test: lshal debug
Change-Id: I5f55e3e64149fc63a45ab9dab94d5fea27bb61da
Removing whenever I see these in code reviews.
Test: none
Merged-In: I4322f533a837d55618ec2ed2125e8966ace9d61d
Change-Id: I4322f533a837d55618ec2ed2125e8966ace9d61d
Removing whenever I see these in code reviews.
Test: none
Merged-In: I4322f533a837d55618ec2ed2125e8966ace9d61d
Change-Id: I4322f533a837d55618ec2ed2125e8966ace9d61d
To prevent property name collisions between properties of system and
vendor, 'vendor.' prefix must be added to a vendor HAL service name.
You can see the details in http://go/treble-sysprop-compatibility.
Test: succeeded building and tested on a walleye device
Bug: 36796459
Change-Id: I4e8fbee791ec917a8f627a1366f4d44ec7e6febc
And use VtsHalTargetTestDefaults.
This is a partial cherry-pick of ag/2657080.
Bug: 64040096
Test: compiles, works fine in internal master
Merged-In: I8f6995e9536a9aefe283ee3effec9f5a7f03b620
Change-Id: I76d47d8546416b57055841851a9d343026cd3210