summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Alice Ryhl <aliceryhl@google.com> 2021-09-07 09:53:15 +0000
committer Alice Ryhl <aliceryhl@google.com> 2021-10-19 08:51:59 +0000
commit7845ea4a8592ead14b1f1ce1e001b22c1bb0c746 (patch)
treebb1e28ab50a121d951b88205f67c02dceae78948
parent10d9b01f6177e86d49537a814e3bbca8740f571a (diff)
Rename isHandlingTransaction to isDirectlyHandlingTransaction
The change in aosp/1806594 is adding a method to the binder ndk called isHandlingTransaction, but that method behaves differently from this method when HIDL gets involved, as getCurrentServingCall returns HWBINDER in that case. Test: m Change-Id: Ie2812943d1e98e99a1c361475965a2c75214724a
-rw-r--r--core/java/android/os/Binder.java4
-rw-r--r--core/jni/android_util_Binder.cpp7
2 files changed, 6 insertions, 5 deletions
diff --git a/core/java/android/os/Binder.java b/core/java/android/os/Binder.java
index 635f58182b34..b677b6900d5c 100644
--- a/core/java/android/os/Binder.java
+++ b/core/java/android/os/Binder.java
@@ -313,7 +313,7 @@ public class Binder implements IBinder {
* @hide
*/
@CriticalNative
- public static final native boolean isHandlingTransaction();
+ public static final native boolean isDirectlyHandlingTransaction();
/**
* Return the Linux uid assigned to the process that sent the transaction
@@ -323,7 +323,7 @@ public class Binder implements IBinder {
* executing an incoming transaction.
*/
public static final int getCallingUidOrThrow() {
- if (!isHandlingTransaction()) {
+ if (!isDirectlyHandlingTransaction()) {
throw new IllegalStateException(
"Thread is not in a binder transcation");
}
diff --git a/core/jni/android_util_Binder.cpp b/core/jni/android_util_Binder.cpp
index 793b4eba788c..61b91ddaa2e7 100644
--- a/core/jni/android_util_Binder.cpp
+++ b/core/jni/android_util_Binder.cpp
@@ -959,8 +959,7 @@ static jint android_os_Binder_getCallingUid()
return IPCThreadState::self()->getCallingUid();
}
-static jboolean android_os_Binder_isHandlingTransaction()
-{
+static jboolean android_os_Binder_isDirectlyHandlingTransaction() {
return getCurrentServingCall() == BinderCallType::BINDER;
}
@@ -1056,6 +1055,7 @@ static void android_os_Binder_setExtension(JNIEnv* env, jobject obj, jobject ext
// ----------------------------------------------------------------------------
+// clang-format off
static const JNINativeMethod gBinderMethods[] = {
/* name, signature, funcPtr */
// @CriticalNative
@@ -1063,7 +1063,7 @@ static const JNINativeMethod gBinderMethods[] = {
// @CriticalNative
{ "getCallingUid", "()I", (void*)android_os_Binder_getCallingUid },
// @CriticalNative
- { "isHandlingTransaction", "()Z", (void*)android_os_Binder_isHandlingTransaction },
+ { "isDirectlyHandlingTransaction", "()Z", (void*)android_os_Binder_isDirectlyHandlingTransaction },
// @CriticalNative
{ "clearCallingIdentity", "()J", (void*)android_os_Binder_clearCallingIdentity },
// @CriticalNative
@@ -1088,6 +1088,7 @@ static const JNINativeMethod gBinderMethods[] = {
{ "getExtension", "()Landroid/os/IBinder;", (void*)android_os_Binder_getExtension },
{ "setExtension", "(Landroid/os/IBinder;)V", (void*)android_os_Binder_setExtension },
};
+// clang-format on
const char* const kBinderPathName = "android/os/Binder";