• Home
  • History
  • Annotate
  • only in /frameworks/native/include/binder/
History log of /frameworks/native/include/binder/
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
7c170bb1b1abf5a055ad8137e8531b5bcd0eb5ce 05-May-2018 Martijn Coenen <maco@google.com> Create temp refs on proxies.

Fixes the following scenario:
1) Thread T1 receives a binder proxy and adds a local strong/weak ref
2) Thread T1 queues BC_ACQUIRE/BC_INCREFS (but does not flush)
3) Thread T1 hands the binder proxy off to another thread T2, which
adds another strong ref
4) Thread T1 now drops its own ref to the proxy, but it doesn't get
destructed because T2 has its own ref to it
6) Thread T2 runs and drops its own ref to the proxy, which causes a
BC_RELEASE/BC_DECREFS to be queued to the driver.

Now, if T1 writes its command queue to the driver first, everything
is fine, because a BC_ACQUIRE/BC_INCREFS will be followed by a
BC_RELEASE/BC_DECREFS. However if T2 writes its command queue first,
BC_RELEASE/BC_DECREFS will be sent first, and the driver will delete
the reference prematurely.

Fix this by temporarily holding a weak/strong ref until the initial
BC_ACUIRE/BC_INCREFS is flushed to the driver.

Bug: 78437964
Test: sailfish builds, boots, no invalid ref messages on dumpsys
Change-Id: Ica5efaf9fa2785423c37abb1456575d97f1cd85f
/frameworks/native/libs/binder/include/binder/IPCThreadState.h
47f876b74be0a2d6d417f5ff385f85d835a97fe9 17-Apr-2018 Jiyong Park <jiyong@google.com> Hide some headers from libbinder to vendors

The headers that are related to system services are now hidden to
vendors. Note that this does not break anything because vendors have
already been disallowed to talk to system services via sepolicy. Their
use of binder is strictly limited within themselves (via
/dev/vndbinder).

The hidden headers are now guarded with __ANDROID_VNDK__ and including
them from vendors (or vendor variants of other VNDK libraries) will
trigger a build-time error.

Bug: 78113963
Test: m -j
Test: devices boots to the UI
Change-Id: I19be5ca024fc4081b7861d908d75758c1d956a83
/frameworks/native/libs/binder/include/binder/ActivityManager.h
/frameworks/native/libs/binder/include/binder/AppOpsManager.h
/frameworks/native/libs/binder/include/binder/IActivityManager.h
/frameworks/native/libs/binder/include/binder/IAppOpsCallback.h
/frameworks/native/libs/binder/include/binder/IAppOpsService.h
/frameworks/native/libs/binder/include/binder/IBatteryStats.h
/frameworks/native/libs/binder/include/binder/IMediaResourceMonitor.h
/frameworks/native/libs/binder/include/binder/IPermissionController.h
/frameworks/native/libs/binder/include/binder/IProcessInfoService.h
/frameworks/native/libs/binder/include/binder/IServiceManager.h
/frameworks/native/libs/binder/include/binder/IUidObserver.h
/frameworks/native/libs/binder/include/binder/IpPrefix.h
/frameworks/native/libs/binder/include/binder/PermissionCache.h
/frameworks/native/libs/binder/include/binder/PermissionController.h
/frameworks/native/libs/binder/include/binder/ProcessInfoService.h
7afcb3f98e7342985ba5e62bf6d3a5ac1282e545 09-Apr-2018 Jeff Sharkey <jsharkey@android.com> Protect usage data with OP_GET_USAGE_STATS.

APIs that return package usage data (such as the new StatsManager)
must ensure that callers hold both the PACKAGE_USAGE_STATS permission
and the OP_GET_USAGE_STATS app-op.

Add noteOp() method that can be called from native code.

Also add missing security checks on shell commands.

Bug: 77662908
Test: builds, boots
Change-Id: I15efd6f5dde61e807269b5132a052548ea4e800f
/frameworks/native/libs/binder/include/binder/IPermissionController.h
/frameworks/native/libs/binder/include/binder/PermissionController.h
61f7750960eb14607b2ffa4a33c0246504a120e1 10-Apr-2018 Michael Wachenschwanz <mwachens@google.com> Disallow reading object data from Parcels with non-object reads am: c517681c66 am: e69532fd03
am: c720d6e2bf

Change-Id: I816f84ad3ba3b1089e2b7df4945f8e57d5ba5dde
c720d6e2bfa35e35b4114f9018359f9976a78def 10-Apr-2018 Michael Wachenschwanz <mwachens@google.com> Disallow reading object data from Parcels with non-object reads am: c517681c66
am: e69532fd03

Change-Id: If46b533d0d34ef21f979c50049f3dd8a4339fd67
e69532fd03e5c83e637b65aba23d8c23ca438a63 10-Apr-2018 Michael Wachenschwanz <mwachens@google.com> Disallow reading object data from Parcels with non-object reads
am: c517681c66

Change-Id: Ice4fc19864ae5d8d832a0d2f85406f338e346f5e
c517681c66a1a387be657e0cf06da8d19659dd14 18-Nov-2017 Michael Wachenschwanz <mwachens@google.com> Disallow reading object data from Parcels with non-object reads

The check added to each non-object reads adds an overhead. If the
objects (binders and file descriptors) were written to the Parcel in
sequential order then check adds a small O(1) overhead to each read,
plus an O(N) overhead to the first read (to verify the N objects were
added in order).
If the objects were written out of order (as in by jumping around the Parcel
with setDataPosition and writing Binder, DON'T DO THIS!!) (writing non
objects out of order is fine), the first read is forced to sort the objects
in the internal bookkeeping. Based on the assumption non sequential writes
are infrequent and overall Parcels are probably mostly sorted, insertion
sort was used. Worst case sorts will add an O(N^2) overhead to the first
non object read from the Parcel.

Test: run cts -m CtsOsTestCases -t android.os.cts.ParcelTest

Bug: 29833520
Change-Id: I82de8eb5f5eb56f869542d5358e96884c24301b2
/frameworks/native/libs/binder/include/binder/Parcel.h
fa851800cf97d1a3d30a7a147877005dc48721ff 28-Mar-2018 Svet Ganov <svetoslavganov@google.com> Add API to query if a UID is active

Test: cts-tradefed run cts-dev -m CtsCameraTestCases

Bug: 72863398

Change-Id: I8e5021f2ef4cd77fc89ae3b47cc32ad6913da0d6
/frameworks/native/libs/binder/include/binder/ActivityManager.h
/frameworks/native/libs/binder/include/binder/IActivityManager.h
ae8b20d8174633510cded34beb0fda51bdc1f974 20-Mar-2018 Eino-Ville Talvala <etalvala@google.com> ActivityManager: Add link/unlinkToDeath

Native services aren't killed when the system service dies, so they
may need to be able to tell when ActivityManager has died.

Test: adb shell stop; adb shell start; verify camera service still
allows camera use. No regression to camera CTS.
Bug: 74230547

Change-Id: Iaa078b2f9a1d9c7be305b7667e3055a8ce52aa21
/frameworks/native/libs/binder/include/binder/ActivityManager.h
616554c051842f3700c65197f69b7653883e5794 26-Feb-2018 Svet Ganov <svetoslavganov@google.com> Use start/finish app ops in window manager - frameworks native

Add infrastructure to app ops to specify how to treat mode_default
(for now only for startOp) allowing the caller to decide of this
mode should be treated as success - this is useful if the caller
already performed the default permission checks which determined
that the caller would perform the operation if the mode is default.
This way there is a record in the app ops history that this op
was performed. This is now used by the window manager service
which starts/finishes ops when an alert window is shown/hidden.
The window manager allows adding the window if the mode is default
but the caller has the fallback permission. In this case the
alert window would be shown and we want that noted in the op
history.

Now the window manager properly starts/finishes alert window op
when an alert window is shown/hidden. This is required to allow
SystemUI to badge notifications from apps showing alert windows
or add a dedicated notification if the app has no notifications.

Test: cts-tradefed run cts-dev -m CtsWindowManagerDeviceTestCases

Added android.server.wm.AppOpAlertWindowAppOpsTest

cts-tradefed run cts-dev -m CtsPermissionTestCases
-t android.permission.cts.AppOpsTest

bug:64085448

Change-Id: I59658522bb521bb1e08009de046f52fef6f88687
/frameworks/native/libs/binder/include/binder/AppOpsManager.h
/frameworks/native/libs/binder/include/binder/IAppOpsService.h
64afc024d760e31f3f41e0c5cb8fc543c9392ef1 02-Feb-2018 Vishnu Nair <vishnun@google.com> Flip bugreport version to 2.0

- Adds support for proto dumps
- Adds support for priority service dumps
- Change order of arguments when dumping Normal priority services
- Adds a new DEFAULT priority for services which is treated the same as NORMAL priority but dumpsys does not send "--dump-priority" arguments to the service.
Bug: 67716082, 27429130
Test: Manually generate bugreport (default version) and check for any issues
Test: Load bugreport on ABT
Test: mmm -j56 frameworks/native/cmds/dumpstate && \
adb sync data && adb shell /data/nativetest/dumpstate_test/dumpstate_test && \
adb shell /data/nativetest64/dumpstate_test/dumpstate_test && \
adb shell /data/nativetest64/dumpstate_smoke_test/dumpstate_smoke_test && \
adb shell /data/nativetest/dumpsys_test/dumpsys_test && \
adb shell /data/nativetest64/dumpsys_test/dumpsys_test && \
printf "\n\n#### ALL TESTS PASSED ####\n"

Change-Id: Ie8761a2dd0425574b0d905752e1562196a1f7426
/frameworks/native/libs/binder/include/binder/BinderService.h
/frameworks/native/libs/binder/include/binder/IServiceManager.h
e752a5cc64b78f799525aa4e44e5f74e8c402465 16-Jan-2018 Svet Ganov <svetoslavganov@google.com> No sensor access to idle UIDs - native framework

Idle UIDs are ones that were in the background for long enough time.
Currently such apps can access sensor data even though they have no
user perceptible components running. This affects the user's privacy
since an app in the background can use sensor data to infer location,
activity, habits, etc.

The goal is to restrict sensor access for all apps in the ecosystem
regardless of target SDK which means the solution should be backwards
compatible. At the high level the sesnor service observes UID state
changes and applies policy like this:

Continuous sensors: for sensros in this reporting mode when the UID
goes in the background we will stop dispatching events. Once the UID
goes active we will start reporting the events. While this is an
app visible behavior change we would rather do that vs delivering
fake events.

Flush events: there is no change in behavior based on the UID state.
Hence, idle apps can request a flush and would get the completion
callback. From an app perspective flushing works at any point.

Trigger events: for sensors in this reporting mode when the UID
goes in the background we will not report any trigger events. From
an app perspective the sensor just did not pick up any events.

On-change events: for sensors in this reporting mode when the UID
goes in the background we will not report any change events. From
an app perspective the sensor just did not pick up any events.

Wake locks: since UIDs in idle state cannot acquire wakelocks we
will not be grabbing a wakelock on behalf of apps in that state.

Test: Added - SensorTest#testSanitizedContinuousEventsUidIdle
Added - SensorTest#testBatchAndFlushUidIdle
Pass - cts-tradefed run cts-dev -m CtsSensorTestCases

bug:63938985

Change-Id: I156803610ad6d86afaae641ebbb0e84f16d2344b
/frameworks/native/libs/binder/include/binder/IPermissionController.h
/frameworks/native/libs/binder/include/binder/PermissionController.h
4d85b8c0a38c14f854af8ff85391b7a8d1170d5b 02-Nov-2017 Ganesh Mahendran <opensource.ganesh@gmail.com> Don't record audio if UID is idle - native framework

If a UID is in an idle state we don't allow recording to protect
user's privacy. If the UID is in an idle state we allow recording
but report empty data (all zeros in the byte array) and once
the process goes in an active state we report the real mic data.
This avoids the race between the app being notified aboout its
lifecycle and the audio system being notified about the state
of a UID.

Test: Added - AudioRecordTest#testRecordNoDataForIdleUids
Passing - cts-tradefed run cts-dev -m CtsMediaTestCases
-t android.media.cts.AudioRecordTest

bug:63938985

Change-Id: I10db89c09498b487ce483d1868123fca95589b34
/frameworks/native/libs/binder/include/binder/ActivityManager.h
/frameworks/native/libs/binder/include/binder/IActivityManager.h
/frameworks/native/libs/binder/include/binder/IUidObserver.h
532a55248b3805954f5c52c9b34e5db100bbfd41 02-Nov-2017 Martijn Coenen <maco@google.com> Merge "Revert "binder: send BC_REPLY and BC_FREE_BUFFER together"" am: 3aa1b80900 am: 4e1d000dc2
am: febb4264ff

Change-Id: I81d24331ff416f0f48c2265236e79a7b6e0ffdd7
ea0090a0392db2f3b7b047647d48b01885722cda 02-Nov-2017 Martijn Coenen <maco@google.com> Revert "binder: send BC_REPLY and BC_FREE_BUFFER together"

This reverts commit 0494d6ab6f4b85eb28eeb71737398ba0b862a822.

Change-Id: I115dd7cd3e11bb573e17b3859133e0cad1afef49
/frameworks/native/libs/binder/include/binder/IPCThreadState.h
c5d3668421b22282ceaad62bf47d7cbbdfb43f5a 02-Nov-2017 Ganesh Mahendran <opensource.ganesh@gmail.com> Merge changes I0ef88864,I7b892a22 am: ed1fa850cf am: 04f84605d5
am: 16c3afac6c

Change-Id: I3944aa1e903f8b15100ce106ee6ec7e1fa878614
0494d6ab6f4b85eb28eeb71737398ba0b862a822 02-Nov-2017 Ganesh Mahendran <opensource.ganesh@gmail.com> binder: send BC_REPLY and BC_FREE_BUFFER together

In current BR_TRANSACTION handling logic, BC_REPLY and BC_FREE_BUFFER
are sent to kernel seperately which may introduce latency for freeing
buffer.

I think it's better to free buffer asap, this change fixes this
by putting BC_REPLY and BC_FREE_BUFFER in the same buffer. And then
call waitForResponse() to send them to kernel together.

After this, function sendReply() will not be called by anyone. So
sendReply() is also removed.

Below is the test result of "binderThroughputTest -w 100"
Env: android 7.1.2, 2G ram
---------------------
---> base:
iterations per sec: 31917.7
collecting results
average:2.83375ms worst:572.205ms best:0.054219ms
50%: 2.14844 90%: 5.27344 95%: 6.83594 99%: 12.3047

iterations per sec: 32142.3
collecting results
average:2.8186ms worst:550.884ms best:0.054948ms
50%: 2.53906 90%: 5.27344 95%: 6.83594 99%: 11.1328

iterations per sec: 31704.5
collecting results
average:2.85129ms worst:600.984ms best:0.053854ms
50%: 2.53906 90%: 5.27344 95%: 6.83594 99%: 12.3047

iterations per sec: 31932.3
collecting results
average:2.82549ms worst:563.098ms best:0.052396ms
50%: 2.53906 90%: 5.66406 95%: 6.83594 99%: 11.1328

---> patched:
iterations per sec: 32062.5
collecting results
average:2.85475ms worst:599.177ms best:0.054895ms
50%: 2.14844 90%: 5.27344 95%: 6.44531 99%: 12.6953

iterations per sec: 32241.7
collecting results
average:2.82851ms worst:634.984ms best:0.05651ms
50%: 2.53906 90%: 5.66406 95%: 6.83594 99%: 10.7422

iterations per sec: 31939
collecting results
average:2.86589ms worst:628.861ms best:0.058645ms
50%: 2.53906 90%: 5.66406 95%: 6.83594 99%: 11.1328

iterations per sec: 32149.4
collecting results
average:2.80785ms worst:658.889ms best:0.055573ms
50%: 2.53906 90%: 5.66406 95%: 6.83594 99%: 10.7422

It seems patched is better.

Change-Id: I0ef88864f4dbc63f3cdd2eba345b5dce6140b2d3
Suggested-by: Martijn Coenen <maco@google.com>
Signed-off-by: Ganesh Mahendran <opensource.ganesh@gmail.com>
/frameworks/native/libs/binder/include/binder/IPCThreadState.h
4217f8ecfe8f884288104262000275c1633b983e 30-Oct-2017 Dianne Hackborn <hackbod@google.com> Update shell open command to have a mode.

We need to open files for reading sometimes, so now
we can.

Test: manual

Change-Id: If089c1e7a4aac1d85784e070d2fccb04b9d84391
/frameworks/native/libs/binder/include/binder/IShellCallback.h
e7f2e3a8db8b3dd0d34b4b894d6a5c475e777d10 27-Oct-2017 TreeHugger Robot <treehugger-gerrit@google.com> Merge "Add proto dump flag to services (1/2)"
d296d0cd620db158f50434a06a190334e386eab9 15-Aug-2017 Michael Wachenschwanz <mwachens@google.com> Native Side of Binder Proxy Tracking by Uid

Enable Processes to track the number of Binder Proxies objects held for
each UID. Triggers callback when a count crosses a threshold, to handle
bad behaving apps.

Change-Id: I1efcc37148bc42cb7690d7eef8fa389433829564
Fixes: 63901963
Test: bit FrameworksCoreTests:android.os.BinderProxyCountingTest
/frameworks/native/libs/binder/include/binder/BpBinder.h
6a40853e06f5274d84b0fc66e349a36510d1497f 24-Oct-2017 Vishnu Nair <vishnun@google.com> Add proto dump flag to services (1/2)

Adds new PROTO flag which requests services to dump sections
in proto format. Modifies dumpsys to take in proto argument
and pass on proto flags to services which support proto
dumps. Modify PriorityDumper helper class to parse proto
arguments and set asProto flags.

Bug: 67716082

Test: mmm -j56 frameworks/native/cmds/dumpsys && \
mmm -j56 frameworks/native/services/utils && \
adb sync data && \
adb shell /data/nativetest/dumpsys_test/dumpsys_test && \
adb shell /data/nativetest64/dumpsys_test/dumpsys_test && \
adb shell /data/nativetest/prioritydumper_test/prioritydumper_test && \
adb shell /data/nativetest64/prioritydumper_test/prioritydumper_test && \
printf "\n\n#### ALL TESTS PASSED ####\n"

Change-Id: I42c2a6a8876efbf9a7d792d68572499b16985147
/frameworks/native/libs/binder/include/binder/BinderService.h
/frameworks/native/libs/binder/include/binder/IServiceManager.h
f56042d6a496fca2e5cfc1f598251f77a9bc7986 20-Sep-2017 Vishnu Nair <vishnun@google.com> Pass dumpsys priority to IServiceManager

Modify IServiceManger to accept supported dumpsys priority as a bitmask
with NORMAL being the default priority. Change listServices to return
a list of services filtered by the priority or all services when the
priority is set to ALL.

BUG:27429130

Test: mmm -j32 frameworks/native/cmds/dumpsys && \
adb sync data && adb shell /data/nativetest/dumpsys_test/dumpsys_test && \
adb shell /data/nativetest64/dumpsys_test/dumpsys_test && \
printf "\n\n#### ALL TESTS PASSED ####\n"

Change-Id: Ibccba63035ace9970c2967a621ee2ad8d15cbeea
/frameworks/native/libs/binder/include/binder/BinderService.h
/frameworks/native/libs/binder/include/binder/IServiceManager.h
9d45ccc0578570f90d5b2b73ada42c5bfd1c993a 21-Jun-2017 Colin Cross <ccross@android.com> Add getBinderKernelReferences

Add a wrapper for the new BINDER_GET_NODE_DEBUG_INFO ioctl for use by
libmemunreachable.

Test: memunreachable_binder_test
Bug: 28275695
Change-Id: Ic112584fa05071bd336974b3a18869077a69389b
Merged-In: Ic112584fa05071bd336974b3a18869077a69389b
(cherry picked from commit b869cc94704d1a3d6226f471984eb33ff1bac7d5)
/frameworks/native/libs/binder/include/binder/Debug.h
/frameworks/native/libs/binder/include/binder/ProcessState.h
b869cc94704d1a3d6226f471984eb33ff1bac7d5 21-Jun-2017 Colin Cross <ccross@android.com> Add getBinderKernelReferences

Add a wrapper for the new BINDER_GET_NODE_DEBUG_INFO ioctl for use by
libmemunreachable.

Test: memunreachable_binder_test
Bug: 28275695
Change-Id: Ic112584fa05071bd336974b3a18869077a69389b
/frameworks/native/libs/binder/include/binder/Debug.h
/frameworks/native/libs/binder/include/binder/ProcessState.h
e383f04422fdd27de707fc4a1e2916f50321f26a 11-May-2017 Yi Kong <yikong@google.com> Merge "Add explicit default copy constructor" am: c9810011e9 am: 3bf99597b4
am: 992fa650be

Change-Id: I536ae9a50f5b263c1a60011fdbc1bba269096d1e
2b6317436d2035ce98331906aaaca87e6026c9c8 05-May-2017 Martijn Coenen <maco@google.com> Correctly set minimum priority on nodes.

It looks like libbinder has always set the minimum priority
for a node to 0x7f (127). This is an invalid value as far
as the kernel is concerned, since the current driver only
accepts positive nice values (0..19). The effect of using
0xf7 is that the nice value was clamped to MAX_NICE (19) -
so effectively the kernel never raised the priority
based on the min_priority setting of a node. Correct this
by just using MAX_NICE directly.

Additionally, a recent change removed the use of the
gDisableBackgroundScheduling flag, which system_server
used to make sure that incoming transactions were not
executed at a lower priority. That behavior is actually
still desired, so this change sets the min_priorirty
value to 0 for processes that have requested background
scheduling to be disabled. The effect of that is that
all transactions into those nodes will be executed with
a priority of at least nice 0 (and potentially higher,
depending on the priority of the caller).

Bug: 37677242
Test: verified /d/binder output
Change-Id: I7cbfd309d04cbd052f868fbfe0930529ff21a48a
/frameworks/native/libs/binder/include/binder/IPCThreadState.h
9451d0b8ceeb44319074163b598bcb616d212fdc 14-Apr-2017 TreeHugger Robot <treehugger-gerrit@google.com> Merge "Move include/binder to libs/binder/include" into oc-dev
5583be7f9c18a1da0a8ea050b35e87128a8bc872 25-Mar-2017 Vijay Venkatraman <vijaykv@google.com> Move include/binder to libs/binder/include

Also moved include/private/binder to libs/binder/include/private/binder.
This allows libbinder to be compiled without depending on global
headers.

Bug: 33241851
Test: Build, flash, and run sailfish.
Test: Try building with BOARD_VNDK_VERSION := current
Change-Id: I0a82b733353add589de26eb2db7af5a246e5c97f
/frameworks/native/libs/binder/include/binder/AppOpsManager.h
/frameworks/native/libs/binder/include/binder/Binder.h
/frameworks/native/libs/binder/include/binder/BinderService.h
/frameworks/native/libs/binder/include/binder/BpBinder.h
/frameworks/native/libs/binder/include/binder/BufferedTextOutput.h
/frameworks/native/libs/binder/include/binder/Debug.h
/frameworks/native/libs/binder/include/binder/IActivityManager.h
/frameworks/native/libs/binder/include/binder/IAppOpsCallback.h
/frameworks/native/libs/binder/include/binder/IAppOpsService.h
/frameworks/native/libs/binder/include/binder/IBatteryStats.h
/frameworks/native/libs/binder/include/binder/IBinder.h
/frameworks/native/libs/binder/include/binder/IInterface.h
/frameworks/native/libs/binder/include/binder/IMediaResourceMonitor.h
/frameworks/native/libs/binder/include/binder/IMemory.h
/frameworks/native/libs/binder/include/binder/IPCThreadState.h
/frameworks/native/libs/binder/include/binder/IPermissionController.h
/frameworks/native/libs/binder/include/binder/IProcessInfoService.h
/frameworks/native/libs/binder/include/binder/IResultReceiver.h
/frameworks/native/libs/binder/include/binder/IServiceManager.h
/frameworks/native/libs/binder/include/binder/IShellCallback.h
/frameworks/native/libs/binder/include/binder/IpPrefix.h
/frameworks/native/libs/binder/include/binder/Map.h
/frameworks/native/libs/binder/include/binder/MemoryBase.h
/frameworks/native/libs/binder/include/binder/MemoryDealer.h
/frameworks/native/libs/binder/include/binder/MemoryHeapBase.h
/frameworks/native/libs/binder/include/binder/Parcel.h
/frameworks/native/libs/binder/include/binder/Parcelable.h
/frameworks/native/libs/binder/include/binder/PermissionCache.h
/frameworks/native/libs/binder/include/binder/PersistableBundle.h
/frameworks/native/libs/binder/include/binder/ProcessInfoService.h
/frameworks/native/libs/binder/include/binder/ProcessState.h
/frameworks/native/libs/binder/include/binder/Status.h
/frameworks/native/libs/binder/include/binder/TextOutput.h
/frameworks/native/libs/binder/include/binder/Value.h
1af8a880ef2a2af061de0dd451d69595937245ea 10-Apr-2017 Dan Stoza <stoza@google.com> libbinder: Add vector<Parcelable> to SafeInterface

Adds support fo sending and receiving std::vector<Parcelable>
parameters (such as the vector of OccupancyTracker::Segments in
IGraphicBufferConsumer::getOccupancyHistory) as part of a SafeInterface.

Test: New test in binderSafeInterfaceTest
Change-Id: Ifb7d2cece79ee9fd52791f61d2488e6a490805f3
/frameworks/native/libs/binder/include/binder/SafeInterface.h
2537db72f62d53d7c7cab85ccbba2e8d0286a2da 08-Apr-2017 Dan Stoza <stoza@google.com> libbinder: Add sp<NativeHandle> to SafeInterface

Adds support for sending and receiving sp<NativeHandle> parameters as
part of a SafeInterface.

Test: New test in binderSafeInterfaceTest
Change-Id: Ia402b4bceedff358864669d201b4c1e22be6d0fa
/frameworks/native/libs/binder/include/binder/SafeInterface.h
81ea3efb75a6427c946221f95dcf9c388b27a977 08-Apr-2017 Dan Stoza <stoza@google.com> libbinder: Support enums in SafeInterface

Adds support for sending and receiving enum values (as their underlying
types) as part of a SafeInterface.

Test: New test in binderSafeInterfaceTest
Change-Id: I9c3b6b7e7728d8c95514928354136be84bfd7875
/frameworks/native/libs/binder/include/binder/SafeInterface.h
6dd325b9396c9946ced9d01665152a44167a8fa2 07-Apr-2017 Dan Stoza <stoza@google.com> libbinder: Support sp<Flattenable> in SafeInterface

Adds support for sending and receiving sp<Flattenable> parameters (such
as sp<Fence> and sp<GraphicBuffer>) as part of a SafeInterface.

Test: New test in binderSafeInterfaceTest
Change-Id: I36ba19c7f121771e9a7acfde9ed164e1cd3200b3
/frameworks/native/libs/binder/include/binder/SafeInterface.h
662a899ed9bb727c1267ec10d24d87a2f0be3355 07-Apr-2017 Dan Stoza <stoza@google.com> libbinder: Add int64_t/uint64_t to SafeInterface

Adds support for sending and receiving int64_t and uint64_t parameters
as part of a SafeInterface.

Test: New tests in binderSafeInterfaceTest
Change-Id: I3d27dd006591084b5c48f1bcb4d6dca40b679d23
/frameworks/native/libs/binder/include/binder/SafeInterface.h
df614ae850b0b277030f94fd32062d45e723f91b 29-Mar-2017 Dan Stoza <stoza@google.com> libbinder: Support Flattenable in SafeInterface

Adds support for sending and receiving Flattenable parameters as part
of a SafeInterface.

Test: New test in binderSafeInterfaceTest
Change-Id: I5c84d6f27ac1f8c7ad37210e836f390e02b92959
/frameworks/native/libs/binder/include/binder/SafeInterface.h
d630e520de9ff4bc50723a7e8f91b6d9be27db1c 02-Dec-2016 Dan Stoza <stoza@google.com> libbinder: Add SafeInterface

Adds SafeInterface, a mechanism which will automatically translate
IInterface method calls into remote procedure calls, avoiding the need
to manually write parceling and unparceling code for each method.

Test: binderSafeInterfaceTest
Change-Id: I0fc7a6eee5528371f40b90d056404cb024166b23
/frameworks/native/libs/binder/include/binder/SafeInterface.h