Commit graph

88 commits

Author SHA1 Message Date
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
Ashutosh Joshi
da270a09f4 Fix shim layer bugs for Sensors HIDL wrapper.
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
2017-02-14 11:36:40 -08:00
Zhuoyao Zhang
f008f8fdc4 Merge "Update .vts files on master based on the latest .hal file and hidl-gen" 2017-02-14 18:51:27 +00:00
Zhuoyao Zhang
3bef939f94 Update .vts files on master based on the latest .hal file and hidl-gen
Test: mma
Change-Id: I9558f300505db83e26f7c241c5cf729cd005a07b
2017-02-13 18:03:06 -08:00
Steven Moreland
a0da1a1c3d Move hidl shims to the vendor partition. (2/2)
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
2017-02-13 15:03:41 -08:00
Tri Vo
85120c9490 Update makefiles to use filgroup syntax.
Test: mmma hardware/interfaces
Change-Id: I9f4457c78b7820c242d46359f0debe05d1b3e482
2017-02-10 12:45:19 -08:00
Andreas Huber
d38f147c35 Updated makefiles
Java intermediates are now created in the common rather than the device-
specific generated sources subdirectory.

Bug: 33842609
Test: make
Change-Id: I16af4cd19bf0b24baa0ad9ebfdb86b4d959c8672
2017-02-09 17:20:45 -08:00
Ashutosh Joshi
b072973166 Merge "Revert "Add a second thread for sensor service."" 2017-02-09 22:28:17 +00:00
Ashutosh Joshi
9441d62f2c Revert "Add a second thread for sensor service."
This reverts commit 0da2531b9f.

Change-Id: Id356ab9e0b7cf6b2275afc5855e648d322e3bf60
2017-02-09 21:43:34 +00:00
Ashutosh Joshi
71b3bafa59 Merge "Add a second thread for sensor service." 2017-02-09 04:31:38 +00:00
Ashutosh Joshi
0da2531b9f Add a second thread for sensor service.
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
2017-02-08 15:15:35 -08:00
Tri Vo
ce608bec74 Migrate driver/profiler to test/vts-testcase/hal.
Bug: 34893894
Test: mmma hardware/interfaces

Change-Id: Ic72716577a5f93700c5056986aff55a76b170b5d
2017-02-07 19:13:28 -08:00
Keun Soo Yim
7b9b6ca18f move VTS stub files and non-functional tests
Test: mma
Bug: 34976004
Change-Id: I20273bdc3a05e2986fcf921f65d2afd6d72781e4
2017-02-04 02:45:25 +00:00
Zhuoyao Zhang
e9b43bbe2d Update Andriod.bp for hals.
* Add driver/profiler build rule for all hals.

Test: mma
Change-Id: I98325f7af14fec7dd1bb64b1668de8c7c20ace92
2017-02-03 10:03:01 -08:00
Keun Soo Yim
b7dc8aef89 regenerate types.vts file for sensors and update its test.
Test: make vts -j30 BUILD_GOOGLE_VTS=true TARGET_PRODUCT=aosp_arm64 &&
vts-tradefed run commandAndExit vts --skip-all-system-status-check
--primary-abi-only --skip-preconditions --module SensorsHidlTest -l INFO
Bug: 34378195

Change-Id: Ib4e83728d6725304c52b0c4f61def413eb7962f0
2017-01-24 15:53:33 +00:00
Chris Phoenix
d27458f676 Remove "false" parameter from getService
Test: None
Change-Id: I281206aa9faa8aa5e5012763f3a489906155bd3e
2017-01-23 12:45:54 -08:00
Chris Phoenix
11e847666f sensors HAL uses "default" service name
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
2017-01-20 20:27:38 -08:00
Chris Phoenix
99a5c4a7f1 Fix HAL name in LOG_TAG string
Test: None
Change-Id: Idfd59985a97e27e993b3f28f355a6e8c46b59815
2017-01-20 19:59:10 -08:00
Peng Xu
0436e14da7 DYNAMIC_SENSOR_META should be wake up sensor type
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
2017-01-18 17:51:43 -08:00
Peng Xu
84660153a9 Merge "[sensors] Default implementation and vts of direct report" 2017-01-19 00:56:04 +00:00
Peng Xu
f19d03bb0f Merge "[sensors] Add parameter check to poll()" 2017-01-19 00:55:53 +00:00
Peng Xu
89df2e7064 [sensors] Default implementation and vts of direct report
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
2017-01-18 14:28:21 -08:00
Peng Xu
cefa91bb51 [sensors] Add parameter check to poll()
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
2017-01-18 13:26:37 -08:00
Zhuoyao Zhang
6ec5b21a81 Update profiling code for host-side tests.
* 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
2017-01-17 20:10:26 -08:00