hidl_string no longer will provide an implicit cast to const char* as it
interfers with other expected behaviors of the class. It now emulated
std::string in requiring a call to .c_str() to get the same behavior.
Bug: 36532780
Test: Build the tree
Change-Id: I265590c7c18f425e44863df062a56b67519a932a
Bug: 36580454
Test: unlock watch with LLOB sensor and verify no SensorService crash
Change-Id: Ib1d086efd80e829bb844521fa39325f095b1c2c9
Signed-off-by: Ben Fennema <fennema@google.com>
This has been copy pasted and isn't actually required.
Test: all hals manually tested to work on internal marlin (which have them binderized).
Note: tv hals not tested (and they never have been). Filed b/36562029
Note: for thermal hal, could only run VTS/check logs for errors.
Test: lshal outputs proper stuff
Fixes: 31928447
Change-Id: Id1be584dc0fa2d70e9189b922335146bf6d1382d
Add gating condition before calling the hal function pointers for
set_mode and inject_sensor_data.
Bug: 36073404
Test: compiles
Change-Id: I9c194c1a286fb64304b4329f43c3de2a3d6ae939
* Less suceptible to lingering sensor activation before system
restarts.
* Covers injectSensorEvent and setOperationMode API
* More test cases to test various operation conditions.
Bug: 32022776
Bug: 33618936
Test: vts-tradefed run commandAndExit vts --module VtsHalSensorsV1_0Target
Change-Id: I75f585a373880e831f511784a856d322077c07c0
Log(FATAL) is creating lots of nuisance bugs.
Test: Sensor service continues to recover from a system server
restart and sensors are available.
No crash log is created.
Bug: 36094522
Bug: 36115683
Change-Id: Idc2d086709dc2132c98aab806aa44728fbdaa189
Sensor hidl service has two threads quota. One is used for sending
commands down to hardware, and the other for retrieving sensor events
from hardware. The second is usually blocked on poll().
When system server quits abnormaly, the poll thread may still be
blocked in HAL implementation and holding that thread. There won't be
enough available threads for framework sensor service to function
correctly when system service restarts, resulting in a deadlock at
enableSensor() or getService() until the hidl service is restarted.
This fix detects a second connection from framework sensor service
and kills the hidl service in case that happens. The system will restart
the hidl service with clean state and return system to normal operation.
Bug: 35727090
Bug: 35843387
Bug: 35702298
Bug: 35919167
Bug: 35848670
Bug: 35903635
Test: Restart device works in normal case.
Restart also works with the following scenario (reproducing error)
"adb root && adb shell dumpsys sensorservice restrict random &&
adb shell stop && adb shell start"
Change-Id: Ibffa87d93b2d24af2803be9281e7141d0a221e3e
This reverts commit 6909bfd8ee.
Updated sense null strings are now allowed in hidl as of Iada25da5407c3eccdd28704d993ffdee8b15c5fe.
Bug: 35421240
Change-Id: Ied1745ba7169b2e4bc0a20000503e47172538f08
Some HALs may provide null pointers in lieu of empty strings.
Avoid simple copies of these strings.
Bug: 35384551
Test: Verify affected device (Pixel-C) boots and auto-rotate works.
Change-Id: I37ab6e781d6dfdcc1667bcc0467690f7c2c9a557
i) Increase the number of default threads to 2.
ii) Handle the flush complete event correctly.
Bug: 35189074
Bug: 35067266
Test: Test that sensors work in both binderized and passthrough modes.
Ensure that camera photosphere works.
Change-Id: Ic8dadf03395b4e96092ae962cf790c93d65a1c8d
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
Java intermediates are now created in the common rather than the device-
specific generated sources subdirectory.
Bug: 33842609
Test: make
Change-Id: I16af4cd19bf0b24baa0ad9ebfdb86b4d959c8672
HIDL implementation defaults to using a single thread for a service.
This blocks on sensorservice poll. A minimum of two threads are needed
to allow for any meaningful control.
Bug: 35067266
Test: Verify sensors stream in both passthrough and binderized modes.
Change-Id: I44ccdb6db253ca9eb9903b51e05c1893945e297e
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; verify HAL still works
Bug: 33844934
Change-Id: Iefb6dfe80ec8f4ab389d2b6529f9f968365289b2
This change is done in AOSP hardware/libhardware and have to be manually
merged into hardware/interfaces after comments are moved to HIDL.
Test: comment change
Change-Id: I8dd5abd0c03eec7ef6bfef107b4b04404144627e
Added support for newly added HAL function for sensor event direct
report feature, replace dummy implementation with funtional ones for
the following:
* registerDirectChannel
* unregisterDirectChannel
* configDirectReport
Added a vts test case for direct report.
Added new offset definition to types.hal. This will not affect
existing client/calling code.
Bug: 30985702
Bug: 32022776
Test: vts pass
Change-Id: Ie5e3cddd7c37664e8c59d69cf70aaa1310fd3f58
Check maxCount parameter so that it will not allocate overly large
amount of memory if input parameter is bad.
Bug: 32953589
Test: build and pass vts
Change-Id: Ia19e0315ab1623b8b6580889c1e058a19e6c9670
* Parse profiling data for each test case.
* Merge the profiling data for each test case at the end of test
and upload the profiling info to web.
Bug:34226555
Test: run vts -m VibratorHidlProfilingTest
Change-Id: I9e13eada8e7db338a29c6943868d12e76844e2c4