diff options
| author | 2023-09-19 23:54:53 +0000 | |
|---|---|---|
| committer | 2023-09-19 23:54:53 +0000 | |
| commit | 16aca521d0c75584134eea2229c4e52820b29477 (patch) | |
| tree | 5f811f72f2fe9d134298296fd62425a64055fc98 | |
| parent | 4bc9d4d4e2ca05eaefc7385fada14148494d3671 (diff) | |
| parent | e94531c63eda2faf3d9376600d2308dec4f366e8 (diff) | |
Merge "Binder: update bug #s for Java-only features" into main am: 5a9edb9a6c am: e94531c63e
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/2744833
Change-Id: I3957a39f6c21577a424a96f3eb915c9fac4af2c0
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
| -rw-r--r-- | core/java/android/os/Binder.java | 16 |
1 files changed, 12 insertions, 4 deletions
diff --git a/core/java/android/os/Binder.java b/core/java/android/os/Binder.java index f40efc8a2e8f..218d4bb8514f 100644 --- a/core/java/android/os/Binder.java +++ b/core/java/android/os/Binder.java @@ -186,6 +186,8 @@ public class Binder implements IBinder { /** * Get the binder transaction observer for this process. * + * TODO(b/299356196): only applies to Java code, not C++/Rust + * * @hide */ public static void setObserver(@Nullable BinderInternal.Observer observer) { @@ -202,6 +204,8 @@ public class Binder implements IBinder { * that require a result must be sent as {@link IBinder#FLAG_ONEWAY} calls * which deliver results through a callback interface. * + * TODO(b/299355525): only applies to Java code, not C++/Rust + * * @hide */ public static void setWarnOnBlocking(boolean warnOnBlocking) { @@ -218,6 +222,8 @@ public class Binder implements IBinder { * interfaces hosted by package that could be upgraded or replaced, * otherwise you risk system instability if that remote interface wedges. * + * TODO(b/299355525): only applies to Java code, not C++/Rust + * * @hide */ public static IBinder allowBlocking(IBinder binder) { @@ -1307,6 +1313,8 @@ public class Binder implements IBinder { int callingUid) { // Make sure the observer won't change while processing a transaction. final BinderInternal.Observer observer = sObserver; + + // TODO(b/299356196): observer should also observe transactions in native code final CallSession callSession = observer != null ? observer.callStarted(this, code, UNSET_WORKSOURCE) : null; // Theoretically, we should call transact, which will call onTransact, @@ -1329,7 +1337,7 @@ public class Binder implements IBinder { final boolean tracingEnabled = tagEnabled && transactionTraceName != null; try { - // TODO - this logic should not be in Java - it should be in native + // TODO(b/299356201) - this logic should not be in Java - it should be in native // code in libbinder so that it works for all binder users. final BinderCallHeavyHitterWatcher heavyHitterWatcher = sHeavyHitterWatcher; if (heavyHitterWatcher != null && callingUid != -1) { @@ -1340,9 +1348,9 @@ public class Binder implements IBinder { Trace.traceBegin(Trace.TRACE_TAG_AIDL, transactionTraceName); } - // TODO - this logic should not be in Java - it should be in native - // code in libbinder so that it works for all binder users. Further, - // this should not re-use flags. + // TODO(b/299353919) - this logic should not be in Java - it should be + // in native code in libbinder so that it works for all binder users. + // Further, this should not re-use flags. if ((flags & FLAG_COLLECT_NOTED_APP_OPS) != 0 && callingUid != -1) { AppOpsManager.startNotedAppOpsCollection(callingUid); try { |