summaryrefslogtreecommitdiff
path: root/libs/gui/LayerDebugInfo.cpp
diff options
context:
space:
mode:
author Steven Moreland <smoreland@google.com> 2018-11-14 12:55:27 -0800
committer Steven Moreland <smoreland@google.com> 2018-11-14 17:57:58 -0800
commit8356bb86f14136437d9063f8e633b27ac27f3a18 (patch)
tree81ccd1b5300fd20f545c7b49d99e010f0c0e2d77 /libs/gui/LayerDebugInfo.cpp
parentc51b2c9deb1189ec4ca583efbc9bc404aa10b325 (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