This change is part of "Sensor direct report test - gralloc support".
Bug: 67439052
Test: vts test no longer fail on sailfish device
Change-Id: Id67a2a181b2d8847e2b1b9dbe46f5186e97e8563
Merged-In: Ibe1d076c24dc2cfe61dfd19aa5055c9075aa9e14
rlimit rtprio is more specific and thus preferred.
Test: HubConnection thread get rtprio in sailfish
Bug: 37291237
Change-Id: I3c7a06cb2964dc3ccb4c3f6fcb4eb33561296af1
Skip SensorsHidlTest.*AshmemDirectReportOperation* tests if sensor
is not available on device.
Bug: 64230704
Test: compiles and test pass for a pixel device with mag sensor
masked in hal.
Change-Id: I9bfbea6301891eaa2b272bd3d15b0e237799b5d6
Merged-In: I9bfbea6301891eaa2b272bd3d15b0e237799b5d6
Current accelerometer norm check threshold is tight and cause
unnecessary test flakiness in test environment with small
inevitable vibration (e.g. from people walking by testing
lab).
This CL relax the threshold from 0.5m/s^2 to 1m/s^2.
Test: vts pass
Bug: 62811045
Change-Id: I5d7e736623c892b6e6c9b8ddc5d0f53fa8aaba77
Merged-In: I5d7e736623c892b6e6c9b8ddc5d0f53fa8aaba77
This CL avoids passing nullptr to underlying HAL and cause
SEGFAULT.
Bug: 37589989
Test: compiles and VTS passing
Change-Id: Ic44409e64466e54a3a3027721897c0755ba34fc7
Merged-In: Ic44409e64466e54a3a3027721897c0755ba34fc7
Originally, SamplingRateHotSwitchOperation only tests the case
in which requested sensor sampling rate goes from fast to slow.
Recent regression demonstrates that it is also worthwhile to test
transition in the other direction, i.e. from slow to fast. This
CL add the slow to fast transition test.
Bug: 65138983
Test: sailfish failed the test before being patched.
Test: sailfish passed after being patched (ag/2824590)
Change-Id: If02509c75f74145544f0a2ce5d2aaec24e7326b8
Merged-In: If02509c75f74145544f0a2ce5d2aaec24e7326b8
Add owners file for default sensors HAL implementation and the
functional VTS tests.
Test: Build compiles
Change-Id: I54f28cb131f344d779ca34cdce027881bab5f59d
Merged-In: I54f28cb131f344d779ca34cdce027881bab5f59d
Bug: 63995095
Test: no more wake lock acquire failures in QCOM and nanohub sensor
hal
Change-Id: I2a5c2e29ecb66869a408f53998b6074ed07b493a
Merged-In: I2a5c2e29ecb66869a408f53998b6074ed07b493a
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
Originally, SamplingRateHotSwitchOperation only tests the case
in which requested sensor sampling rate goes from fast to slow.
Recent regression demonstrates that it is also worthwhile to test
transition in the other direction, i.e. from slow to fast. This
CL add the slow to fast transition test.
Bug: 65138983
Test: sailfish failed the test before being patched.
Test: sailfish passed after being patched (ag/2824590)
Change-Id: If02509c75f74145544f0a2ce5d2aaec24e7326b8
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
Add owners file for default sensors HAL implementation and the
functional VTS tests.
Test: Build compiles
Change-Id: I54f28cb131f344d779ca34cdce027881bab5f59d
And use VtsHalTargetTestDefaults.
Bug: 64040096
Test: crop out all non-affected tests from vts-hal-hidl.xml and run
vts-tradefed run commandAndExit vts-hal-hidl --skip-all-system-status-check
--skip-preconditions
2 failures, same as without this change:
GatekeeperHidlTest.DeleteAllUsersTest
GatekeeperHidlTest.DeleteUserTest
Change-Id: I8f6995e9536a9aefe283ee3effec9f5a7f03b620
Update the Android.bp generated with hidl-gen.
Test: build with and without BOARD_VNDK_VERSION=current
Bug: 63866913
Change-Id: I1a9db1df49e0f13c5790da2b118ae9ec63ba34a7
Skip SensorsHidlTest.*AshmemDirectReportOperation* tests if sensor
is not available on device.
Bug: 64230704
Test: compiles and test pass for a pixel device with mag sensor
masked in hal.
Change-Id: I9bfbea6301891eaa2b272bd3d15b0e237799b5d6
Allow HAL definition libs to be static.
Bug: 32920003
Bug: 64040096
Test: update-all-google-makefiles.sh
Change-Id: I1483d572bea6799717d1614fb7d52fe225e31104
Current accelerometer norm check threshold is tight and cause
unnecessary test flakiness in test environment with small
inevitable vibration (e.g. from people walking by testing
lab).
This CL relax the threshold from 0.5m/s^2 to 1m/s^2.
Test: vts pass
Bug: 62811045
Change-Id: I5d7e736623c892b6e6c9b8ddc5d0f53fa8aaba77
Zero uninitialized sensor event field to zero to avoid undefined
value being passed to framework.
Correct sensor report type check bug in vts.
Bug: 37793558
Bug: 37710268
Test: sensor vts passes
Change-Id: I5042975fea8fe28ae130367ba083a4e4f4e5657e
Vts polls sensor events with max size of 1, which can cause
performance issue when batching. Increase it to 64 to help eliminate
potential performance issue.
Note this CL has no change in behavior of test.
Test: VTS target test pass on several devices
Bug: 62027156
Change-Id: I04a6791f407ec0a54eb6cd8df4d4ef41e8a89c12
Merged-In: I04a6791f407ec0a54eb6cd8df4d4ef41e8a89c12
(cherry picked from commit e337dfe3d2)
This CL avoids passing nullptr to underlying HAL and cause
SEGFAULT.
Bug: 37589989
Test: compiles and VTS passing
Change-Id: Ic44409e64466e54a3a3027721897c0755ba34fc7
Vts polls sensor events with max size of 1, which can cause
performance issue when batching. Increase it to 64 to help eliminate
potential performance issue.
Note this CL has no change in behavior of test.
Test: VTS target test pass on several devices
Change-Id: I04a6791f407ec0a54eb6cd8df4d4ef41e8a89c12
android.hidl.base@1.0 and android.hidl.manager@1.0 are built into libhidltransport.
Test: links
Bug: 33276472
Merged-In: I08aaad80f7e2fc262aa3a8b66fe932e8133a928d
Change-Id: I08aaad80f7e2fc262aa3a8b66fe932e8133a928d
Missing dependency that was being transitively included
from MQDescriptor.h.
Test: links
Bug: 37791060
Change-Id: I5afca1596c83801a49ee0aead85499a5241608e0
(cherry picked from commit 5b42945e6a)
android.hidl.base@1.0 and android.hidl.manager@1.0 are built into libhidltransport.
Test: links
Bug: 33276472
Change-Id: I08aaad80f7e2fc262aa3a8b66fe932e8133a928d
Missing dependency that was being transitively included
from MQDescriptor.h.
Test: links
Bug: 37791060
Change-Id: I5afca1596c83801a49ee0aead85499a5241608e0
Moving sensor hal service to hal class.
Bug: 36576271
Test: Ensure that sensors still stream.
Change-Id: I1ab984063c48401ee535b9be4df75d554d91578f
(cherry picked from commit 5d0b2e7c37)
By setting vendor_available, the following may become true:
* a prebuilt library from this release may be used at runtime by
in a later releasse (by vendor code compiled against this release).
so this library shouldn't depend on runtime state that may change
in the future.
* this library may be loaded twice into a single process (potentially
an old version and a newer version). The symbols will be isolated
using linker namespaces, but this may break assumptions about 1
library in 1 process (your singletons will run twice).
Background:
This means that these modules may be built and installed twice --
once for the system partition and once for the vendor partition. The
system version will build just like today, and will be used by the
framework components on /system. The vendor version will build
against a reduced set of exports and libraries -- similar to, but
separate from, the NDK. This means that all your dependencies must
also mark vendor_available.
At runtime, /system binaries will load libraries from /system/lib*,
while /vendor binaries will load libraries from /vendor/lib*. There
are some exceptions in both directions -- bionic(libc,etc) and liblog
are always loaded from /system. And SP-HALs (OpenGL, etc) may load
/vendor code into /system processes, but the dependencies of those
libraries will load from /vendor until it reaches a library that's
always on /system. In the SP-HAL case, if both framework and vendor
libraries depend on a library of the same name, both versions will be
loaded, but they will be isolated from each other.
It's possible to compile differently -- reducing your source files,
exporting different include directories, etc. For details see:
https://android-review.googlesource.com/368372
None of this is enabled unless the device opts into the system/vendor
split with BOARD_VNDK_VERSION := current.
Bug: 36426473
Bug: 36079834
Test: m -j android.hardware.sensors@1.0-convert
Test: attempt to compile with BOARD_VNDK_VERSION := current
Change-Id: I0a4e8a658b5b33bd7a6668242f98a4f6cda2a94f
Files relying on transitive include of utils/Log.h (and things that it
includes) from MQDescriptor.h
Test: pass
Merged-In: Iff316b21bef556bb026378b7f89e97ded3febef4
Change-Id: Iff316b21bef556bb026378b7f89e97ded3febef4
Files relying on transitive include of utils/Log.h (and things that it
includes) from MQDescriptor.h
Test: pass
Change-Id: Iff316b21bef556bb026378b7f89e97ded3febef4
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