diff --git a/core/jni/Android.bp b/core/jni/Android.bp index f68fd5799cfcf..43df2e4449329 100644 --- a/core/jni/Android.bp +++ b/core/jni/Android.bp @@ -233,6 +233,7 @@ cc_library_shared { static_libs: [ "libasync_safe", + "libbinderthreadstateutils", "libdmabufinfo", "libgif", "libseccomp_policy", diff --git a/core/jni/android_util_Binder.cpp b/core/jni/android_util_Binder.cpp index 079c2652cb178..1da022c11420a 100644 --- a/core/jni/android_util_Binder.cpp +++ b/core/jni/android_util_Binder.cpp @@ -37,6 +37,7 @@ #include #include #include +#include #include #include #include @@ -946,7 +947,7 @@ static jint android_os_Binder_getCallingUid() static jboolean android_os_Binder_isHandlingTransaction() { - return IPCThreadState::self()->isServingCall(); + return getCurrentServingCall() == BinderCallType::BINDER; } static jlong android_os_Binder_clearCallingIdentity()