Commit graph

117 commits

Author SHA1 Message Date
Peng Xu
4be0fc16c8 Zero uninitialized field in conversion and fix vts bug
am: 36665b1b3d

Change-Id: Ib9c7e171da1b1acae16cb550dc1ed7d1cc635c77
2017-06-20 00:09:11 +00:00
Peng Xu
36665b1b3d Zero uninitialized field in conversion and fix vts bug
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
2017-06-19 20:39:48 +00:00
Chih-Hung Hsieh
d3bc681f26 Remove unused lambda capture
New clang compiler gives warning to unused lambda captures.
Apply clang-format.

Bug: 37423073
Test: Build

Change-Id: Icdf019df1a6c9dcadeb35551377d7afa09eebb3e
(cherry picked from commit 7eb57b60ab)
2017-06-07 12:57:20 -07:00
Peng Xu
2d2257faae Merge "Increase poll max size, avoid performance issue when batching" into oc-dev
am: 538fa39cf8

Change-Id: I834c6e72498963bbe48299903e12f79b29a7479b
2017-05-23 20:48:21 +00:00
Peng Xu
538fa39cf8 Merge "Increase poll max size, avoid performance issue when batching" into oc-dev 2017-05-23 20:33:29 +00:00
Peng Xu
3f576cd1fd Increase poll max size, avoid performance issue when batching
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)
2017-05-23 18:32:41 +00:00
Steven Moreland
f203167814 Update makefiles. (2/2)
am: 76cfb84140

Change-Id: I24d21438a5b2f447d2160929c6ff6e17b2b66820
2017-05-22 17:15:20 +00:00
Steven Moreland
76cfb84140 Update makefiles. (2/2)
Adds default configuration for all hals.

Bug: 38415912
Test: pass
Change-Id: Idd1f3a2b7b16ad956d31784a513e93a066cdd02e
2017-05-19 15:54:03 -07:00
Steven Moreland
a32ebce372 Update makefiles for c++-sources and c++-headers. (2/2)
am: bc71124120

Change-Id: Icf36068a4d863a8520854c7a83e51f960c188e12
2017-05-11 00:48:55 +00:00
Martijn Coenen
b05e4c9414 Merge "Start processes that need real-time with CAP_SYS_NICE." into oc-dev
am: 6c062f77c1

Change-Id: I921160390dc9f90e7872729194ed1d1240ce68b7
2017-05-11 00:47:30 +00:00
Steven Moreland
4be51a8512 Merge changes from topic 'fix-hidl-generate' into oc-dev
* changes:
  Update makefiles for c++-sources and c++-headers.
  Update makefiles for c++-sources and c++-headers. (2/2)
2017-05-10 20:02:40 +00:00
Steven Moreland
bc71124120 Update makefiles for c++-sources and c++-headers. (2/2)
Test: pass
Bug: 38174080
Change-Id: Icad451f9f9ad5f46412356a4171a8a1222f8e545
2017-05-09 19:58:43 -07:00
Martijn Coenen
f9b3fb49df Start processes that need real-time with CAP_SYS_NICE.
Bug: 37293077
Test: verified CAP_SYS_NICE granted in /proc/pid/status
Change-Id: If404450cbeb077d331b231bda1af2d6eae774b75
2017-05-09 09:57:00 -07:00
Steven Moreland
5c63b11f76 Remove redundant dependencies
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
2017-05-02 15:29:30 -07:00
Steven Moreland
b3a42f4ff7 Sensors: IWYU
Missing dependency that was being transitively included
from MQDescriptor.h.

Test: links
Bug: 37791060
Change-Id: I5afca1596c83801a49ee0aead85499a5241608e0
(cherry picked from commit 5b42945e6a)
2017-05-02 19:03:58 +00:00
Ashutosh Joshi
3699476c0c Move sensor hal service to class 'hal' from main.
Moving sensor hal service to hal class.

Bug: 36576271
Test: Ensure that sensors still stream.
Change-Id: I1ab984063c48401ee535b9be4df75d554d91578f
(cherry picked from commit 5d0b2e7c37)
2017-04-27 19:28:40 +00:00
TreeHugger Robot
206e38a4e8 Merge "Remove dependency of libhardware_legacy from HAL services" into oc-dev 2017-04-18 00:26:33 +00:00
Hung-ying Tyan
4f1bbf7074 Remove dependency of libhardware_legacy from HAL services
It is not used by these services.

Bug: 33241851
Bug: 37305530
Test: built and tested on sailfish
Change-Id: I1f3f51981d7dfcf27e18d9495c747b7662867d31
2017-04-15 10:17:16 +08:00
Andreas Huber
6fa374ad30 Changed the naming scheme for Treble java libraries (both static and dynamic)
android.hardware.foo@1.0-java => android.hardware.foo-V1.0-java

Bug: 37207894
Test: make
Change-Id: I177f4cfd42f635aaf096107af8309d1a82ed41c0
Merged-In: I8b91881dfaf507c0d852d56ebbb53ff0987e5a34
2017-04-13 15:23:46 -07:00
TreeHugger Robot
b5213bb7f9 Merge "Mark as vendor_available" into oc-dev 2017-04-13 04:12:15 +00:00
Steven Moreland
8f7229efd7 Mark as vendor_available
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
2017-04-13 01:37:56 +00:00
Steven Moreland
3b36a83a2e Update makefiles (2/2).
Test: pass
Change-Id: Ic7e6289c7b69785491708ce0acbb657f4c704229
2017-04-11 09:58:03 -07:00
Steven Moreland
4e7a307730 Fix transitive includes.
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
2017-04-06 22:04:05 +00:00
Scott Randolph
8997880087 Use explicit .c_str() for hidl_string
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
2017-04-04 10:53:26 -07:00
Andreas Huber
40d3a9bd8c Convert all comments into "doxygen-ready" comments.
Bug: 36453077
Test: mma
Change-Id: I0b1f77dfae5d2258969e33d85ecf45401ffbdfaa
2017-03-29 08:53:58 -07:00
Steven Moreland
561b602a99 Update makefiles for hwtypes.h
Test: pass
Change-Id: I8e17eb8fec5d2f04c526476a866c8dd54ccb556c
2017-03-28 15:18:20 +00:00
Ben Fennema
1445e3633a Merge "Add missing LOW_LATENCY_OFFBODY_DETECT handling" 2017-03-28 04:29:32 +00:00
Ben Fennema
b2969d4eaa Add missing LOW_LATENCY_OFFBODY_DETECT handling
Bug: 36580454
Test: unlock watch with LLOB sensor and verify no SensorService crash
Change-Id: Ib1d086efd80e829bb844521fa39325f095b1c2c9
Signed-off-by: Ben Fennema <fennema@google.com>
2017-03-24 19:23:51 -07:00
Steven Moreland
c8e2b3f7c5 Remove viral readproc group dependency.
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
2017-03-23 19:49:37 +00:00
Peng Xu
591f885f4e Merge "Avoid calling non-exist set_mode hal function" 2017-03-21 17:26:27 +00:00
Peng Xu
20c7ece356 Avoid calling non-exist set_mode hal function
Add gating condition before calling the hal function pointers for
set_mode and inject_sensor_data.

Bug: 36073404
Test: compiles
Change-Id: I9c194c1a286fb64304b4329f43c3de2a3d6ae939
2017-03-17 11:05:49 -07:00
Peng Xu
1655a640fb Fix issues in sensor target test
* 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
2017-03-15 18:29:00 -07:00
Ashutosh Joshi
dfeb5973ac Merge "Do not crash fatally when recovering from system server restart." 2017-03-10 23:15:37 +00:00
Yuexi Ma
ed2bb4e8f8 Change vts target base test class name
Test: make vts succeed, vts kernel tests and nfc hal tests passed
Change-Id: I95f10ad7a66f261c9030357edd411fe6d94150e8
2017-03-10 21:14:48 +00:00
Ashutosh Joshi
2af9dacc3a Do not crash fatally when recovering from system server restart.
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
2017-03-10 12:53:31 -08:00
Steven Moreland
48c52249e4 hidl_default to all targets.
find hardware/interfaces -type f -not -path "*/.git/*" \
-exec sed -i -e '/cc_[A-Za-z_]\+/ { N; s/$/\n    defaults:
\["hidl_defaults"\],/ }' {} \;
./hardware/interfaces/update-makefiles.sh

Test: pass
Bug: 35840847
Change-Id: If10c464d2f000b85c8d698fe11a4f3fc4cfad282
2017-03-08 19:31:53 -08:00
Steven Moreland
c615951317 Sensors: fix warnings in VTS test.
Test: pass
Change-Id: I514ef2750a96e356d7b100a6e132a65c2b157d84
2017-03-08 19:31:52 -08:00
Ashutosh Joshi
7b2384a585 Merge "Prevent framework from stucking at communicating with HIDL HAL" 2017-03-03 00:18:25 +00:00
Peng Xu
ab7884fcbd Prevent framework from stucking at communicating with HIDL HAL
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
2017-03-02 16:14:57 -08:00
Yifan Hong
3268291060 Merge "Revert "Revert "Revert "Protect against null strings in hal wrapper implementation."""" 2017-03-02 02:21:56 +00:00
Yuexi Ma
50d7e27b3c change all vts hidl tests to use VtsHalHidlTargetBaseTest (internal master)
Bug: 33385836
Test: mma
Change-Id: Ide3ebc4a9db76257f33bcfb0c1f13d2ee33eeaa8
2017-02-28 22:27:28 +00:00
Steven Moreland
5f81564de2 Revert "Revert "Revert "Protect against null strings in hal wrapper implementation."""
This reverts commit 8dbdf39b9a.

Bug: 35421240

Change-Id: I4dc6934d79b1822d500cffaf91f9812387413707
2017-02-28 18:33:48 +00:00
Steven Moreland
06635d1537 Merge "Revert "Revert "Protect against null strings in hal wrapper implementation.""" 2017-02-28 17:54:54 +00:00
Steven Moreland
8dbdf39b9a Revert "Revert "Protect against null strings in hal wrapper implementation.""
This reverts commit 4cc22a0bc8.

Reason for revert: Accidental +2, still waiting on: aosp 345923

Change-Id: I57e062b267ad54632c6d7fcd464c7a0dd773de33
2017-02-28 17:53:43 +00:00
TreeHugger Robot
f71070d4a6 Merge "Revert "Protect against null strings in hal wrapper implementation."" 2017-02-28 17:50:28 +00:00
Steven Moreland
4cc22a0bc8 Revert "Protect against null strings in hal wrapper implementation."
This reverts commit 6909bfd8ee.

Updated sense null strings are now allowed in hidl as of Iada25da5407c3eccdd28704d993ffdee8b15c5fe.

Bug: 35421240

Change-Id: Ied1745ba7169b2e4bc0a20000503e47172538f08
2017-02-28 16:57:17 +00:00
Steven Moreland
7e73d5b908 Remove viral dependency on libhwbinder. (2/2)
find hardware/interfaces -name Android.mk -exec sed -i -e '/libhwbinder
\\/d' {} \;
find hardware/interfaces -name Android.bp -exec sed -i -e
'/"libhwbinder"/d' {} \;
./hardware/interfaces/update-makefiles.sh

Note, automotive has some actual dependencies on libhwbinder, filed
b/35758626 for this.

Test: everything links
Test: (sanity) booted marlin on internal master with these changes
Bug: 35710429
Change-Id: I6d0726c8130d00684b978efbdd48e3ae396f12e5
2017-02-24 12:18:01 -08:00
Tri Vo
d94a7d2df9 Remove .vts spec files
Test: mmma hardware/interfaces
Change-Id: Idae97ce60a6368cfa685ae6b2d71b9ad163e8605
2017-02-22 12:53:52 -08:00
Zhuoyao Zhang
8422f6aa04 Update the test binary and source file name on master.
* To confirm with Vts naming convention.

Bug: 35273456
Test: mma
Change-Id: I845da64085253cd02480465479618308045a52ed
2017-02-21 20:47:18 -08:00
Ashutosh Joshi
6909bfd8ee Protect against null strings in hal wrapper implementation.
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
2017-02-15 17:29:19 -08:00