| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
| |\ \ \
| | |/ /
| |/| /
| | |/
| | | |
* commit 'b730a45216991cf22c39451c47393b4bccae111b':
Add support for writing byte arrays to parcels
|
| | |
| | |
| | |
| | |
| | |
| | | |
b/13418320
Change-Id: I2285df9e9d3dc8a6a54055b13b352b81660bf45d
|
|\ \ \
| |/ /
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Ib0e5a037,I1bd7c38e,Icfc67c2a,I96c64312,I59528054, ...
* commit 'c93865de80a16d3638936890fb42eb175284044b':
ServiceManager: Implement PING_TRANSACTION
ServiceManager: Use 32/64 bit types from new binder header
Binder: Use 64 bit pointers in 32 processes if selected by the target
Add BINDER_IPC_32BIT to CFLAGS unless TARGET_USES_64_BIT_BINDER is true
Binder: Make binder portable
ServiceManager: Fix the binder interface
ServiceManager: Store handles in uint32_t instead of void *
ServiceManager: Generic Fixes
ServiceManager: Add extra error handling
ServiceManager: Fix Android.mk
ServiceManager: Make use of kernel exported structures
|
| | |
| | |
| | |
| | |
| | |
| | | |
Uses new kernel header where void * has been replaced by binder_uintptr_t
Change-Id: Icfc67c2a279269f700343bd9246fd7cb94efe2c1
|
| |/
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Changes include
- Binder attempts to cast pointers to a int datatype
which is not sufficient on a 64-bit platform.
- This patch introduces new read/write functions into
Parcel that allow pointers to be written using the
uintptr_t datatype for compile-time data type size
selection.
- Change access specifier for the methods above.
- Binder uses the 64bit android_atomic_release_cas64
(aka cmpxchg)
Change-Id: I595280541e0ba1d19c94b2ca2127bf9d96efabf1
Signed-off-by: Matthew Leach <matthew.leach@arm.com>
Signed-off-by: Serban Constantinescu <serban.constantinescu@arm.com>
|
| |
| |
| |
| |
| |
| |
| |
| | |
Cherrypicked from master.
b/9464621
Change-Id: I54c0ed50a57ac870da91db8589a73a2c792dbd8d
|
| |
| |
| |
| | |
Change-Id: I54c0ed50a57ac870da91db8589a73a2c792dbd8d
|
| |
| |
| |
| | |
Change-Id: Ia507160a2534059afe93849c8efc8407a046b50e
|
| |
| |
| |
| |
| |
| | |
Binder code
Change-Id: I7f308e28ebac0755628e19c9b4d0d7399341b435
|
|/
|
|
| |
Change-Id: I8b040e4b2e968fd0754e15dcf9f899fbfe210b6e
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Fallout from the Flattenable change, update all its uses.
Additionnaly, fix/tighten size checks when (un)flatten()ing
things.
Removed the assumption by some flattenables (e.g.: Fence)
that the size passed to them would be exact (it can
and will be larger in some cases)
The code in Parcel is a bit complicated so that we don't
have to expose the full implementation (and also to
keep the code smallish).
Change-Id: I0bf1c8aca2a3128491b4f45510bc46667e566dde
|
|
|
|
|
|
|
|
| |
libbinder is only built for the target, where bionic will provide
uio, so it does not need to include the libcutils wrapper around
uio for windows.
Change-Id: Ifc2dd353bf7ed51bf08ec0ae91c43b12830f94ba
|
|
|
|
| |
Change-Id: Ibbce3bf6556f45751c74bab045b46377e56bff9b
|
|
|
|
| |
Change-Id: I1853b21eaa45d85274189dfd72f73fec48d0d6b7
|
|
|
|
|
|
|
| |
This is currently safe to do only for processes that disallow any binder
threads to be created: setThreadPoolMaxThreadCount(0).
Change-Id: I8a27f3cf26f4d51edb7f222af487ac256cbcab65
|
|
|
|
| |
Change-Id: Iecab20db2b8574d5f1e6fdefdc2c8d4ce6c37121
|
|
|
|
|
|
|
| |
we only export the main entry-point.
this saves about 150KB.
Change-Id: I55eb2b6705386fdfa43860deb62f9cdd2a0982aa
|
|
|
|
| |
Change-Id: I6ff4cfc736751de2912c697f954e45e275f2d386
|
|
|
|
|
|
|
|
|
| |
Cherry pick from AOSP to fix the build.
See https://android-review.googlesource.com/#/c/53690/
This reverts commit 7f974ff2f317ffbf9256579109f000ec876c3037
Change-Id: I1b123f446d0ff41e11ff81d4ef5f1472b59cac93
|
|\
| |
| |
| |
| |
| |
| | |
MemoryBase constructor."
* commit '9b57ad737bceba9f8d4f5be303c70fa72be00eaf':
Add a compatibility symbol for the MemoryBase constructor.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Third-party libraries are currently trying to use the
MemoryBase constructor but failing because we fixed the
definition of ssize_t. This is a stop-gap for users of
this private API until we can get them fixed.
Bug: 8253769
Change-Id: I8a19770f3252d88ee87023fde625cc6289924b0d
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
When a binder service's main thread joins the thread pool
it retains its name (whatever the exec name was), which is
very confusing in systrace.
we now rename that thread just like its friends in the
thread pool.
Change-Id: Ibb3b6ff07304b247cfc6fb1694e72350c579513e
|
| |
| |
| |
| |
| | |
Bug: 8181262
Change-Id: I3d3f20453f6c6f2756c988363c5b5453ef309cb6
|
|/
|
|
|
|
|
|
|
|
| |
This is to help implementation of bug #8181262 and maybe
bug #8181261
Note the current code has not yet been tested; it is only
known to compile at this point.
Change-Id: I489674c96d0d3fc0ddacc92611931a19a9ee5230
|
|
|
|
|
|
|
|
|
|
| |
MemoryHeapBase::getBase() returns MAP_FAILED in case or
OOM, not null which is what SF was checking against.
This addresses one of the issues of bug 7230543.
Bug: 7230543
Change-Id: I763a88f64a2f9ff75eb139cfbaf9a1a9746c5577
|
|
|
|
| |
Change-Id: Ib30a1c0228f8a938abaa0c7c8a6ba32ffd971121
|
|
|
|
| |
Change-Id: Ifc4a89dd088609a5a8553f6ac6553174e09e8222
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
this change introduces a new class LightFlattenable<> which is
a protocol to flatten simple objects that don't require
binders or file descriptors; the benefit of this protocol is that
it doesn't require the objects to have a virtual table and give us
a consitant way of doing this.
we also introduce an implementation of this protocol for
POD structures, LightFlattenablePod<>.
Parcel has been update to handle this protocol automatically.
Sensor, Rect, Point and Region now use this new protocol.
Change-Id: Icb3ce7fa1d785249eb666f39c2129f2fc143ea4a
|
|
|
|
| |
Change-Id: I1993bf23e417163749d886283563a93d50b361b4
|
|
|
|
|
|
|
|
|
|
|
|
| |
Every IBinder object can accept a new transaction to tell it that
it might want to reload system properties, and in the process
anyone can register a callback to be executed when this happens.
Use this to reload the trace property.
This is very much ONLY for debugging.
Change-Id: I55c67c46f8f3fa9073bef0dfaab4577ed1d47eb4
|
|
|
|
| |
Change-Id: Ic4659fb81f9990cc7caf84a496a8ae659a1d16a9
|
|
|
|
| |
Change-Id: I70f02908d8362a465eb8a2a24356f6989847f7ba
|
|
|
|
|
|
|
|
|
|
|
| |
MemoryHeapPmem is not used any longer. PMEM is not a supported
type of memory by the system anymore. a particular device might
use PMEM and need something like MemoryHeapPmem, in this case this
should be implemented in device specific code (HAL).
This will most likely break older no longer supported targets.
Change-Id: I434e4291219950018de8b793b0403bb2d92dd5cc
|
|
|
|
| |
Change-Id: I3b304e4f74e0d0ec8b20c57296c62449c9a0f792
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Services now must explicitly opt in to being accessed by isolated
processes. Currently only the activity manager and surface flinger
allow this. Activity manager is needed so that we can actually
bring up the process; SurfaceFlinger is needed to be able to get the
display information for creating the Configuration. The SurfaceFlinger
should be safe because the app doesn't have access to the window
manager so can't actually get a surface to do anything with.
The activity manager now protects most of its entry points against
isolated processes.
Change-Id: I0dad8cb2c873575c4c7659c3c2a7eda8e98f46b0
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Switching activity stacks
Cache ContentProvider per user
Long-press power to switch users (on phone)
Added ServiceMap for separating services by user
Launch PendingIntents on the correct user's uid
Fix task switching from Recents list
AppWidgetService is mostly working.
Commands added to pm and am to allow creating and switching profiles.
Change-Id: I15810e8cfbe50a04bd3323a7ef5a8ff4230870ed
|
|\
| |
| |
| |
| | |
* commit '88061d6b38cfb4bf374039846b753a3b21ac61e1':
Fix a leak in Parcel::writeBlob.
|
| |\
| | |
| | |
| | |
| | | |
* commit '5462bc6318b4b70e7a58c66994e2bd79f59d9739':
Fix a leak in Parcel::writeBlob.
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Was mistakenly assuming that Parcel::writeFileDescriptor took
ownership of the fd that was passed in. It does not!
Added some comments and a default parameter to allow the caller
to specify whether it wishes the Parcel to take ownership.
Bug: 5563374
Change-Id: I5a12f51d582bf246ce90133cce7690bb9bca93f6
|
|/ /
| |
| |
| |
| |
| |
| | |
See https://android-git.corp.google.com/g/#/c/141576
Bug: 5449033
Change-Id: I42575e7c29cf1c0f465c357a5c97ab118df6f473
|
|/
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
There is no difference and has never really been a difference
between local-only and remotable CursorWindows. By removing the
distinction officially in the API, we will make it easier to
implement CrossProcessCursor correctly. CrossProcessCursor
is problematic currently because it's not clear whether a call
to getWindow() will return a local-only window or a remotable window.
As a result, the bulk cursor adaptor has special case handling
for AbstractWindowedCursors vs. ordinary CrossProcessCursors
so that it can set a remotable window before the cursor fills it.
All these problems go away if we just forget about local-only
windows being special in any way.
Change-Id: Ie59f517968e33d0ecb239c3c4f60206495e8f376
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Bug: 5332296
The memory dealer introduces additional delays for reclaiming
the memory owned by CursorWindows because the Binder object must
be finalized. Using ashmem instead gives CursorWindow more
direct control over the lifetime of the shared memory region.
The provider now allocates the CursorWindows and returns them
to clients with a read-only protection bit set on the ashmem
region.
Improved the encapsulation of CursorWindow. Callers shouldn't
need to care about details like how string fields are allocated.
Removed the compile-time configuration of string and numeric
storage modes to remove some dead weight.
Change-Id: I07c2bc2a9c573d7e435dcaecd269d25ea9807acd
|
|
|
|
|
|
|
|
|
| |
Bug: 5332296
The code is functionally equivalent, but a little more efficient
and much easier to maintain.
Change-Id: I90670a13799df05831843a5137ab234929281b7c
|
|
|
|
|
|
| |
Didn't take into account nesting of bundles. Boo.
Change-Id: Ic8cf21ad8d6f4938a3e105128624c9d162310d01
|
|
|
|
|
|
| |
Bug: 5224703
Change-Id: If385a66adf4c6179a0bb49c0e6d09a9567e23808
|
|
|
|
|
|
| |
This is to help implement issue #5224703.
Change-Id: I026a5890495537d15b57fe61227a640aac806d46
|
|
|
|
|
| |
This reverts commit 56c58f66b97d22fe7e7de1f7d9548bcbe1973029
This CL was causing the browser to crash when adding bookmarks, visiting the bookmarks page, and sharing pages (see bug http://b/issue?id=5369231
|
|
|
|
|
|
| |
Bug: 5224703
Change-Id: Ic7481dd9f173986f085a8bbdcc59bbe9830d7a44
|
|
|
|
|
|
| |
Bug: 5010576
Change-Id: Id450dc83efed4897d1e4ff451530fed14457aace
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This is intended to absorb the cost of the IPC
to the permission controller.
Cached permission checks cost about 3us, while
full blown ones are two orders of magnitude slower.
CAVEAT: PermissionCache can only handle system
permissions safely for now, because the cache is
not purged upon global permission changes.
Change-Id: I8b8a5e71e191e3c01e8f792f253c379190eee62e
|