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
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
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
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
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
Convert both the *-impl.so and the *-service to be built with Soong
instead of make.
Test: cd hardware/interfaces/light && mma -j60
Bug: 37512442
Change-Id: I15c4779a7c9eea39fb20746f69800dcf20670275
We need google shims on the vendor partition because they are providing
an implementation of a vendor defined interface. They were written by
google just as a courtesy/to make the transition easier. They're
basically a set for vendors to assemble their hal implementations
from.
Bug: 34135607
Test: marlin persist.hal.binderization on/off
Change-Id: I2e2af5af39264cf290259755bb9b2eb9827a21f5
The getService() and registerAsService() methods of interface objects
now have default parameters of "default" for the service name. HALs
will not have to use any service name unless they want to register
more than one service.
Test: builds
Bug: 33844934
Change-Id: I042320d62f88ba9585ee05f33fe7592b5ffa1884
This is only for hals which are currently only in master. Separate
commit for hals currently in AOSP.
Test: pass
Change-Id: I0b1a09798c49f4f0141f36a322c4749e47eded03
find . -name "*.h" -exec sed -i 's/HIDL_GENERATED_\(.*\)_H_/\U\1_H/g' {}
+
They now match what would be generated by -Lc++-impl. This prevents
confusion over whether or not the files are autogenerated.
Change-Id: I4aa89a39907024aa9525df71ff3715979f431357
Similar commit: https://android-review.googlesource.com/#/c/305996/
Test: pass