Skip to content

Commit 28c8e15

Browse files
Priyanka Advani (xWF)android-build-merge-worker-robot
authored andcommitted
Merge changes from topic "revert-3334193-no-llndk-versioning-YOLDNTJGYM" into main am: 7ef014b am: 5e66590
Original change: https://android-review.googlesource.com/c/platform/frameworks/native/+/3341364 Change-Id: I2e0dd884846ad45dd17a7859d9ecf421da58d18d Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2 parents 8760216 + 5e66590 commit 28c8e15

5 files changed

Lines changed: 86 additions & 57 deletions

File tree

libs/binder/ndk/Android.bp

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -82,6 +82,7 @@ cc_library {
8282

8383
llndk: {
8484
symbol_file: "libbinder_ndk.map.txt",
85+
export_llndk_headers: ["libvendorsupport_llndk_headers"],
8586
},
8687

8788
cflags: [
@@ -109,9 +110,11 @@ cc_library {
109110
],
110111

111112
header_libs: [
113+
"libvendorsupport_llndk_headers",
112114
"jni_headers",
113115
],
114116
export_header_lib_headers: [
117+
"libvendorsupport_llndk_headers",
115118
"jni_headers",
116119
],
117120

libs/binder/ndk/include_cpp/android/binder_interface_utils.h

Lines changed: 10 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -30,14 +30,16 @@
3030
#include <android/binder_auto_utils.h>
3131
#include <android/binder_ibinder.h>
3232

33+
#if defined(__ANDROID_VENDOR_API__)
34+
#include <android/llndk-versioning.h>
35+
#elif !defined(API_LEVEL_AT_LEAST)
3336
#if defined(__BIONIC__)
34-
#define API_LEVEL_AT_LEAST(sdk_api_level) __builtin_available(android sdk_api_level, *)
35-
#elif defined(TRUSTY_USERSPACE)
36-
// TODO(b/349936395): set to true for Trusty
37-
#define API_LEVEL_AT_LEAST(sdk_api_level) (false)
37+
#define API_LEVEL_AT_LEAST(sdk_api_level, vendor_api_level) \
38+
(__builtin_available(android sdk_api_level, *))
3839
#else
39-
#define API_LEVEL_AT_LEAST(sdk_api_level) (true)
40+
#define API_LEVEL_AT_LEAST(sdk_api_level, vendor_api_level) (true)
4041
#endif // __BIONIC__
42+
#endif // __ANDROID_VENDOR_API__
4143

4244
#if __has_include(<android/binder_shell.h>)
4345
#include <android/binder_shell.h>
@@ -296,8 +298,9 @@ AIBinder_Class* ICInterface::defineClass(const char* interfaceDescriptor,
296298
#endif
297299

298300
#if defined(__ANDROID_UNAVAILABLE_SYMBOLS_ARE_WEAK__) || __ANDROID_API__ >= 36
299-
if (API_LEVEL_AT_LEAST(36)) {
300-
if (codeToFunction != nullptr) {
301+
if API_LEVEL_AT_LEAST (36, 202504) {
302+
if (codeToFunction != nullptr &&
303+
(&AIBinder_Class_setTransactionCodeToFunctionNameMap != nullptr)) {
301304
AIBinder_Class_setTransactionCodeToFunctionNameMap(clazz, codeToFunction,
302305
functionCount);
303306
}

0 commit comments

Comments
 (0)