diff options
| author | 2018-11-14 12:55:27 -0800 | |
|---|---|---|
| committer | 2018-11-14 17:57:58 -0800 | |
| commit | 8356bb86f14136437d9063f8e633b27ac27f3a18 (patch) | |
| tree | 81ccd1b5300fd20f545c7b49d99e010f0c0e2d77 /libs/gui/LayerDebugInfo.cpp | |
| parent | c51b2c9deb1189ec4ca583efbc9bc404aa10b325 (diff) | |
libbinder_ndk: remove NullableStrongBinder
Nullable types do not exist in Java. For most Java types, the type is
split into a nullable and non-nullable variant. This is because C++
types are more usually non-nullable, but everything in Java is
non-nullable. This does mean that some Java interfaces may have to have
'@Nullable' added to them in order to function as expected w/ the NDK.
It also means that some transactions will be allowed in Java which are
not allowed in C++. However, in Java, if a null is ignored, it will
just result in a NullPointerException and be delivered to the other
side. C++ does not have this same capacity (in Android), and so
instead, we distinguish nullability in the type system.
The basic layout is:
NDK layer - all objects are nullable if they are nullable in Java
NDK C++ wrapper - functions are provided for nullable and non-nullable
variants
AIDL - @Nullable selects nullable wrapper if desired, but the default
is to return an error to the remote process (like Java would throw
NullPointerException).
Bug: 111445392
Test: android.binder.cts
Change-Id: I615420f735a45ef7869b9ee7e86ce21b844d84a2
Diffstat (limited to 'libs/gui/LayerDebugInfo.cpp')
0 files changed, 0 insertions, 0 deletions