• Home
  • History
  • Annotate
  • only in /system/libhidl/transport/
History log of /system/libhidl/transport/
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
a4d0252ab5b6f6cc52a221538e1536c5b55c1fa7 04-Nov-2017 Steven Moreland <smoreland@google.com> canCastInterface: always return true for IBase

Don't do a binder call for passing interface
around, especially since every HIDL thing is
already IBase.

Bug: 68217907
Test: hidl's run_all_device_tests, boot + camera/YT sanity
Merged-In: Ic195e9c19f181828296c515a3004c75daccdd03f
Change-Id: Ic195e9c19f181828296c515a3004c75daccdd03f
(cherry picked from commit b2bf30d7009674938a96ff9ae87a30e9ab260dc6)
idlTransportUtils.cpp
a923c0f3002d481c8d0c83ae10bca54185b3ea17 25-Aug-2017 Steven Moreland <smoreland@google.com> O-MR1: HIDL freeze-commit

Freezing libraries which are being released in O-MR1.

Bug: 63603463
Test: -Lcheck
Change-Id: Ia6cdf7be7654b5ec48ec6a921252ce8f8cfe4216
urrent.txt
b096f774115869cf8dc8ced5a1cd9d7af729b6bd 04-Aug-2017 Jiyong Park <jiyong@google.com> Add /system/lib/vndk-sp/hw to search paths for HAL impls

android.hidl.memory@1.0-impl.so is vndk-sp and thus is located under
/system/lib/vndk-sp/hw instead of /system/lib/hw.

Bug: 62930720
Test: 2017 pixel builds and boots with BOARD_VNDK_VERSION on
Change-Id: Idc4bd81eed76190097a9a60b5fd08a05800e183d
erviceManagement.cpp
692088ef571555dea7253f48c1178dee6d5ac049 01-Aug-2017 Jiyong Park <jiyong@google.com> Mark android.hidl.memory@1.0-impl as vndk-sp

This framework HAL is marked as vndk-sp since it is depended by
libhidlmemory which is a vndk-sp library. Unlike other HALs from
vendors, this HAL can't be placed under /vendor/lib/hw since it is
'framework' HAL that is owned by the platform owner. In order to update
the HAL via platform-only update, the lib is marked as vndk-sp, but not
as a vendor-only lib.

Bug: 62930720
Test: BOARD_VNDK_VERSION=current m android.hidl.memory@1.0-impl
successful
Test: wahoo devices boots

Change-Id: I7fefb3d3f14ad833afe5cf0288b4d0c3fca1f9c8
emory/1.0/default/Android.bp
0727497c62ee470bc43155f3f1dcc46fd4382510 03-Aug-2017 Justin Yun <justinyun@google.com> libhidlmemory and android.hidl.memory@1.0 are vndk-sp.

libhidlmemory and android.hidl.memory@1.0 are vndk-sp.
They must have "support_system_process: true" in "vndk" property.

Bug: 63866913
Test: build and boot with BOARD_VNDK_VERSION=current
Change-Id: I0c1ec63d5c5d32e11b578f2f09a897e0129271e7
emory/1.0/Android.bp
4e077f2d177d11f8b8d53ce8a4282cfb71894537 24-Jul-2017 Justin Yun <justinyun@google.com> Mark hidl libs as VNDK or VNDK-SP in Android.bp

As a VNDK/VNDK-SP module, Android.bp must have 'vndk' tag as well
as 'vendor_available: true'.

For a VNDK module, the 'vndk' tag has 'enabled: true'.
It will be installed system/lib(64)/vndk as a vendor variant.

For a VNDK-SP module, the 'vndk' tag has
'support_system_process: true' as well as 'enabled: true'.
It will be installed system/lib(64)/vndk-sp as a vendor variant.

Note: libhidlmemory will be changed to vndk-sp.

Bug: 63866913
Test: build and boot with BOARD_VNDK_VERSION=current
Change-Id: I9e3c9603f1d218c17ccb8e6aea7afad6f9d28b92
ndroid.bp
oken/1.0/utils/Android.bp
f58aaeba026269603b7eeb770d34d0260ee984ab 26-Jul-2017 Steven Moreland <smoreland@google.com> Update makefiles for vndk enabled.

Test: none
Bug: 63866913
Change-Id: I10e84e2060c3007b1748a2d8293cdb60787bcf03
llocator/1.0/Android.bp
emory/1.0/Android.bp
oken/1.0/Android.bp
cac6c44069b11decf601ff896b9069005f1faacc 26-Jul-2017 Steven Moreland <smoreland@google.com> Update HIDL makefiles.

Allow them to be static.

This is required for a couple of reasons:
- enabling HIDL passthrough in recovery
- enabling VTS tests to be static blobs

Bug: 32920003
Bug: 64040096
Test: update-all-google-makefiles.sh
Merged-In: I07333961f6cea2dbeb4acbddc3672acc241d958b
Change-Id: I07333961f6cea2dbeb4acbddc3672acc241d958b
(cherry picked from commit 44f14b1a5406a4dd5bbfd741fca74fb72595ce16)
llocator/1.0/Android.bp
emory/1.0/Android.bp
oken/1.0/Android.bp
6295027eecc583a9a8cd5271ba350422765e58c6 27-Jul-2017 Martijn Coenen <maco@google.com> Add eraseIfEqual to ConcurrentMap.

To only delete a key if its value matches
the passed in value.

Bug: 63940457
Test: hidl_test
Change-Id: I67ac1ccd0da16a84de88886af54e234642400cf6
nclude/hidl/ConcurrentMap.h
7a4a517aeefedac443c3126ad4a5067ef2128c00 26-Jul-2017 Zhuoyao Zhang <zhuoyao@google.com> Merge "resolve merge conflicts of 8d92561 to oc-mr1-dev" into oc-mr1-dev
1f888e8694c7ff07bbca7ab3c7eb5a92159798aa 26-Jul-2017 Zhuoyao Zhang <zhuoyao@google.com> resolve merge conflicts of 8d92561 to oc-mr1-dev

Test: I solemnly swear I tested this conflict resolution.
Change-Id: I316f817cdf5e828fe3230cd472d448e96639544c
8f2d92a5811e603e5a6de9e33f0cc3a8461dc0b4 22-Jul-2017 Steven Moreland <smoreland@google.com> Add 1.1 version of hwservicemanager.

Test: boot marlin
Test: hidl_test
Bug: 63940457

Merged-In: I9c86c7c99eb6cccbf2e54596414bfec34e0bdbb8
Change-Id: I9c86c7c99eb6cccbf2e54596414bfec34e0bdbb8
ndroid.bp
erviceManagement.cpp
nclude/hidl/ServiceManagement.h
anager/1.1/Android.bp
anager/1.1/Android.mk
anager/1.1/IServiceManager.hal
6fec3ba00a1db48a18047de00975bcd09ea0cc1c 14-Jul-2017 Steven Moreland <smoreland@google.com> Allow VTS to load test HALs from data.

* This uses the TREBLE_TESTING_OVERRIDE flag which was previously only set by hidl-gen code.
b/63707685 is filed for this coupling.
* Lookup additional directory VTS_ROOT_PATH/system/lib(64) to search for -impl.so where
VTS_ROOT_PATH is an enviroment variable.

Test: make vts
vts-tradefed run vts -m VtsHidlUniTest.

Bug: 63707685
Bug: 63704014
Change-Id: Icdc486cc862adb2d93c4916f1cdf3bcafa971c69
Merged-In: Icdc486cc862adb2d93c4916f1cdf3bcafa971c69
(cherry picked from commit f7dea69ebaf7ab297715f93e4102af3ad16089e5)
erviceManagement.cpp
e67a676fdf3f0c565af64e375075e5386e6ab940 16-May-2017 Steven Moreland <smoreland@google.com> Allow proxies to be compared.

Also:
- removed unnecessary template parameter to toBinder
- don't create redundant BnObjects
- added comparison function for hidl interfaces

toBinder now caches the HIDL pure interface objects
in order to recreate the behavior that the binder kernel does by
itself. This means that if you pass a HIDL object out, you will
always get the same remote reference.

Test: boot a device
Test: boot a marlin
Test: hidl_test and hidl_test_java
Bug: 38348572
Bug: 32172906

Merged-In: I6453200e45eb29e685b06aab4746d9ba18c011a9
Change-Id: I6453200e45eb29e685b06aab4746d9ba18c011a9
tatic.cpp
nclude/hidl/ConcurrentMap.h
nclude/hidl/HidlBinderSupport.h
nclude/hidl/HidlTransportSupport.h
nclude/hidl/Static.h
48da5c7abc87bb68b20efb146094e3a9eb1abd98 06-Jul-2017 Martijn Coenen <maco@google.com> Fix proxy memory leak. am: 25508806b8 am: fc12902fc7
am: c490b8b724

Change-Id: I232c3dfc74fe6f3fbd1c9c2c8becfbed80ec05e0
fc12902fc75d31d1ace4a00b608e63a699528bab 06-Jul-2017 Martijn Coenen <maco@google.com> Fix proxy memory leak.
am: 25508806b8

Change-Id: I3595ec43463190457c17e883ec5c1e224cf0ccb8
32c8bdc9fdbcac0302c5c1131b9d7cd0c1b9fafe 05-Jul-2017 Martijn Coenen <maco@google.com> Fix proxy memory leak.

Proxy objects that had a death recipient registered
could not be freed; this is because of the following
chain of events:

- Proxy objects extend BpHwRefBase
- BpHwRefBase extends the lifetime of the object to
weak - meaning it will only get freed when both
all strong *and* weak references are gone.
- When a death recipient is registered, it keeps
a weak reference to the proxy object (it needs to,
so it can pass the object in the callback).
- The death recipient objects are kept in a vector
of sp<> objects.
- Now, whenever the last strong reference to the proxy
goes away in client code, the proxy object destructor
will not run, because of the weak reference left in
the death recipient.
- But, the death recipient won't get destructed either,
because it would only get destructed in the proxy
destructor.

This fixes the leak only in case the death recipient
fires; in case the last strong reference to the proxy
object is removed by the client without the death
recipient having fired, the leak remains. This can
be prevented in client code by calling unlinkToDeath()
before getting rid of a proxy object.

Bug:62319810 (?)
Bug:63127792
Test: mma, hidl_test
Change-Id: I686863ab462e63d98737cfc5ae50a6a8fa0081c0
Merged-In: I686863ab462e63d98737cfc5ae50a6a8fa0081c0
idlBinderSupport.cpp
25508806b87fc4d428590f06e0b6d361a254355c 05-Jul-2017 Martijn Coenen <maco@google.com> Fix proxy memory leak.

Proxy objects that had a death recipient registered
could not be freed; this is because of the following
chain of events:

- Proxy objects extend BpHwRefBase
- BpHwRefBase extends the lifetime of the object to
weak - meaning it will only get freed when both
all strong *and* weak references are gone.
- When a death recipient is registered, it keeps
a weak reference to the proxy object (it needs to,
so it can pass the object in the callback).
- The death recipient objects are kept in a vector
of sp<> objects.
- Now, whenever the last strong reference to the proxy
goes away in client code, the proxy object destructor
will not run, because of the weak reference left in
the death recipient.
- But, the death recipient won't get destructed either,
because it would only get destructed in the proxy
destructor.

This fixes the leak only in case the death recipient
fires; in case the last strong reference to the proxy
object is removed by the client without the death
recipient having fired, the leak remains. This can
be prevented in client code by calling unlinkToDeath()
before getting rid of a proxy object.

Bug:62319810 (?)
Bug:63127792
Test: mma, hidl_test
Change-Id: I686863ab462e63d98737cfc5ae50a6a8fa0081c0
idlBinderSupport.cpp
9fb8fd9160d78e58529eb25bedc6231db10bd687 26-Jun-2017 Steven Moreland <smoreland@google.com> Merge "Remove unnecessary dependencies." am: aea9f83e6d am: 173aa15ec9
am: e06b744b3d

Change-Id: I3f56aba6ea41ca4a1a3098184c64f07e1a86a081
e06b744b3db0779565f194e1147dbb5bf6c7128e 26-Jun-2017 Steven Moreland <smoreland@google.com> Merge "Remove unnecessary dependencies." am: aea9f83e6d
am: 173aa15ec9

Change-Id: Id3ff8872e18cb251719642cac1bff857166dcb5d
1cd40b387a9e93531e2cab29e21c0d29f5d2702d 24-Jun-2017 Steven Moreland <smoreland@google.com> Remove unnecessary dependencies.

liblog is unneeded, libcutils duplicated

Test: links
Bug: 62957047
Change-Id: I9de87c225bbe67fb7edc15cf3d59cd1f5ef208a6
emory/1.0/default/Android.bp
c1813614ec88b080eda68b11175273ef7b432f44 07-Jun-2017 Steven Moreland <smoreland@google.com> Add preloadPassthroughService.

This will preload the appropriate libraries
in the appropriate namespaces so that getService
will be faster.

Test: hidl_test
Bug: 62376972
Change-Id: Iaaf0f75b31d0b0aea7ad5fe4672ae861271d184f
erviceManagement.cpp
nclude/hidl/ServiceManagement.h
ecf806d56788467ea017365caa27c4659283ba06 13-Jun-2017 Steven Moreland <smoreland@google.com> Add batching to hidl allocator HAL.
am: eca68d224d

Change-Id: I1a8c19ffa902f04a4ae8dc7ab0271bd98c3e0fe0
501b083d8f66b2b053e0864ced0cb431e1bf6925 13-Jun-2017 Steven Moreland <smoreland@google.com> Add batching to hidl allocator HAL.
am: eca68d224d

Change-Id: I6d29294fff16fff8268bf96ad9332e746ba26515
eca68d224d97a549e34598237649a0b743dced7d 08-Jun-2017 Steven Moreland <smoreland@google.com> Add batching to hidl allocator HAL.

Test: hidl_test

Bug: 36727951

Change-Id: I000dcf339dd0b5a8180eb91e0b52979c4fca657b
llocator/1.0/IAllocator.hal
llocator/1.0/default/AshmemAllocator.cpp
llocator/1.0/default/AshmemAllocator.h
urrent.txt
80f1c71e014e28b76b42137c422fd11c17fd6324 06-Jun-2017 Steven Moreland <smoreland@google.com> Merge "Add hidl-module-defaults to libhidltransport." am: 6bddfc5612 am: a45810aa74 am: 59baf2576f
am: 553afe0db2

Change-Id: Iae5ec9c85ee0eda92df183bfd2f44f8f8fd463b3
553afe0db21aeadf0c8dc3f9c13bcbce92679fe4 06-Jun-2017 Steven Moreland <smoreland@google.com> Merge "Add hidl-module-defaults to libhidltransport." am: 6bddfc5612 am: a45810aa74
am: 59baf2576f

Change-Id: Ic91c19b5fea67cd995be61814012adb1c80e36ad
6bddfc561220426650c1a97af4f66579a0432107 06-Jun-2017 Treehugger Robot <treehugger-gerrit@google.com> Merge "Add hidl-module-defaults to libhidltransport."
8a61f320bc678d8015764a87de2844547db27a63 06-Jun-2017 Steven Moreland <smoreland@google.com> Add hidl-module-defaults to libhidltransport.

Core hidl interfaces are built into this module. This module
needs them to inherit the same build rules as every hidl module
in order for these modules to be built the same way.

Bug: 37908609
Test: hidl_test
Change-Id: I4b1e562373fc63f775a660e41e5608ead9f7f394
ndroid.bp
4ecb8521624e0250be013b38f9d81005bfaaf53e 26-May-2017 Yifan Hong <elsk@google.com> Add pids for processes that dlopens implementations am: bd0d8f7823 am: 6fd759f86f am: 3e61805121
am: 64c8dd55da

Change-Id: I6ce2eaf9e59d843c963f7d3c993fa1e57afe89d3
64c8dd55daf2f1271b5f76a78b50ffdf2f47237a 26-May-2017 Yifan Hong <elsk@google.com> Add pids for processes that dlopens implementations am: bd0d8f7823 am: 6fd759f86f
am: 3e61805121

Change-Id: Ibdc29595e5713035c4856fb06df6c87eb8aa6910
bd0d8f7823de104f5ab0ac80b5410383aee2a34e 25-May-2017 Yifan Hong <elsk@google.com> Add pids for processes that dlopens implementations

Test: lshal

Bug: 37639822
Change-Id: Idfd8fd3262a58ea14272f975ed896302f1db0ad6
erviceManagement.cpp
cb0243bada70e3f362d492c7d48b033770eabb9c 20-May-2017 Steven Moreland <smoreland@google.com> Update makefiles. am: f99ae5a628 am: 45f22fb9bb am: a9e57d346a
am: f44d75eef7

Change-Id: I52741bf4e4d37a93f4a4526c340f4a83d58499dd
f44d75eef79c5dc63c236a82e36d256c4f906f15 20-May-2017 Steven Moreland <smoreland@google.com> Update makefiles. am: f99ae5a628 am: 45f22fb9bb
am: a9e57d346a

Change-Id: I0763e4abe8c6eacddec91e89ee11810cb707572a
ecbec2b749cbc25acf341e0f4ece7ba843fa9ef7 19-May-2017 Steven Moreland <smoreland@google.com> Update makefiles.

This adds hidl-module-defaults to all hals.

Test: pass
Merged-In: I5750c04e9ef62a6db1c70de91a241de5c6bfb387
Change-Id: I5750c04e9ef62a6db1c70de91a241de5c6bfb387
llocator/1.0/Android.bp
emory/1.0/Android.bp
oken/1.0/Android.bp
f99ae5a628345a1b6f35f3b689e2ab56d85a1306 19-May-2017 Steven Moreland <smoreland@google.com> Update makefiles.

This adds hidl-module-defaults to all hals.

Test: pass
Change-Id: I5750c04e9ef62a6db1c70de91a241de5c6bfb387
llocator/1.0/Android.bp
emory/1.0/Android.bp
oken/1.0/Android.bp
129d5ff08b8cd8c10ffebaded6ac8121f1955c58 15-May-2017 Jiyong Park <jiyong@google.com> libhidltransport is using libvndksupport

android_get_exported_namespace is a platform-only API which is not
visible to libs with vendor_available:true. Instead, an alternative API
android_load_sphal_library from the libvndksupport.so is used.

Bug: 37323945
Test: sailfish builds and boots
Test: BOARD_VNDK_VERSION=current m libhidltransport.vendor successful

Change-Id: I3cb2b24d77e38dc616f237ee7ff2592a3f84f694
ndroid.bp
erviceManagement.cpp
fa61657a6e4dc8e84415b009fa4fb0952f1ea761 15-May-2017 Jiyong Park <jiyong@google.com> make token@1.0-utils vendor_available:true

This, when used with BOARD_VNDK_VERSION flag, enables the
module to be built and installed twice, one for /system,
other for /vendor.

token@1.0-utils is used by libgui which is in turn used by libs in
/vendor and thus marked as vendor_available. Therefore, token@1.0-utils
is also marked as vendor_available.

Details: https://android-review.googlesource.com/368372

Bug: 33241851
Test: BOARD_VNDK_VERSION=current m android.hidl.token@1.0-utils.vendor successful
Change-Id: I5d87b4b030ee14f8cd7639873f426c714774b39e
oken/1.0/utils/Android.bp
f010d80c6271e67e7f35a189003473e6a3123ea3 10-May-2017 Steven Moreland <smoreland@google.com> Merge "remove "// static" comments" am: 6170b8777e am: c41a3f64e1
am: 03c9ebb0eb

Change-Id: Ib324e164beb0c2c9e1656ccc7b50005c902a8f7f
6170b8777ea7f5966c5722e615eb6f9bb42387a7 10-May-2017 Treehugger Robot <treehugger-gerrit@google.com> Merge "remove "// static" comments"
5aa6f9efb00b01abce63922f4f402066575ef980 09-May-2017 Steven Moreland <smoreland@google.com> Update makefiles for c++-sources and c++-headers.

Test: pass
Bug: 38174080
Merged-In: Id4bfe19b18c3b0c08ec83288aeb7a542230b3ba5
Change-Id: Id4bfe19b18c3b0c08ec83288aeb7a542230b3ba5
llocator/1.0/Android.bp
ase/1.0/Android.bp
anager/1.0/Android.bp
emory/1.0/Android.bp
oken/1.0/Android.bp
abfc331d7638f23eaa74348485d01597797ca4c9 10-May-2017 Steven Moreland <smoreland@google.com> Merge "Update makefiles for c++-sources and c++-headers." am: 0609259ec7 am: 4d32c392d0
am: 4c9cfc07ff

Change-Id: Id2566418174312787958027ac823766da75636c1
5186947b171bc36a77b36ad9fd72c6f0a7d8fade 10-May-2017 Steven Moreland <smoreland@google.com> remove "// static" comments

Test: pass
Change-Id: I6866fc0ed7bf3251e3af51b4505172b5f4af273b
idlBinderSupport.cpp
cf1a03cc27d3975fb2ef2fb7c9892e049e5e0622 09-May-2017 Steven Moreland <smoreland@google.com> Update makefiles for c++-sources and c++-headers.

Test: pass
Bug: 38174080
Change-Id: Id4bfe19b18c3b0c08ec83288aeb7a542230b3ba5
llocator/1.0/Android.bp
ase/1.0/Android.bp
anager/1.0/Android.bp
emory/1.0/Android.bp
oken/1.0/Android.bp
d86adb8db9ca521612cea37050cfbe2bcfc7d027 08-May-2017 Steven Moreland <smoreland@google.com> Merge "libhidltransport: move methods to sources" am: f8fdbce8f1 am: fbd3b78c92
am: 571d69a294

Change-Id: I744aba650d2dc85362c2da052c378d8d61756f4a
f8fdbce8f1fa22f7e2f1960e34e6f5f9dcc9e460 08-May-2017 Treehugger Robot <treehugger-gerrit@google.com> Merge "libhidltransport: move methods to sources"
108d09d4eae07cd1d70a76187a929dc61548a229 06-May-2017 Steven Moreland <smoreland@google.com> libhidltransport: move methods to sources

Moved all methods with no templatization into sources.

Test: links
Bug: 35710429
Change-Id: I44bd6407e1bd74dd188b4033ddf176587ccdd8e7
ndroid.bp
idlBinderSupport.cpp
idlTransportUtils.cpp
nclude/hidl/HidlBinderSupport.h
nclude/hidl/HidlTransportUtils.h
0a5f799eff740c6195aa0ba6dfa088bc5140fbe8 05-May-2017 Steven Moreland <smoreland@google.com> Merge "Remove duplicate targets." am: ac3dc8fd94 am: f44e5af5b5
am: 0d816d6b62

Change-Id: I1837a37df705ba233b33befed9ac10e5e92b42c6
8ed487377eb1f3239085b9ce43aaa440d3baf62d 04-May-2017 Martijn Coenen <maco@google.com> Merge "Allow setting a minimum scheduler policy for a service." into oc-dev
am: b3ebe4e543

Change-Id: Iaf4493e7ae370675464ce1a1d12d24d8aa632449
b3ebe4e5434a3a2f0a67f8dddeec1abf96f0e15c 04-May-2017 Martijn Coenen <maco@google.com> Merge "Allow setting a minimum scheduler policy for a service." into oc-dev
81ef4da81353cf86d185e90239e4f06d2930c2ba 22-Apr-2017 Martijn Coenen <maco@google.com> Allow setting a minimum scheduler policy for a service.

The binder kernel driver supports priority inheritance
at a node (service)-basis, that makes sure all transactions
into that service are executed at a specified minimum
scheduler policy and priority.

This change allows users of HIDL interfaces to set
such a policy for their interface.

Bug: 37293077
Test: verified min_prio in /d/binder output
Change-Id: If72dd8322381246832b460c386dda44fbd225757
idlTransportSupport.cpp
tatic.cpp
nclude/hidl/HidlTransportSupport.h
nclude/hidl/Static.h
4f4c5a6450d23be03234069a4cf8fe2cd23a0965 01-May-2017 Steven Moreland <smoreland@google.com> Remove duplicate targets.

Test: nothing depends on these
Fixes: 33276472
Change-Id: I81596265202f330bb3e28fe6dd2a79ff16e474fa
ase/1.0/Android.bp
anager/1.0/Android.bp
469478dc99908a67a2fc5b5aafbe73f56c307ddd 02-May-2017 Steven Moreland <smoreland@google.com> Merge "Remove redundant dependencies" am: 5bc5653e31 am: 4ade37c5b0
am: 2576d8e2f4

Change-Id: I149319423ccab82816795068858a7fb1e01d2d57
5bc5653e318b6155b9b5f7d17716dbc71dc44947 02-May-2017 Treehugger Robot <treehugger-gerrit@google.com> Merge "Remove redundant dependencies"
b11c384f545f5fcb92c8631dfe646522bd0477ae 01-May-2017 Steven Moreland <smoreland@google.com> Remove redundant dependencies

android.hidl.base@1.0 and android.hidlmanager@1.0 are built into libhidltransport.

Test: links
Bug: 33276472
Change-Id: Ic7fcc85f13be5796829aa86af58defbd388ceebc
llocator/1.0/Android.bp
llocator/1.0/default/Android.bp
anager/1.0/Android.bp
emory/1.0/Android.bp
emory/1.0/default/Android.bp
oken/1.0/Android.bp
bf13ad09b72a4a7ffd70a65ccd7a7ed722bfe517 27-Apr-2017 Martijn Coenen <maco@google.com> Make registerPassthroughClient() synchronous.

And remove the PID argument.

Bug: 37730021
Test: lshal shows passthrough clients again
Merged-In: I0bee20ae5cde36dbc86662654d0ac9e9489bf0a2
Change-Id: I0bee20ae5cde36dbc86662654d0ac9e9489bf0a2
erviceManagement.cpp
anager/1.0/IServiceManager.hal
9d3eb357a2a3a64baa4824d550b5563b3dc0b15a 19-Apr-2017 Martijn Coenen <maco@google.com> Validate incoming data properly.

readEmbeddedBuffer() now requires the correct length
of the buffer as an argument.

Modified the readEmbeddedFromParcel() functions to take
a const-reference to the struct the data is embedded in;
the kernel has already fixed up the pointers, we just need
to verify the buffer has the correct size, parent buffer
and offset within that parent buffer.

Bug: 30498700
Test: hidl_test, hidl_test_java, YouTube, Maps, Netflix, Camera
Change-Id: I44d6ca7ef6f252f8154b03ff9914b7db69c70604
Merged-In: I44d6ca7ef6f252f8154b03ff9914b7db69c70604
idlBinderSupport.cpp
nclude/hidl/HidlBinderSupport.h
af4aba557ba4a7f9fe22a23ad6e26476737f824a 27-Apr-2017 Martijn Coenen <maco@google.com> Make registerPassthroughClient() synchronous.

And remove the PID argument.

Bug: 37730021
Test: lshal shows passthrough clients again
Change-Id: I0bee20ae5cde36dbc86662654d0ac9e9489bf0a2
erviceManagement.cpp
urrent.txt
anager/1.0/IServiceManager.hal
08607dcb2119d45381579682f1531e487c9414ad 21-Apr-2017 Yifan Hong <elsk@google.com> Fix wrapPassthrough casts to the wrong type.

wrapPassthrough should cast to IType *, not
IBase *, for the incoming pointer.

Also, use static_cast instead of reinterpret_cast
everywhere.

Bug: 37542631
Bug: 36225019
Test: hidl_test
Change-Id: Ifc3455b2313ea3cdf765e8959707b08a4a8ff101
ndroid.bp
idlPassthroughSupport.cpp
nclude/hidl/HidlBinderSupport.h
nclude/hidl/HidlPassthroughSupport.h
81e25c13192462a60eda925413302d0f8c6a936e 21-Apr-2017 Yifan Hong <elsk@google.com> Fix wrapPassthrough casts to the wrong type.

wrapPassthrough should cast to IType *, not
IBase *, for the incoming pointer.

Also, use static_cast instead of reinterpret_cast
everywhere.

Bug: 37542631
Bug: 36225019
Test: hidl_test
Change-Id: Ifc3455b2313ea3cdf765e8959707b08a4a8ff101
ndroid.bp
idlPassthroughSupport.cpp
nclude/hidl/HidlBinderSupport.h
nclude/hidl/HidlPassthroughSupport.h
d42aa7086b6de6c93c44dcac4bba525d2f72607b 20-Apr-2017 TreeHugger Robot <treehugger-gerrit@google.com> Merge "Validate incoming data properly." into oc-dev
5286ad5596220c5fc5f06fb8331efbb894788c09 19-Apr-2017 Martijn Coenen <maco@google.com> Validate incoming data properly.

readEmbeddedBuffer() now requires the correct length
of the buffer as an argument.

Modified the readEmbeddedFromParcel() functions to take
a const-reference to the struct the data is embedded in;
the kernel has already fixed up the pointers, we just need
to verify the buffer has the correct size, parent buffer
and offset within that parent buffer.

Bug: 30498700
Test: hidl_test, hidl_test_java, YouTube, Maps, Netflix, Camera
Change-Id: I44d6ca7ef6f252f8154b03ff9914b7db69c70604
idlBinderSupport.cpp
nclude/hidl/HidlBinderSupport.h
435f79e3b920e3e6808c9d8e3f9b6aa5ff31480f 19-Apr-2017 Steven Moreland <smoreland@google.com> Add current.txt

Test: changing frozen interfaces results in failure
Bug: 34178341
Change-Id: I1f47355cad00b8810e797b3f841897b05eaa833c
urrent.txt
647c0af67f3c8466b2f4ac7374c489ae93c94c7c 11-Apr-2017 Steven Moreland <smoreland@google.com> 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: Android-aosp_arm.mk is the same before/after
Test: build.ninja is the same before/after
Test: build-aosp_arm.ninja is the same before/after
Test: attempt to compile with BOARD_VNDK_VERSION := current
(cherry picked from commit 6ae1f619b54d2478ad8633aa1f4c7119d491354a)
Merged-In: I9875796efd5581d65c1a2e4e40d182cb5a64994c
Change-Id: I9875796efd5581d65c1a2e4e40d182cb5a64994c
ndroid.bp
7c23319656671ca1df0a4c90702272209ce2c504 13-Apr-2017 Andreas Huber <andih@google.com> 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: Iad2fe667c4fb8594d513a0b3c08a4c3229d5b6a7
Merged-In: If80e117ef3a284ab2dcc67b7c6a91da22530d71f
ase/1.0/Android.mk
anager/1.0/Android.mk
oken/1.0/Android.mk
0a80ba6df7efd2df3f509935d2dfd245908cb056 13-Apr-2017 Andreas Huber <andih@google.com> 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: Iad2fe667c4fb8594d513a0b3c08a4c3229d5b6a7
Merged-In: If80e117ef3a284ab2dcc67b7c6a91da22530d71f
ase/1.0/Android.mk
anager/1.0/Android.mk
oken/1.0/Android.mk
95084fc0a5041af7039e5f48fbb18dbca95fbb43 12-Apr-2017 Treehugger Robot <treehugger-gerrit@google.com> Merge "Update makefiles."
382c25281a5679d15d8abf1711fb754de1bf2e80 11-Apr-2017 Steven Moreland <smoreland@google.com> Update makefiles.

Test: pass
Change-Id: Id4e4a60149e7c8462d541bd114d96a7fc22c1f35
llocator/1.0/Android.bp
ase/1.0/Android.bp
anager/1.0/Android.bp
emory/1.0/Android.bp
oken/1.0/Android.bp
eb0c337c4fdfe35b12039036555c2760a7c60884 03-Apr-2017 Scott Randolph <randolphs@google.com> Implicit const char* cast removed, operator<< added to 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 for marlin, bullhead, bat

(cherry picked from commit 0c84ab4192f9b0b03b9840b85fc430afa17f55f1)

Merged-In: I6ba76522ef65aa211bc156144990ad8b7495b051
Change-Id: I6ba76522ef65aa211bc156144990ad8b7495b051
erviceManagement.cpp
8105d4205b1846eff2719a9f39b1f22b62a67466 11-Apr-2017 Steven Moreland <smoreland@google.com> Update makefiles.

Test: pass
Change-Id: Id4e4a60149e7c8462d541bd114d96a7fc22c1f35
llocator/1.0/Android.bp
ase/1.0/Android.bp
anager/1.0/Android.bp
emory/1.0/Android.bp
oken/1.0/Android.bp
6ae1f619b54d2478ad8633aa1f4c7119d491354a 11-Apr-2017 Steven Moreland <smoreland@google.com> 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: Android-aosp_arm.mk is the same before/after
Test: build.ninja is the same before/after
Test: build-aosp_arm.ninja is the same before/after
Test: attempt to compile with BOARD_VNDK_VERSION := current
Change-Id: I9875796efd5581d65c1a2e4e40d182cb5a64994c
ndroid.bp
cd4dbdf6b21cfc643df92105ef69fccfabcb1932 08-Apr-2017 Steven Moreland <smoreland@google.com> Cut off process names for profiling.

/proc/<pid>/comm cannot be longer than 16 characters. Because of this,
packages starting with android.hardware.* etc.. are indistinguishable
between tool that use comm to identify processes. This makes using tools
like systrace extremely difficult and error prone.

Test: external/chromium-trace/systrace.py -b 32000 audio sched freq idle
workq irq binder_driver am sync hal app pm ss -t 5
Test: (sanity) hidl_test
Bug: 33664825

(cherry picked from commit 405d76134f5ec033817a21fbbcc13083fe0349fe)
Merged-In: I4c9ba4d75b9ad1c1161335fe3595e13ac3222bb6
Change-Id: I4c9ba4d75b9ad1c1161335fe3595e13ac3222bb6
erviceManagement.cpp
nclude/hidl/ServiceManagement.h
863c10e1e78814e8e556120fd4519b6e285e4fe0 10-Apr-2017 TreeHugger Robot <treehugger-gerrit@google.com> Merge "Load SP-HAL impls from the sphal namespace" into oc-dev
3ab546c2d2bd2abb72d128c6b331e8889a6a2825 06-Apr-2017 Jiyong Park <jiyong@google.com> Load SP-HAL impls from the sphal namespace

SP-HALs are developed by vendors and thus they can use only a subset of
framework libraries that we call vndk-stable and subset of NDK
libraries. It consists of libc, libm, liblog, libz, libnativewindow,
libc++, ..., but not framework-only libraries such as libui, libandroid,
etc.

In order to enforce such restriction at run-time, we will use the linker
namespace. Specifically, we create a new namespace named 'sphal' and
configure it so that...
1) it can only search and load libraries from /vendor/lib,
2) it redirects the load/link request to the default namespace when the
allowed list of libraries are requested from the caller, and
3) it rejects to search/load any library other than 1) and 2).

The problem here is, libhidltransport, which is responsible for loading
SP_HALs into the memory space, need to tell the linker to load the
drivers from the separate namespace (the 'sphal' namespace other than
the default namespace. To specify the namespace, we need to use
android_dlopen_ext() instead of dlopen().

Bug: 34407260
Test: none. this should be no-op because there is no 'sphal' namespace
yet.

Change-Id: I9afb94722baa3d0157d37c82f64c69818c06bb3b
erviceManagement.cpp
405d76134f5ec033817a21fbbcc13083fe0349fe 08-Apr-2017 Steven Moreland <smoreland@google.com> Cut off process names for profiling.

/proc/<pid>/comm cannot be longer than 16 characters. Because of this,
packages starting with android.hardware.* etc.. are indistinguishable
between tool that use comm to identify processes. This makes using tools
like systrace extremely difficult and error prone.

Test: external/chromium-trace/systrace.py -b 32000 audio sched freq idle
workq irq binder_driver am sync hal app pm ss -t 5
Test: (sanity) hidl_test
Bug: 33664825
Change-Id: I4c9ba4d75b9ad1c1161335fe3595e13ac3222bb6
erviceManagement.cpp
nclude/hidl/ServiceManagement.h
da8e6173cdd32e687242c0e52384904cc4cf697b 07-Apr-2017 Steven Moreland <smoreland@google.com> Remove dependency on libhidl-gen-utils.

Test: hidl_test + (sanity) hidl_test_java
Test: VtsHalVibratorV1_0TargetProfiling
Test: internal marlin boots up w/o errors
Test: (sanity) YouTube/Camera works
Bug: 37107636
Change-Id: I9b3a47d17ff3d594282bc3a28cd81463c3b1ac0f
(cherry picked from commit 819c05d28de72983177620902990dff360e80e73)
ndroid.bp
erviceManagement.cpp
28ee5d940fcd1feeb7ef3403cf518dfd2ff76ecd 07-Apr-2017 Steven Moreland <smoreland@google.com> Merge "Remove dependency on libhidl-gen-utils." into oc-dev
8a9b8abef841fc0b3113a29a68c0127662e1b456 07-Apr-2017 Steven Moreland <smoreland@google.com> Merge "libhidl: remove libvintf dependency"
819c05d28de72983177620902990dff360e80e73 07-Apr-2017 Steven Moreland <smoreland@google.com> Remove dependency on libhidl-gen-utils.

Test: hidl_test + (sanity) hidl_test_java
Test: VtsHalVibratorV1_0TargetProfiling
Test: internal marlin boots up w/o errors
Test: (sanity) YouTube/Camera works
Bug: 37107636
Change-Id: I9b3a47d17ff3d594282bc3a28cd81463c3b1ac0f
ndroid.bp
erviceManagement.cpp
40ccc88443a4c5854dcc6dbd557f3e5111f2cc49 07-Apr-2017 Scott Randolph <randolphs@google.com> Merge "Implicit const char* cast removed, operator<< added to hidl_string." into oc-dev
330e3e21400eb263b9ac45d933fba48360216794 06-Apr-2017 Steven Moreland <smoreland@google.com> libhidl: remove libvintf dependency

Now hwservicemanager deals with libvintf and provides an IPC call for
the same information. This dependency on libvintf must be moved in order
to remove it from vndk-stable.

Test: extensive, see Ia5d1eb41b057ab5d6800f6c3fd22658adecc4be7
Bug: 36377072

Merged-In: I05d40e2bf2a467c75e51a133b4799c0fd7fa74cb
Change-Id: I05d40e2bf2a467c75e51a133b4799c0fd7fa74cb
(cherry picked from commit c601c5f21808844e614015eabc03e9c71f5aae42)
erviceManagement.cpp
anager/1.0/IServiceManager.hal
c601c5f21808844e614015eabc03e9c71f5aae42 06-Apr-2017 Steven Moreland <smoreland@google.com> libhidl: remove libvintf dependency

Now hwservicemanager deals with libvintf and provides an IPC call for
the same information. This dependency on libvintf must be moved in order
to remove it from vndk-stable.

Test: extensive, see Ia5d1eb41b057ab5d6800f6c3fd22658adecc4be7
Bug: 36377072
Change-Id: I05d40e2bf2a467c75e51a133b4799c0fd7fa74cb
erviceManagement.cpp
anager/1.0/IServiceManager.hal
c6a4ca733e3bd882f019c02f987f2db264d08d7f 06-Apr-2017 Treehugger Robot <treehugger-gerrit@google.com> Merge "Token Manager: use arbitrarily sized tokens."
d68dcfa332b8aed46efe0fffa405ba9055d6d4a5 05-Apr-2017 TreeHugger Robot <treehugger-gerrit@google.com> Merge "Token Manager: use arbitrarily sized tokens." into oc-dev
3249cc0d8767bd3dadd055836a49d83b90bc6ae4 16-Mar-2017 Steven Moreland <smoreland@google.com> Token Manager: use arbitrarily sized tokens.

Token manager tokens need to be larger then 64 bits so that we have
sufficient security. Allowing them to be variably sized gives us
sufficient flexibility to change the underlying implementation without
having to change the interface.

Test: hidl_test
Test: (sanity) YouTube videos work
Test: (sanity) watching movies works
Test: Camera record + replay works
Bug: 33842662
Change-Id: I1acc8b5ab5a06597366adbe5718b63acf88c635a
(cherry picked from commit 15716d525cff9487897e0841fa47092a30293d92)
oken/1.0/ITokenManager.hal
oken/1.0/utils/HybridInterface.cpp
oken/1.0/utils/include/hidl/HybridInterface.h
8476eb8f90b04d0368ce87b8c03c28fd465b359b 05-Apr-2017 Yifan Hong <elsk@google.com> Merge "Fix getService should retry on DEAD_OBJECT"
65d79c4f4058429003a87605cb07ceaa078bf9bc 05-Apr-2017 TreeHugger Robot <treehugger-gerrit@google.com> Merge "Fix getService should retry on DEAD_OBJECT" into oc-dev
15716d525cff9487897e0841fa47092a30293d92 16-Mar-2017 Steven Moreland <smoreland@google.com> Token Manager: use arbitrarily sized tokens.

Token manager tokens need to be larger then 64 bits so that we have
sufficient security. Allowing them to be variably sized gives us
sufficient flexibility to change the underlying implementation without
having to change the interface.

Test: hidl_test
Test: (sanity) YouTube videos work
Test: (sanity) watching movies works
Test: Camera record + replay works
Bug: 33842662
Change-Id: I1acc8b5ab5a06597366adbe5718b63acf88c635a
oken/1.0/ITokenManager.hal
oken/1.0/utils/HybridInterface.cpp
oken/1.0/utils/include/hidl/HybridInterface.h
a7b2bb72eb9ed9345307c80ecc3386338ecddb9f 29-Mar-2017 Yifan Hong <elsk@google.com> Fix getService should retry on DEAD_OBJECT

If getService sees DEAD_OBJECT or nullptr when calling
interfaceChain on the retrieved service, it should
retry. Otherwise (e.g. TRANSACTION_FAILED for selinux
denials), it should bail out.

Test: calling Debug.getMemoryInfo from apps does not hang
Test: kill system_server, audio_server restarts exactly once
(tested 10/10 times)
Test: taking screenshots / using camera / using maps
Test: adb push
$OUT/data/nativetest/VtsHalNfcV1_0TargetTest/VtsHalNfcV1_0TargetTest
/data/local/tmp && adb shell
/data/local/tmp/VtsHalNfcV1_0TargetTest

Bug: 36153684
Bug: 36611652

Change-Id: Iee10d4b9a1c4edfd154afb588a56fcd8c489641e
nclude/hidl/HidlTransportSupport.h
nclude/hidl/HidlTransportUtils.h
6cd7d98e15913f69b100f10d88389b028e88f288 29-Mar-2017 Yifan Hong <elsk@google.com> Fix getService should retry on DEAD_OBJECT

If getService sees DEAD_OBJECT or nullptr when calling
interfaceChain on the retrieved service, it should
retry. Otherwise (e.g. TRANSACTION_FAILED for selinux
denials), it should bail out.

Test: calling Debug.getMemoryInfo from apps does not hang
Test: kill system_server, audio_server restarts exactly once
(tested 10/10 times)
Test: taking screenshots / using camera / using maps
Test: adb push
$OUT/data/nativetest/VtsHalNfcV1_0TargetTest/VtsHalNfcV1_0TargetTest
/data/local/tmp && adb shell
/data/local/tmp/VtsHalNfcV1_0TargetTest

Bug: 36153684
Bug: 36611652

Change-Id: Iee10d4b9a1c4edfd154afb588a56fcd8c489641e
nclude/hidl/HidlTransportSupport.h
nclude/hidl/HidlTransportUtils.h
6ae00c60f351b84865ab702be4f67e20a4407543 31-Mar-2017 Steven Moreland <smoreland@google.com> Remove binderization toggle.

Bug: 34274385
Test: works on internal marlin
Change-Id: I14ac88d2757d5c0e18b0d8a47082225639908359
ndroid.bp
egacySupport.cpp
nclude/hidl/LegacySupport.h
0c84ab4192f9b0b03b9840b85fc430afa17f55f1 03-Apr-2017 Scott Randolph <randolphs@google.com> Implicit const char* cast removed, operator<< added to 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 for marlin, bullhead, bat
Change-Id: I6ba76522ef65aa211bc156144990ad8b7495b051
erviceManagement.cpp
2eaead53c725b649f81ffb2fe4a77f60ea088161 31-Mar-2017 Steven Moreland <smoreland@google.com> Remove binderization toggle.

Bug: 34274385
Test: works on internal marlin
Change-Id: I14ac88d2757d5c0e18b0d8a47082225639908359
ndroid.bp
egacySupport.cpp
nclude/hidl/LegacySupport.h
db93348cb674bb93a117c0f7a140e2b76cfca5c6 28-Mar-2017 Yifan Hong <elsk@google.com> Add getHashChain() to IBase.

Each interface has a getHashChain() method that
returns the hash of all .hal files from the rtti
of the interface up to IBase.

Test: pass (since no frozen hashes for interfaces yet)
Bug: 36602587
Change-Id: I068cc7a09fea1fdab050b3b7e5b3d4360bd56cdc
ase/1.0/IBase.hal
5cef47c9e1c67e26aef1125ed4d637b77d4c41d4 28-Mar-2017 Yifan Hong <elsk@google.com> Add getHashChain() to IBase.

Each interface has a getHashChain() method that
returns the hash of all .hal files from the rtti
of the interface up to IBase.

Test: pass (since no frozen hashes for interfaces yet)
Bug: 36602587
Change-Id: I068cc7a09fea1fdab050b3b7e5b3d4360bd56cdc
ase/1.0/IBase.hal
a62432bf9b64b8b3f5cc902218f33e1648027732 28-Mar-2017 Treehugger Robot <treehugger-gerrit@google.com> Merge "Log if waitForHwService has to wait too long."
f1e14f24c86666b785eb5895f2229ed9f30b9bc6 28-Mar-2017 Steven Moreland <smoreland@google.com> Log if waitForHwService has to wait too long.

Test: internal marlin boots
Test: hidl_test
Test: verified logs after `setprop ctl.stop light-hal-2-0`
Bug: 34862771
Change-Id: Ie584103c2295fbb680933cc53d2be1e9432fc721
erviceManagement.cpp
496051047ce92b23c1027fe77242f386fae940c4 28-Mar-2017 Steven Moreland <smoreland@google.com> Log if waitForHwService has to wait too long.

Test: internal marlin boots
Test: hidl_test
Test: verified logs after `setprop ctl.stop light-hal-2-0`
Bug: 34862771
Merged-In: Ie584103c2295fbb680933cc53d2be1e9432fc721
Change-Id: Ie584103c2295fbb680933cc53d2be1e9432fc721
erviceManagement.cpp
a597fa9a8d10afa11d7aaa4178dbcda2c67edd5b 27-Mar-2017 Steven Moreland <smoreland@google.com> Merge "Update makefiles."
c1cee2ca2b50b13281dedc3e3a9079a3b9b59ff6 24-Mar-2017 Steven Moreland <smoreland@google.com> Revert "Revert "Wait for hwservicemanager in defaultServiceManager.""

This reverts commit ec64c65eed4238de57461cd4e3cedbf42add182c.

Now with better logging when waiting for hwservicemanager.ready for
a long time.

Reason for revert: Needed change, reverted b/c broken device.

Bug: 36278706
Test: original DOA device boots
Test: angler, bullhead, fugu, marlin, ryu
Test: all these devices boot with wipe
Test: all these devices boot with w/o wipe
Test: lshal shows all included services

Change-Id: I27d4889e4c8457dcaefe48fceaed1aca2aff62d4
erviceManagement.cpp
ed8820a3e55205c6705da7f480be8a04bcd0c0ff 25-Mar-2017 Steven Moreland <smoreland@google.com> Update makefiles.

Test: pass
Change-Id: Ib83f2db49959b288e8c033643a90047dd87440fa
ase/1.0/Android.bp
ec64c65eed4238de57461cd4e3cedbf42add182c 24-Mar-2017 Steven Moreland <smoreland@google.com> Revert "Wait for hwservicemanager in defaultServiceManager."

This reverts commit 7aca85aea2f39613a8438f50e790babac4a1d84c.

Reason for revert: a DOA device

Bug: 36546734

Change-Id: I68d4880099f198a650b81136f1806599f7ae266f
erviceManagement.cpp
7aca85aea2f39613a8438f50e790babac4a1d84c 22-Mar-2017 Steven Moreland <smoreland@google.com> Wait for hwservicemanager in defaultServiceManager.

Test: internal marlin boots. Nfc/camera/photosphere/sensors/youtube
(audio+video)/gps/wifi/fingerprint all work.
Test: internal angler boots. Binderized class hal hals work.
Test: internal bullhead boots. Binderized class hal hals work.
Test: internal ryu boots. Binderized class hal hals work.
Test: no relevant denials on any of the devices
Test: boottime (perfboot.py) avg 15.8s to 14.2s on marlin
Test: adb shell stop+start works on all 4 devices
Test: all devices boot and work after setting pin which protects boot.
Bug: 36278706
Change-Id: Ib2c7440de43d218dac3e45253ae801aa3c3317bd
erviceManagement.cpp
89403778b06298ca133ac9a2771354a434a7e280 23-Mar-2017 Treehugger Robot <treehugger-gerrit@google.com> Merge "LegacySupport: include interface name in errors"
f1b7028bb0f43603aaa9d7c1d9aedf7c1e86b0a0 22-Mar-2017 Steven Moreland <smoreland@google.com> LegacySupport: include interface name in errors

Test: pass
Change-Id: Iacbc2b662ffc0c38c32f04140e39091e3734f811
nclude/hidl/LegacySupport.h
0aeaa7847ee32aea9773aab4c39361b3802821fc 22-Mar-2017 Steven Moreland <smoreland@google.com> Fix inconsistent logging in registerReference.

Test: pass
Bug: 36505128
Change-Id: I365a2071a18789b0bce31a3f4e0dde3128dcc3e8
erviceManagement.cpp
e3de4d0b658e6bbcc429e568f8c269cd6c160e35 21-Mar-2017 Steven Moreland <smoreland@google.com> IServiceManager.hal: add pid to debugDump

Test: internal boots, hidl_test, lshal works
Bug: 36414311
Change-Id: I60a43ee52abf7f65043ad9c684ad6595cec3614d
anager/1.0/IServiceManager.hal
155e9d39deba44af1fb0eec20616902e39d97f58 09-Mar-2017 Pawin Vongmasa <pawin@google.com> Move hybrid interface from libbinder to here.

Also, override linkToDeath and unlinkToDeath in the wrapper class to
call linkToDeath and unlinkToDeath on the underlying HIDL interface.

Shared library: android.hidl.token@1.0-utils
Header file: hidl/HybridInterface.h

Test: With CtsMediaTestCases.apk installed,
adb shell am instrument -e size small -w
'android.media.cts/android.support.test.runner.AndroidJUnitRunner'

Bug: 33854657
Change-Id: Id66800560a67ff9f75ffd9388370541ce873e508
ndroid.bp
oken/1.0/utils/Android.bp
oken/1.0/utils/HybridInterface.cpp
oken/1.0/utils/include/hidl/HybridInterface.h
d51a3e18d63e722973e8784265a7e6f3ac77350a 19-Mar-2017 Steven Moreland <smoreland@google.com> Passthrough service functions: warn unused result

Prevent these from cropping up again:
b/34634573
b/34641942
b/34640335
b/34643521
b/36424561

Note, also made defaultServicePassthroughImplementation return status_t
instead of int.

Test: pass
Change-Id: I930a5f7f82390a6869e0ab99c8536bf73dad7d0c
nclude/hidl/LegacySupport.h
953e6b0f57b5003390b3e70904bfa47f535492e4 16-Mar-2017 Yifan Hong <elsk@google.com> Hide global variables

* Move gBn/sConstructorMap into details
* Move gDefaultServiceManager[Lock] into details and delete them from Static.h

Test: pass
Test: boots
Bug: 36075507
Change-Id: Ief7938812efe4a9fdf1d7c09850512f19023185d
idlPassthroughSupport.cpp
erviceManagement.cpp
tatic.cpp
nclude/hidl/HidlBinderSupport.h
nclude/hidl/Static.h
8fb656b8ad63536bb8a16548fc33c6a2f3e0435b 16-Mar-2017 Yifan Hong <elsk@google.com> defaultServiceManager locks before check.

A 64-bit write may not be atomic (may not be contain in one instruction),
hence the read without the lock may be unsafe in very rare cases.

Test: pass
Test: boots
Change-Id: I8abc011c1ca039671a184afab84cf1174f38e2a8
erviceManagement.cpp
7e6234e707b0ef4f7e765683f664c8f5a5daf5c7 16-Mar-2017 Steven Moreland <smoreland@google.com> Merge "IMemory: add read/readRange APIs."
989d44b606d14792c87304de31edcc036a2da721 14-Mar-2017 Yifan Hong <elsk@google.com> Merge "Move castInterface into details."
8d498ef0fb85d583b1a30d7fe1d2c2b153fa7407 14-Mar-2017 Yifan Hong <elsk@google.com> Move castInterface into details.

Test: pass
Test: hidl_test
Bug: 36075507
Change-Id: Icf4c744405cdc77ebbd4380fbef8b68ea07e3802
nclude/hidl/HidlTransportSupport.h
e22d2cce5953c719b12a2ba73d94abdefecc30ad 14-Mar-2017 Yifan Hong <elsk@google.com> Move wrapPassthrough into details.

Test: pass
Bug: 36075507
Change-Id: I1c144356534d071224d7038f7466ff138610b227
idlPassthroughSupport.cpp
nclude/hidl/HidlPassthroughSupport.h
761934ad072e99876e02e84a2640d3127aad9620 11-Mar-2017 Steven Moreland <smoreland@google.com> IMemory: add read/readRange APIs.

These are required for efficient remoting of HIDL hals. If someone on
the remote side is only reading, we no longer need to copy the entire
chunk of memory over.

Test: hidl_test
Bug: 35328065
Change-Id: I55bf3e5ef4ba2054105e4e8ce9aa2e490a8cf167
emory/1.0/IMemory.hal
emory/1.0/default/AshmemMemory.cpp
emory/1.0/default/AshmemMemory.h
72db40f4a612d04187ae2fc1f9a3766933264bdf 10-Mar-2017 Steven Moreland <smoreland@google.com> Status.h: remove service specific error codes.

These are leftover from binder and are never used in HIDL/hwbinder.

Test: libhidl_test + hidl_test + internal marlin boots/works.
Bug: 36099713
Change-Id: I12b20e1ae54d9df802a961bc9bc99f616291b0fd
idlBinderSupport.cpp
499f210f05765ee3a842332b8acd6e0978a27b30 10-Mar-2017 Treehugger Robot <treehugger-gerrit@google.com> Merge "Allow MQDescriptors with null native_handles to be passed over hwbinder"
1658ce92e32f37da4007cfa12cd0333c2f382ea4 10-Mar-2017 Treehugger Robot <treehugger-gerrit@google.com> Merge "Change size_t member of hidl_memory type to uint64_t"
f6fa2a90c428b48729505fe7602ab47c45d2fbd4 09-Mar-2017 Hridya Valsaraju <hridya@google.com> Allow MQDescriptors with null native_handles to be passed over hwbinder

This would be useful for cases where the MQDescriptor is sent
along with a HAL specific status.

Test: FMQ unit tests

Change-Id: I24931f7524972c698b59bf11eaacf0f980c0d6ff
nclude/hidl/HidlBinderSupport.h
81f41a1ad2e7dea1782057cb0470e0ec78f77bc7 10-Mar-2017 Treehugger Robot <treehugger-gerrit@google.com> Merge "Move configureRpcThreadpool into sources."
2530c01a817ac2e1b468cbfb97ab8402d1b685ea 09-Mar-2017 Martijn Coenen <maco@google.com> Merge "Remove interfaceChain from IServiceManager::add()"
6d4acb12519597610322097f86850d9e404d251a 03-Mar-2017 Hridya Valsaraju <hridya@google.com> Change size_t member of hidl_memory type to uint64_t

Also static_assert offsets to private members
in hidl_* types used in parcelling/unparcelling code.

Bug: 34986428 33846034
Test: hidl_test passes

Change-Id: Ib2ee81c45ee797f4933ed142160aeed250675819
idlBinderSupport.cpp
24332ef104a44b4bfb28c56ac2aa44584190e337 08-Mar-2017 Yifan Hong <elsk@google.com> Disable getDebugInfo address leak for production builds.

On production builds debugfs won't be available, so lshal cannot
infer binder relationships anyway. The address leak on production
builds also expose a security hole for address space attacks.
Added a build-time flag to disable the address leak on user builds.
The address will still be exposed for eng and userdebug builds so
that lshal can work properly.

Bug: 34899586
Test: lshal still works
Change-Id: Id1c381fbccad7584c2932deb9212d6996eeefd75
idlBinderSupport.cpp
11a732a9acc36245ccfe99f99a755b3e5db125a3 08-Mar-2017 Steven Moreland <smoreland@google.com> Move configureRpcThreadpool into sources.

Bug: 35710429
Test: hidl_test
Change-Id: Ice4de080155a5b05878fec3045b495b447fff6ac
ndroid.bp
idlTransportSupport.cpp
nclude/hidl/HidlTransportSupport.h
67a024919015598efa7e24f0ab3d0d9154f12523 06-Mar-2017 Martijn Coenen <maco@google.com> Remove interfaceChain from IServiceManager::add()

Bug: 32742469
Test: hidl_test, binderized marlin boots
Change-Id: I966d314652789fa67f4d33a0ebc21871ae83fff8
erviceManagement.cpp
anager/1.0/IServiceManager.hal
705e5da46d6f6fa5a2177afe460304668bd9102c 03-Mar-2017 Yifan Hong <elsk@google.com> Update for providing architecture info

to IBase::getDebugInfo() and IServiceManager::debugDump().

Moved PassthroughServiceManager::list to debugDump() because
it need to provide 32-bit libraries as well, which doesn't
meet the contract of list().

Bug: 35803184
Test: lshal -itrpc
Change-Id: I18374188ae6a33ba498ece5cddd92b48526f5f44
erviceManagement.cpp
ase/1.0/types.hal
anager/1.0/IServiceManager.hal
3d931cd3ff79dc8f293a126e511bba0a54e40e5d 02-Mar-2017 Keun-young Park <keunyoung@google.com> Merge "use ro.persistent_properties.ready for persistent props access"
25d42d544431bfbd2a44b8a96c2a5f1c06c20c08 02-Mar-2017 Treehugger Robot <treehugger-gerrit@google.com> Merge "Clear dlerror before executing anything."
f4a5840ac2e12bddf47360fff736c1b0248db608 02-Mar-2017 Pawin Vongmasa <pawin@google.com> ITokenManager: Use strong pointers instead of weak pointers.

Test: Compiles.
Bug: 35442034
Change-Id: I34f88e6337e153b60687b2bc4dc03ff5e7ee9e87
oken/1.0/ITokenManager.hal
a256dc3dd8609bb7b913e8cc4b1f57fa9f0e901f 01-Mar-2017 Keun-young Park <keunyoung@google.com> use ro.persistent_properties.ready for persistent props access

- for security reason, only notify ready state instead of
passing time info to hidl client

bug: 35178781
bug: 34274385
Test: reboot
Change-Id: Ice07bf2909d6de0d44d864c80176c685f70fbf88
egacySupport.cpp
37b3620ce11288ad970bc7052b8bb76b17419474 01-Mar-2017 Yifan Hong <elsk@google.com> getTransport checks interface and instance names.

If <interface> is missing from the manifest, it returns
<transport> only if instanceName == "default", and EMPTY
otherwise.

Bug: 35219444
Test: hidl_test
Test: camera, soundtrigger works on marlin
Test: video playback works on marlin
Change-Id: Iaae6ae9bbf5f8c97fae63f2ac41595d822f781ca
egacySupport.cpp
a29905cc9dcb5a1c4368b25940aafd5081d95d54 01-Mar-2017 Steven Moreland <smoreland@google.com> Clear dlerror before executing anything.

This makes sure that an old error isn't shown when dlopening if it fails
and dlerror isn't set for some reason.

Test: hidl_test
Change-Id: I8468a2c588280488fe9569c58f89c921db119717
erviceManagement.cpp
ad37e2b37b725960cf0d11dcc6295577f0e55cde 28-Feb-2017 Keun-young Park <keunyoung@google.com> Merge "replace sleep wait into property wait"
09456c2d1655aa8979362244231d697ae15ed0ea 28-Feb-2017 Steven Moreland <smoreland@google.com> ITokenManager: don't delete token on get.

Test: pass
Change-Id: Idfa7170d9ba2709585bc94b34ce5eb075248a5d1
oken/1.0/ITokenManager.hal
8575745a91d33a21421f34471b3c631510583ded 17-Feb-2017 Keun-young Park <keunyoung@google.com> replace sleep wait into property wait

- Wait for the creation of ro.boottime.persistent_properties
for the availability of persist props.
- Then read persist.hal.binderization.

bug: 35178781
Test: reboot
Change-Id: Ica53672d1b8bbfcdef8b818ff5b8ad672c9aafaa
egacySupport.cpp
348802db245e7b4d30283dd69f2bbd32e0ca8a3d 23-Feb-2017 Steven Moreland <smoreland@google.com> Try multiple passthrough for instance names.

- Also, dlclose unused dlopened libraries
- Also, cleaned up code/added consts/etc...

Test: internal master marlin w/ toggle on and off
Bug: 35693008
Change-Id: Ifaa22d4da526c77baf450993765e77b505a2c070
erviceManagement.cpp
f6f1b40df805f845035ba992e8d44f24ade87b9f 23-Feb-2017 Steven Moreland <smoreland@google.com> Fix registration reference of passthrough services

Test: on internal marlin with lshal
Change-Id: I1ce337ed5c7fe711ad499d687567919f6fd89788
erviceManagement.cpp
2ac326f3a86f4c6c1c087ea4a565df5b918e4d2b 23-Feb-2017 Yifan Hong <elsk@google.com> Use interfaceDescriptor instead of interfaceChain

wherever suits. Sementically, interfaceDescriptor
returns the first element of interfaceChain; use
interfaceDescriptor when the rest of the elements
aren't used.

Bug: 34136228

Test: hidl_test
Change-Id: Id7650788a00a37a6d0fcb574547371965ddf4a04
idlPassthroughSupport.cpp
nclude/hidl/HidlBinderSupport.h
nclude/hidl/HidlTransportSupport.h
nclude/hidl/HidlTransportUtils.h
1aebd1c2ef6a9f20b5aa9097ec032a56443bb7f5 22-Feb-2017 Treehugger Robot <treehugger-gerrit@google.com> Merge "Move definition of configureRpcThreadpool."
6cf8fa2d989bf57aed9a62fd9f54261176a9f860 21-Feb-2017 Steven Moreland <smoreland@google.com> Move definition of configureRpcThreadpool.

Functions in headers should only depend on functions that you are
exporting. Otherwise, modules must link against dependencies of this
module.

Test: binderized marlin boots and works

Merged-In: If252dc517d37af8d3621f06d04c89361c4ae8df6
Change-Id: If252dc517d37af8d3621f06d04c89361c4ae8df6
idlBinderSupport.cpp
nclude/hidl/HidlBinderSupport.h
637195c1b50ec8a2f625b116da803c2e6e101ada 22-Feb-2017 Steven Moreland <smoreland@google.com> Static.h: include what you use.

Removed transitive dependencies on libutils types.

Bug: 35363681
Test: pass
Change-Id: Id32a089d96930e717b420a8d48831be426b45009
nclude/hidl/Static.h
8dd657432832bc5117e644c85e8e2b1ec244d2a0 18-Feb-2017 Steven Moreland <smoreland@google.com> Build with -Wall and -Werror.

Test: pass
Change-Id: I0b14bfca491b67883bdff079b2e863db4691b635
ndroid.bp
llocator/1.0/default/Android.bp
emory/1.0/default/Android.bp
emory/1.0/default/AshmemMemory.cpp
346cf518ea29fd63e0ca0e366254d84e34f9286b 17-Feb-2017 Steven Moreland <smoreland@google.com> split android.hidl.memory

Split android.hidl.memory into android.hidl.memory and
android.hidl.allocator. This must be done because IAllocator is served
over hwbinder transport and IMapper/IMemory are always going to be
passthrough hals.

Test: hidl_test, device boots with allocator
Bug: 35327976

Merged-In: Ib135b5e101fadadbbf16126a98f90181f76a253b
Change-Id: Ib135b5e101fadadbbf16126a98f90181f76a253b
ndroid.bp
llocator/1.0/Android.bp
llocator/1.0/IAllocator.hal
llocator/1.0/default/Android.bp
llocator/1.0/default/AshmemAllocator.cpp
llocator/1.0/default/AshmemAllocator.h
llocator/1.0/default/android.hidl.allocator@1.0-service.rc
llocator/1.0/default/service.cpp
ase/1.0/Android.bp
anager/1.0/Android.bp
emory/1.0/Android.bp
emory/1.0/IAllocator.hal
emory/1.0/default/Android.bp
emory/1.0/default/AshmemAllocator.cpp
emory/1.0/default/AshmemAllocator.h
emory/1.0/default/HidlFetch.cpp
emory/1.0/default/HidlFetch.h
emory/1.0/default/android.hidl.memory@1.0-service.rc
emory/1.0/default/service.cpp
oken/1.0/Android.bp
a749556b39a7f92cdad61932904597c10b2f7116 16-Feb-2017 Treehugger Robot <treehugger-gerrit@google.com> Merge "ServiceManagement: remove logspam"
e681aa5d655fcf5e2970b7fdc91f3b307ba50331 16-Feb-2017 Steven Moreland <smoreland@google.com> ServiceManagement: remove logspam

Remove happy path logspam.

Bug: 35355852
Test: hidl_test
Change-Id: I241bdb4212242c2e9d84079091d5219c22dd6d15
erviceManagement.cpp
d4c1d77f396fd9e3af3fe34cb49e9b46663782de 14-Feb-2017 Treehugger Robot <treehugger-gerrit@google.com> Merge "Memory: add ability to update memory range."
a3e4486e1d9d68d0957e2aa328e9a77f25f567b8 14-Feb-2017 Treehugger Robot <treehugger-gerrit@google.com> Merge "Update comments in IServiceManager."
ce07b526090e84e41b9185e81f24518cafbfccc6 14-Feb-2017 Steven Moreland <smoreland@google.com> Memory: add ability to update memory range.

This will allow memory to be used in a way that is efficiently
remotable.

Test: hidl_test
Change-Id: I553a6293a6378fb1a1be8930ac4cb62662cbdcc5
Fixes: 35328065
emory/1.0/IMemory.hal
emory/1.0/default/AshmemMemory.cpp
emory/1.0/default/AshmemMemory.h
cf84fae17773f7a5b5351c9cef2b7464aa7890f0 14-Feb-2017 Steven Moreland <smoreland@google.com> IBase: add ping method

Bug: 34501346
Test: hidl_test
Change-Id: I75c013313867f636e8cee7951ff1e8a8d5ba9210
ase/1.0/IBase.hal
d5f51bcb7b855adbaaca7287fa485bcba9a45569 13-Feb-2017 Yifan Hong <elsk@google.com> Update comments in IServiceManager.

Test: not tested.
Change-Id: I2fc7964751c02f0447741380d4f3e35e82784f0d
anager/1.0/IServiceManager.hal
2f2c6ae253e9eeb4d52dc4d391dcbf5ac8242c54 13-Feb-2017 Yifan Hong <elsk@google.com> Merge "Allow passthrough service manager to register client PIDs."
32d2e64983587833099eaa415006adcb61a6d69c 10-Feb-2017 Andreas Huber <andih@google.com> Merge "Updated makefiles"
882425902ffb41970134736df4a5373bd8852258 09-Feb-2017 Treehugger Robot <treehugger-gerrit@google.com> Merge "Adds a debug(...) method to IBase, the base class for all Treble interfaces"
0dd8c3b50f1b197a9b40d30367c9f0705e702180 07-Feb-2017 Andreas Huber <andih@google.com> Adds a debug(...) method to IBase, the base class for all Treble interfaces

The default implementation does nothing but this allows implementations to
emit diagnostics to a given file handle in a unified fashion.

Bug: 33961528
Test: hidl_test, hidl_test_java
Change-Id: I6e2ca9a53e745f38bee75950edbb4fa6b5149e52
ase/1.0/IBase.hal
7c40088f1fb8fe423a51d9813f7930a6c6ce1712 09-Feb-2017 Andreas Huber <andih@google.com> Updated makefiles

Java intermediates are now created in the common rather than the device-
specific generated sources subdirectory.

Bug: 33842609
Test: make
Change-Id: I8efbd3fc28be86d9b511e2f6fbe1826256b070e0
ase/1.0/Android.bp
ase/1.0/Android.mk
anager/1.0/Android.bp
anager/1.0/Android.mk
emory/1.0/Android.bp
oken/1.0/Android.bp
oken/1.0/Android.mk
93b6ecb3e9cd34c4bea976063d125884af4c03d3 09-Feb-2017 Chia-I Wu <olv@google.com> Make waitForData work

Bug: 35173320
Works around bug: 35178781
Test: manual
Change-Id: I579bc8c2647384e31ff0f1d19fb6b40c247f8238
egacySupport.cpp
5ff3e56dd7636ed7d1c1da76fb42d143d3654bc7 08-Feb-2017 Steven Moreland <smoreland@google.com> Merge "defaultPassthroughServiceImplementation: default"
0586514f4a7cacd74af78fc214e64c39884eeae1 07-Feb-2017 Steven Moreland <smoreland@google.com> defaultPassthroughServiceImplementation: default

Specify default argument to dPSI which allows the following calls:
- dPSI("foo", 1 /* maxThreads */);
- dPSI("foo");
- dPSI(1 /* maxThreads */);
- dPSI();

Test: compiles
Change-Id: If1f7100527583dd7d01c17c107282b043d710ee3
nclude/hidl/LegacySupport.h
7f49f59f349b9d097c6ab533b4a20090d0bc5740 04-Feb-2017 Yifan Hong <elsk@google.com> Allow passthrough service manager to register client PIDs.

Also removed unused implementation
PassthroughServiceManager::debugDump()

Test: lshal
Bug: 34712252
Change-Id: I564f3e6560d548f36eb4333a086444660984a261
erviceManagement.cpp
anager/1.0/IServiceManager.hal
84888d3553c7595ee57dc73023ae94a27895de0d 07-Feb-2017 Yifan Hong <elsk@google.com> Make gBn/sConstructorMap concurrent.

Test: builds
Test: hidl_test

Bug: 35041785
Change-Id: I60099ddd56fee1faec7e54245d0fa3ccae6e777a
idlPassthroughSupport.cpp
tatic.cpp
nclude/hidl/ConcurrentMap.h
nclude/hidl/HidlBinderSupport.h
nclude/hidl/Static.h
777bef976bf218a2290b86d52c45dcff84a2f698 02-Feb-2017 Yifan Hong <elsk@google.com> IBase::getReferenceInfo -> getDebugInfo

Bug: 34777099
Bug: 34861460

Test: lshal
Test: NFC / light / audio with and without persistent.hal.binderized;
run lshal to reflect this.

Change-Id: I70aebefcaf5ed92a3c31a7bf2406d610c4533258
idlBinderSupport.cpp
erviceManagement.cpp
ase/1.0/Android.mk
ase/1.0/IBase.hal
ase/1.0/types.hal
nclude/hidl/HidlBinderSupport.h
anager/1.0/IServiceManager.hal
20273f9b308ec7df36dff6aa9f27d02a8d01cf79 30-Jan-2017 Yifan Hong <elsk@google.com> Change getTransportFromManifest to getTransport.

Test: NFC / light / audio works with and without
persistent.hal.binderization.

Bug: 34810039: VINTF: specify version in getTransport
Bug: 34772739: getTransport checks a static map for android.hidl.*
packages
Bug: 34772726: VINTF needs to be able to specify things at
interface-level granularity

Change-Id: I0c7b31f177f243c85c0c99dc46f32cbbb0586180
egacySupport.cpp
35121548a924ce414be39aaa855357933305b0cb 01-Feb-2017 Yifan Hong <elsk@google.com> Change InstanceDebugInfo.refCount to int64_t.

Use negative values for N/A values.

Test: compiles
Change-Id: I4ed9deb2f7fbf892f398bb51713b105679f28069
erviceManagement.cpp
anager/1.0/IServiceManager.hal
0f2ef0944419b0856fe8f49b06bd8497a7dca7d9 31-Jan-2017 Yifan Hong <elsk@google.com> Add getReferenceInfo to IBase.

Test: hidl_test

Change-Id: Ib4e3764f9ad37106c91ede18d8c8e6f718b887c4
ase/1.0/Android.bp
ase/1.0/Android.mk
ase/1.0/IBase.hal
ase/1.0/types.hal
51fbeaacc40c0619a1b7ca9749b7e74f0f1fb5a6 31-Jan-2017 Steven Moreland <smoreland@google.com> Toggleable services check vintf specifies toggled.

Test: toggled hals work as expected on marlin
Bug: 34791816

Merged-In: Id97e94ce89156d0a9a3075d33ae38028af4cb175

Change-Id: Id97e94ce89156d0a9a3075d33ae38028af4cb175
egacySupport.cpp
59647ff8a9ff8716cd0d8f3f45024360a5c412a5 26-Jan-2017 Treehugger Robot <treehugger-gerrit@google.com> Merge "Wait for data without sysprop listeners."
cf80b637e3ae7a450b3376fc489ac22f1a8f813b 26-Jan-2017 Steven Moreland <smoreland@google.com> Wait for data without sysprop listeners.

add_sysprop_change_callback requires piping report_sysprop_change over
binder (and hwbinder). This was (and still is) a temporary solution
until the persist.hal.binderizatoin flag can be passed through kernel
argument.

Currently working with partners to replace these flags with kernel
arguments.

Test: lights/nfc work on with ag/1835881.
Test: perfboot: (three runs) 19902ms avg with the above CL, 19479ms with
Change-Id: I240cf100dc070be43ca49dd9856fb7603231ffd2
egacySupport.cpp
d8c6d98ebb34cd5515f35230286dff48c80b89ca 26-Jan-2017 Yifan Hong <elsk@google.com> Merge "Add debugDump() to IServiceManager."
3903f46a480de9ec5b1c1152f07dc46d7e56064e 13-Jan-2017 Steven Moreland <smoreland@google.com> Wrapper service: only register if enabled.

- wrapper services should only register themselves if
persist.hal.binderization is true (which is set in system
settings).
- If binderization is disabled, we just block the service (otherwise it
will just be restarted by init).

Bug: 34256441
Test: nfc and lights work with ag/1833821 with persist.hal.binderization
set to on and off. There are no additional selinux denials. No other
services are affected by this (ENABLE_TREBLE also now requires setting
a hal to hwbinder in the manifest to force/guarantee it to be binderized).

Change-Id: Ibc314338db5ac9857479609d293ea73672d90849
ndroid.bp
egacySupport.cpp
nclude/hidl/LegacySupport.h
9a22d1db4dca94f205e25105a3d822dd179d3b53 25-Jan-2017 Yifan Hong <elsk@google.com> Add debugDump() to IServiceManager.

PassthroughServiceManager simply list all dynamic
libraries.

Test: lshal
Change-Id: Icf8b5e26a7f325e735543d1cf480ee7346046e93
erviceManagement.cpp
anager/1.0/IServiceManager.hal
3b41bfec5dc21546f08221905819e5b6b840444d 26-Jan-2017 Treehugger Robot <treehugger-gerrit@google.com> Merge "Add waitForHwService."
04b91c0fa5d2ccfe92816791064c30a25cbef0be 19-Jan-2017 Martijn Coenen <maco@google.com> Fix hidl_handle/hidl_memory ownership semantics.

hidl_handles that are constructed from a native_handle_t
object never own a handle, unless explicitly requested by
a call to setTo().

Copying a hidl_handle does clone the enclosed native_handle_t
and consequently takes ownership of it.

As a consequence, hidl_memory no longer needs to keep
track of handle ownership; the default constructors
don't take ownership of the passed in native_handle_t,
requiring callers to clean the handles up when it is
done with them. This makes sense because in most cases,
hidl_memory is a very transient object just used for
IPC.

Test: hidl_test, libhidl_test
Bug: 33812533
Change-Id: Idf26434c6a1dc541d4b909ac1523dbf92f214e1a
emory/1.0/default/AshmemAllocator.cpp
cbefd35d5c607fa245855ce897ae08369e667222 24-Jan-2017 Steven Moreland <smoreland@google.com> Add waitForHwService.

This is a helper method which will wait for a service that is supposed
to be binderized. This is an implementation detail of getService and is
only called when the VINTF indicates a service is supposed to be
binderized.

Note this is essentially a no-op because the only services which are
marked as hwbinder are Java services (which have a different getService
code path). I did test this code path, however, with nfc as specified in
the first test line.

Bug: 31458381
Test: marked nfc as hwbinder in the VINTF, and its start was
successfully delayed.
Test: ENABLE_TREBLE=false, manual tests of fingerprint/wifi/nfc/lights.
No associated log messages.
Test: ENABLE_TREBLE=true, same tests and results as above.

Change-Id: I373761df624ebf60661726bb81d979a8c7289b1d
erviceManagement.cpp
nclude/hidl/ServiceManagement.h
592e02c386fc1a84eaff702c211d0565e8d41823 24-Jan-2017 Treehugger Robot <treehugger-gerrit@google.com> Merge "Check registerPassthroughServiceImplementation ret"
fd9311cbb74fa30896f23f122a4de6fb49d1e4f0 24-Jan-2017 Steven Moreland <smoreland@google.com> Check registerPassthroughServiceImplementation ret

Bug: 34643521
Test: service exits if registerPassthroughServiceImplementation fails.

Change-Id: I27776b24d284f0ec601671589b99e07a737d8509
nclude/hidl/LegacySupport.h
6cae1a909a02e69b63c7a661b26f58e89ee64e33 23-Jan-2017 Treehugger Robot <treehugger-gerrit@google.com> Merge "Passthrough services: allow -impl*.so"
0091c09e423b0bc2ccdc6075d74f60a4ce83450d 21-Jan-2017 Steven Moreland <smoreland@google.com> Passthrough services: allow -impl*.so

Also, changed implementation (from 21ce16551e3540e9d07c8f0dee1867c107ff4991)
from find -> dirent. Original implementation had to be reverted since
find required shell_exec.

Bug: 34366227
Test: hidl_test, tested renaming vendor lib
Test: full boot test on marlin (because of b/34513399)
Change-Id: Idafd9a64713190bf45f2a038dd572e7aa4c78b15
erviceManagement.cpp
21ce16551e3540e9d07c8f0dee1867c107ff4991 21-Jan-2017 Steven Moreland <smoreland@google.com> Revert "Passthrough services: lookup multiple names."

This reverts commit 91e3f645694514794b39a054a39a2a0087583182.

Bug: 34513399

Change-Id: I32a521118162beda0454389088a9eac559a2a18d
erviceManagement.cpp
d473c2b8c58b006336bda14a1765a8f7f31b7dae 20-Jan-2017 Steven Moreland <smoreland@google.com> IServiceManager.hal: list must be sorted

Test: None
Change-Id: Ibf3af445c34353516254c555322f90e51b7fa5ea
anager/1.0/IServiceManager.hal
91e3f645694514794b39a054a39a2a0087583182 19-Jan-2017 Steven Moreland <smoreland@google.com> Passthrough services: lookup multiple names.

Lookup passthrough services which start with the required name. This
will allow vendors to define passthrough modules (for instance
android.hardware.xyz@1.0-impl-$(vendor).so) to avoid build system
collisions and have a custom passthrough implementation.

Bug: 34366227
Test: hidl_test, full make, nfc works, manual test that a renamed
passthrough implementation is properly loaded.

Change-Id: I699ff8de53d1389860d31a9df706bc2ae6b58293
erviceManagement.cpp
000f245d8b0a000a73cd623e77521f0fd3efcee4 20-Jan-2017 Treehugger Robot <treehugger-gerrit@google.com> Merge "Update HIDL makefiles."
337e6b61c4fc3a7ba76862662117c17496a1f8a2 19-Jan-2017 Steven Moreland <smoreland@google.com> Add passthrough service manager.

Right now we have logic related to getting passthrough services
generated inside of getService. We should abstract this logic out
into an instance of IServiceManager.

This will:
- abstract passthrough transport implementation from hidl-gen
- decrease code complexity in hidl-gen

Bug: 34394392
Test: hidl_test
Change-Id: Ia6160047c63c6788728d4e17a7cdf67bf6cd06e7
ndroid.bp
erviceManagement.cpp
nclude/hidl/ServiceManagement.h
caec4df3c05c28172e2d0f213233d302fc30d265 18-Jan-2017 Steven Moreland <smoreland@google.com> Update HIDL makefiles.

This was causing a failure because package paths were defined multiple
times because of an error in hidl-gen code when these makefiles were
originally generated (Fixed in
I9ef32b3867646690363fc9f85fe691ae74796d45).

Test: hidl_test
Bug: 34325813
Change-Id: Ie6500e53ba66dab0773830462f1c59932d801bef
ase/1.0/Android.bp
ase/1.0/Android.mk
anager/1.0/Android.bp
anager/1.0/Android.mk
emory/1.0/Android.bp
oken/1.0/Android.bp
oken/1.0/Android.mk
1f6b31425030bf4d9527b833ac865e53b64172b5 17-Jan-2017 Yifan Hong <elsk@google.com> Reorder methods for IBase to conform to call enums.

In system/tools/hidl/Interface.cpp, interfaceDescriptor
is right after interfaceChain.

Test: mma
Change-Id: I2954d55cb0fd02ea7d5acaf15301ae3318da3075
ase/1.0/IBase.hal
710eaf0463f4e02c8ff15381cba06e6f53df2d9b 13-Jan-2017 Martijn Coenen <maco@google.com> Merge "Allow hidl_vec to contain a null buffer."
1abf30ff0861335e11bd217bc6c6d454752e8c4d 13-Jan-2017 Treehugger Robot <treehugger-gerrit@google.com> Merge "Add interfaceDescriptor() to IBase."
a1f408cd67509a727a8aad9270504e3dc0fad587 13-Jan-2017 Treehugger Robot <treehugger-gerrit@google.com> Merge "Add name "default" as default to register service"
6091d185242256107d6cffafaa7e9bf7880b79b4 13-Jan-2017 Martijn Coenen <maco@google.com> Allow hidl_vec to contain a null buffer.

Which is valid when its size is zero.

Bug: 34234675
Test: hidl_test
Change-Id: I9322c215a4cd5a10adc82713e23d5e6ad9b0420d
nclude/hidl/HidlBinderSupport.h
d403ab31f267d3bf9c7d0c61694b8a2c461b7333 12-Jan-2017 Chris Phoenix <cphoenix@google.com> Add name "default" as default to register service

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: make hidl_test; adb sync; adb shell;
data/native_test64/hidl_test64
Modify Nfc HAL to use default name
Run VTS test from go/vtsrun on Sensors, Vr, Nfc
Verify NFC HAL works (turn NFC on and off in Settings)

In support of b/33844934

Change-Id: Ib658a6a692780c16c751e57e05c653d031f30789
nclude/hidl/LegacySupport.h
df0376cf57d64fea8dd9d67e2d40c0a98b7617fb 11-Jan-2017 Yifan Hong <elsk@google.com> Add interfaceDescriptor() to IBase.

Test: hidl_test
Test: hidl_test_java
Bug: 34136228
Change-Id: I3e302a69d55270a9717b87a6b370165b0436f7be
ase/1.0/IBase.hal
1f535a27054e7553e968cac664981073f0074009 07-Jan-2017 Steven Moreland <smoreland@google.com> Use new read(Embedded)Buffer/readNativeHandle APIs.

hidl_memory may have a null native_handle.
MQDescriptor may not.

Bug: 34134129
Test: hidl_test
Change-Id: I824760d59984a7c3e00309010760e33e4c289ef0
idlBinderSupport.cpp
nclude/hidl/HidlBinderSupport.h
d5007e3d2479b168290526d3c45445ae381ed69d 12-Jan-2017 Treehugger Robot <treehugger-gerrit@google.com> Merge "Token Manager: update documentation."
d7e938dd7e78825062d40f7ba38896c95511fd26 12-Jan-2017 Treehugger Robot <treehugger-gerrit@google.com> Merge "Bp/n/sFoo -> Bp/n/sHwFoo"
7100c1da8dfb629b2ab56b5c7a4dcd27ed6e0c9b 12-Jan-2017 Steven Moreland <smoreland@google.com> Token Manager: update documentation.

Token manager unregisters a token when you get the stored interface.

Test: pass
Change-Id: Id3560d90a6009b48c3333fb8a6831a334173d022
oken/1.0/ITokenManager.hal
dae2db6015b9bfdc027dc3c014810f22e9f86092 11-Jan-2017 Zhuoyao Zhang <zhuoyao@google.com> Merge "Support dynamically enable profiling."
5a643b9fbd9f08bd04a38804d647c847c1c93b8f 04-Jan-2017 Zhuoyao Zhang <zhuoyao@google.com> Support dynamically enable profiling.

* Create method configureInstrumentation to enable/disable instrumentation based
on the corresponding system property. This method will be called every
time setHALInstrumention is invoked for any hal.
* Add setHALInstrumention to IBase.hal

Bug: 33923655
Test: make libhidlbase.
Change-Id: I130fb903f65783568a97308e291965960abab41d
ase/1.0/IBase.hal
4e92599704db4a3e29d4ad4a539586b019c99dfb 10-Jan-2017 Yifan Hong <elsk@google.com> Bp/n/sFoo -> Bp/n/sHwFoo

Bug: 33554989
Test: hidl_test
Change-Id: If46d3333f4dcc0a97010f13684bde219f07b3142
erviceManagement.cpp
ase/1.0/Android.bp
nclude/hidl/HidlBinderSupport.h
anager/1.0/Android.bp
emory/1.0/Android.bp
oken/1.0/Android.bp
f4811a578317901c9749ebedde66789fea9fb69d 07-Jan-2017 Steven Moreland <smoreland@google.com> memory service: Remove memory@1.0-impl from req'd.

Requiring a package requires the package, but only the parts of it that
could be used by a specific package. So, the 32 bit version was not
being built, and explicitly requiring "android.hidl.memory@1.0-impl-32"
would not make it be built either. Instead android.hidl.memory@1.0-impl
has to be added to PRODUCT_PACKAGES on the device. This is done in
embedded.mk.

Additionally, specified compile_multilib: "both" to be explicit that
both should be built (although it appears as if this is the default).

Fix: 34134179
Test: clean build has both 32 and 64 bit versions of the -impl on the
device.

Change-Id: Ie88ef08eefd05f78962db44c0d46cfa3a4d8d9bd
emory/1.0/default/Android.bp
d272cb9e881c0aa23e4964f101131ab68affd85d 02-Jan-2017 Martijn Coenen <maco@google.com> Callback elision for HIDL interfaces.

Test: mma, hidl_test
Bug: 31380743
Change-Id: If5f0dc0279e717dafaf416776be89cc854c6f856
emory/1.0/default/AshmemMapper.cpp
emory/1.0/default/AshmemMapper.h
7e6404dd880b1f25c932f264c0ba2e00e79c536e 27-Dec-2016 Hridya Valsaraju <hridya@google.com> Add templatization to MQDescriptor

Test: FMQ unit tests
Bug: 33948735

Merged-In: I50a97e4c1278fc9bdcb1bf4d524d33fd9761dec2
Change-Id: I50a97e4c1278fc9bdcb1bf4d524d33fd9761dec2
nclude/hidl/HidlBinderSupport.h
e76c7a27eeb3763a2185c1502fd4572df1513b9a 22-Nov-2016 Martijn Coenen <maco@google.com> Transport threadpool configuration.

Servers can specify the number of threads they'd like to
have for handling incoming RPC calls, as well as whether
they'd like to join the threadpool themselves, by calling:

configureRpcThreadpool(numThreads, true /* callerWillJoin */);

This method *must* be called before interacting with any
HIDL services, including the servicemanager through
IFoo::getService / IFoo.registerAsService().

If the server indicated it wanted to join, it should do so
as soon as it can with:

joinRpcThreadpool();

This allows a server full flexibility:
- Without any of these calls, a threadpool of size 1 will be
started, and the main thread won't be a part of it.
- If the server wants a single-threaded RPC pool with its own
main thread for handling incoming RPC transactions, it can call
configureRpcThreadpool(1, true) followed by joinRpcThreadpool().
- If the server wants a multi-threaded RPC pool, it can call
configureRpcThreadpool(5, join) followed by joinRpcThreadpool()
if join was set to true.

Bug: 31226656
Test: mma, hidl_test
Change-Id: I9a3c68ebbe34ea9f14cdae48ca9908d05012c3f2
nclude/hidl/HidlBinderSupport.h
nclude/hidl/HidlTransportSupport.h
nclude/hidl/LegacySupport.h
emory/1.0/default/service.cpp
4be08f0b1dedda6659332141c76f5928f74c9f7e 29-Dec-2016 Steven Moreland <smoreland@google.com> Merge "Update IMemory.hal comments."
a1dabe228a3ad77df827bfa14b918149f8d521db 22-Dec-2016 Steven Moreland <smoreland@google.com> Update IMemory.hal comments.

There was some confusion about the guarantees that getPointer made which
are now resolved.

Test: pass
Change-Id: I9c1783031c24018a262d4cf523e196f38d09fb89
emory/1.0/IMemory.hal
9f77329af70be049edf26ce294be2c39876dd085 15-Dec-2016 Steven Moreland <smoreland@google.com> memory: IAllocator is always binderized.

Benefits:
- single process allocates all of the shared memory (allows us to get
statitistics).
- prevents us from having to open up the allocator in passthrough mode
forever.
- prevents us from having to include/require android.hidl.memory@1.0-impl
elsewhere

Bug: 32185232
Test: hidl_test
Change-Id: I37be6a4afb14a79df457e166aa4b99de416b8f40
emory/1.0/default/Android.bp
emory/1.0/default/HidlFetch.cpp
emory/1.0/default/HidlFetch.h
emory/1.0/default/service.cpp
2ef31d85e0e91c28f05d6288505f57d5d7c43eed 21-Dec-2016 Steven Moreland <smoreland@google.com> Add android.hidl.token@1.0.

This facilitates converting hidl interfaces into something that
are more easily transferrable to other processes.

Bug: 33058559
Test: compiles
Change-Id: I77d1ecc74981f101e07a827ba8d7de77bf56cfa6
ndroid.bp
oken/1.0/Android.bp
oken/1.0/Android.mk
oken/1.0/ITokenManager.hal
9b8f9c38ea8ac1fe1fdf11ea219097885a5f2fa7 09-Dec-2016 Martijn Coenen <maco@google.com> Add (un)linkToDeath to IBase.

With corresponding callback interfaces. hidl_death_recipient
is a transport-independent interface, used directly by clients
and servers. hidl_binder_death_recipient wraps a hidl_death_recipient
object and implements the Binder-specific death recipient. It
holds a weak reference to the callback interface, as well as the
interface it was called on (so we can include that in the callback).

Bug: 31632518
Test: mma, hidl_test
Change-Id: I0430efff24c2bfd3993438c6ed3fe007d9f9e3ef
ase/1.0/IBase.hal
nclude/hidl/HidlBinderSupport.h
6bf733ec867a5d46ea05ae5c280a27b051f5018c 07-Dec-2016 Yifan Hong <elsk@google.com> create gBsConstructorMap; add wrapPassthrough

Similar to gBnConstructorMap, this map helps wrapping a local
interface with the smallest BsFoo possible. They are added
in Static.h/cpp.

Added HidlPassthroughSupport.h/cpp to hold wrapPassthrough.

Also fixes a few Return object isOk() checks.

Fix: 33307350

Test: hidl_test

Change-Id: I92a7283699bfe5b022df5ab5a9ead5690477ea97
ndroid.bp
idlPassthroughSupport.cpp
tatic.cpp
nclude/hidl/HidlBinderSupport.h
nclude/hidl/HidlPassthroughSupport.h
nclude/hidl/HidlTransportUtils.h
nclude/hidl/Static.h
b81c82748fcd6a34ad017c7826bd82091040c9cc 13-Dec-2016 Yifan Hong <elsk@google.com> Move macros from libhidl[transport] to auto-generated code.

Bug: 32756130

Test: hidl_test
Change-Id: Ic7af37daebc3e465a855e5b62055356e3e00c9d3
nclude/hidl/HidlBinderSupport.h
ea006c5ee3a2f275b4d8f5f967838f16fb64b79f 16-Dec-2016 Steven Moreland <smoreland@google.com> registerAsService fails gracefully.

Detect if defaultServiceManager is non existant and return appropriate
error.

Test: compiles
Change-Id: I044fa5f74ab278b9996ad0d03505712b84a82526
nclude/hidl/HidlBinderSupport.h
12f04d913dae2fb287089f6db24f144731c79d9c 07-Dec-2016 Martijn Coenen <maco@google.com> Introduce fromBinder() helper.

To safely cast binder objects back to HIDL interfaces.

Modified toBinder(), to take into account IHw
classes no longer exist.

Removed an obsolete conversion of IFoo to BnFoo
in the servicemanager add macro - BnFoo is transport
specific and does not belong there.

Test: mma, hidl_test, hidl_test_java
Bug: 33173166
Change-Id: Iae84c900584a008c9cc8e03d1914e95d0fae77ce
erviceManagement.cpp
nclude/hidl/HidlBinderSupport.h
nclude/hidl/HidlTransportSupport.h
nclude/hidl/HidlTransportUtils.h
071afa998a877a0e2676f9e92b88fe6a37c90d45 13-Dec-2016 Yifan Hong <elsk@google.com> Update makefiles for java package path.

Bug: 33554192

Test: hidl_test_java
Change-Id: Ic14e6dde7e9cd2853da76ce60857e6b87908dd07
ase/1.0/Android.mk
anager/1.0/Android.mk
b2c9c75b74c87e651dd08a100015eab17319556e 08-Dec-2016 Yifan Hong <elsk@google.com> Cleanup Hidl*Support.* files.

* Move gBnConstructorMap to Static.cpp/h
* update obsolete comments

Test: compiles

Change-Id: If9720b8fc3b09e9b91b8fdc04bcde269208471ed
idlBinderSupport.cpp
tatic.cpp
nclude/hidl/HidlBinderSupport.h
nclude/hidl/HidlTransportSupport.h
nclude/hidl/Static.h
1cfaee704c2d20d6d8d7dedf77bd73f61ee905f7 01-Dec-2016 Steven Moreland <smoreland@google.com> Remove explicit cast from Return<*>.

- also moving failure check to implicit cast operator.

(after talking to malchev@)

Bug: 31348667
Test: pass
Change-Id: I5a136a3596c2fa7c502ce9d53ab754b796d66fed
nclude/hidl/HidlBinderSupport.h
2cd440cf0c589e89d0d4509d273142a35b5ef81c 23-Nov-2016 Yifan Hong <elsk@google.com> Hidlize IBase and use IBase instead of IBinder.

Note: system/libhidl/base is the libhidlbase project.
system/libhidl/transport/base is the
android.hidl.base@1.0 HAL files.

Test: hidl_test

Change-Id: Ic3464b5e50c0896de9b26f44a409496f8df37c39
ndroid.bp
ase/1.0/Android.bp
ase/1.0/Android.mk
ase/1.0/IBase.hal
nclude/hidl/HidlBinderSupport.h
anager/1.0/Android.bp
anager/1.0/Android.mk
emory/1.0/Android.bp
emory/1.0/default/Android.bp
3079100878a2595be644d866e67c12a9de620fd5 01-Dec-2016 Martijn Coenen <maco@google.com> Hidlized version of IMemory.

- Add hidl_memory type.
- Add android.hidl.memory@1.0 package
- IMapper
- IAllocator
- IMemory
- Add libhidlmemory
- Add default implementation of android.hidl.memory@1.0
- Ashmem
- Ion (TODO, probably in another CL)

Test: compiles (WIP)
Change-Id: I4632eeb6a0051551b54ce04d919aaf551dfc5f28
ndroid.bp
idlBinderSupport.cpp
nclude/hidl/HidlBinderSupport.h
anager/1.0/update-makefiles.sh
emory/1.0/Android.bp
emory/1.0/IAllocator.hal
emory/1.0/IMapper.hal
emory/1.0/IMemory.hal
emory/1.0/default/Android.bp
emory/1.0/default/AshmemAllocator.cpp
emory/1.0/default/AshmemAllocator.h
emory/1.0/default/AshmemMapper.cpp
emory/1.0/default/AshmemMapper.h
emory/1.0/default/AshmemMemory.cpp
emory/1.0/default/AshmemMemory.h
emory/1.0/default/HidlFetch.cpp
emory/1.0/default/HidlFetch.h
emory/1.0/default/android.hidl.memory@1.0-service.rc
emory/1.0/default/service.cpp
337c3ae7f5ce6e94d6ccaaa7fb4ac92c4069b2dd 22-Nov-2016 Steven Moreland <smoreland@google.com> Cleanup Return object.

- Expose isOk() instead of having to say getStatus().isOk()
- Add 'get' function which checks to make sure content is valid.
- Mark implicit cast operator as deprecated.

Bug: 32744406
Bug: 31348667
Test: hidl_test
Change-Id: I13bfe33b6c1f9b94a372161064a9e913825df959
nclude/hidl/HidlBinderSupport.h
4a2c01640a85eeadb828f857e82da75ece4cf98b 22-Nov-2016 Steven Moreland <smoreland@google.com> Update IServiceManager makefiles for liblog.

Bug: 32943424
Test: compiles
Change-Id: I477b4e5d66c44897d12196e2d668a5450de32a19
anager/1.0/Android.bp
00f4a391c6f9a698bbcbbd05bf3d80e213c82884 16-Nov-2016 Yifan Hong <elsk@google.com> Split libhidl into base and transport.

libhidlbase contains "pure" classes that has nothing
to do with tranport level stuff. libhwbinder can now
safely depend on libhidlbase.

IBinder inheriting from IBase will be in a follow up
CL.

Bug: 32756130

Test: mma under hardware/interfaces
Test: hidl_test
Change-Id: Ie2bd80769df3816aab83789ba0d7fca9b5a2e52f
ndroid.bp
idlBinderSupport.cpp
erviceManagement.cpp
tatic.cpp
nclude/hidl/HidlBinderSupport.h
nclude/hidl/HidlTransportSupport.h
nclude/hidl/LegacySupport.h
nclude/hidl/ServiceManagement.h
nclude/hidl/Static.h
anager/1.0/Android.bp
anager/1.0/Android.mk
anager/1.0/IServiceManager.hal
anager/1.0/IServiceNotification.hal
anager/1.0/update-makefiles.sh