Commit graph

124 commits

Author SHA1 Message Date
Chih-Hung Hsieh
7eb57b60ab Remove unused lambda capture
New clang compiler gives warning to unused lambda captures.
Apply clang-format.

Bug: 37423073
Test: Build

Change-Id: Icdf019df1a6c9dcadeb35551377d7afa09eebb3e
2017-05-15 14:02:45 -07:00
Steven Moreland
d09cf863da Update makefiles for c++-sources and c++-headers. (2/2) am: bc71124120
am: a32ebce372

Change-Id: Ic1dd8f98e72656bc12a6e5224e541f75afb79daa
2017-05-11 01:38:14 +00:00
Martijn Coenen
ab97cef29e Merge "Start processes that need real-time with CAP_SYS_NICE." into oc-dev am: 6c062f77c1
am: b05e4c9414

Change-Id: I9fa6d2b4283ca50506ffcc6a665e6a2e46c4c2f9
2017-05-11 01:36:26 +00: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
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
TreeHugger Robot
a9f7478f95 Merge "Increase poll max size, avoid performance issue when batching" 2017-05-08 19:29:35 +00:00
Peng Xu
fb6f02bd23 Only convert valid SharedMemInfo
This CL avoids passing nullptr to underlying HAL and cause
SEGFAULT.

Bug: 37589989
Test: compiles and VTS passing
Change-Id: Ic44409e64466e54a3a3027721897c0755ba34fc7
2017-05-04 17:14:42 -07:00
Peng Xu
e337dfe3d2 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
Change-Id: I04a6791f407ec0a54eb6cd8df4d4ef41e8a89c12
2017-05-04 17:07:34 -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
Steven Moreland
2cd0d42d72 Remove redundant dependencies
android.hidl.base@1.0 and android.hidl.manager@1.0 are built into libhidltransport.

Test: links
Bug: 33276472
Change-Id: I08aaad80f7e2fc262aa3a8b66fe932e8133a928d
2017-05-02 10:17:28 -07:00
Steven Moreland
5b42945e6a Sensors: IWYU
Missing dependency that was being transitively included
from MQDescriptor.h.

Test: links
Bug: 37791060
Change-Id: I5afca1596c83801a49ee0aead85499a5241608e0
2017-05-01 13:21:35 -07: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
Hung-ying Tyan
346599da33 Merge "Remove dependency of libhardware_legacy from HAL services" into oc-dev am: 206e38a4e8
am: 6ca5662350

Change-Id: Ie676841b6d88abfc65cb9ce64777e9daf11c855b
2017-04-18 01:19:35 +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
Andreas Huber
e6e54801c1 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: I8b91881dfaf507c0d852d56ebbb53ff0987e5a34
2017-04-13 14:28:05 -07:00
Steven Moreland
b1d57b349b Merge "Mark as vendor_available" into oc-dev am: b5213bb7f9
am: 726213e55e

Change-Id: I225d4567fccad67a4d958060fbaf3b668c78ea87
2017-04-13 04:30:42 +00: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
d5bf55bd5a Merge changes from topic 'hidl-vendor-available' into oc-dev am: 17f0c0dde7
am: fce6b7f0d9

Change-Id: Ic95bee140e0bbbf094e89dcc7d0d99c30966786c
2017-04-12 22:54:17 +00:00
Steven Moreland
3b36a83a2e Update makefiles (2/2).
Test: pass
Change-Id: Ic7e6289c7b69785491708ce0acbb657f4c704229
2017-04-11 09:58:03 -07:00
TreeHugger Robot
04b10ccc41 Merge "Fix transitive includes." 2017-04-06 23:36:13 +00: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
Steven Moreland
3eb7df74b8 Fix transitive includes.
Files relying on transitive include of utils/Log.h (and things that it
includes) from MQDescriptor.h

Test: pass
Change-Id: Iff316b21bef556bb026378b7f89e97ded3febef4
2017-04-06 15:01:59 -07:00
Scott Randolph
796507cf83 Merge "Use explicit .c_str() for hidl_string" into oc-dev am: f059ae420d
am: 0070a334b0

Change-Id: I13e2e0d1ad1fd596bb5ebf6694816b41332840d8
2017-04-06 20:09:56 +00:00
Ashutosh Joshi
5d0b2e7c37 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
2017-04-05 03:31:49 -07: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