From 06e455018709b3a8ced50b21e02c2cbcff4707b0 Mon Sep 17 00:00:00 2001 From: Steven Moreland Date: Mon, 6 Jun 2022 21:40:49 +0000 Subject: [PATCH] Parcel: warnings for 'REPLY' statuses Comment a warning for this hack to add data into statuses. I've also heard from jsharkey@ in the past a need for a generic solution here. At a minimum, this prevents new bugs/bad interactions with native code. Bug: 235006086 Test: N/A Change-Id: I3bcb2b8638803cde0f6ef257b65bb9456843abf7 --- core/java/android/os/Parcel.java | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/core/java/android/os/Parcel.java b/core/java/android/os/Parcel.java index 08ab73b9dd923..524052241bbff 100644 --- a/core/java/android/os/Parcel.java +++ b/core/java/android/os/Parcel.java @@ -347,7 +347,15 @@ public final class Parcel { private static final int EX_SERVICE_SPECIFIC = -8; private static final int EX_PARCELABLE = -9; /** @hide */ + // WARNING: DO NOT add more 'reply' headers. These also need to add work to native + // code and this encodes extra information in object statuses. If we need to expand + // this design, we should add a generic way to attach parcelables/structured parcelables + // to transactions which can work across languages. public static final int EX_HAS_NOTED_APPOPS_REPLY_HEADER = -127; // special; see below + // WARNING: DO NOT add more 'reply' headers. These also need to add work to native + // code and this encodes extra information in object statuses. If we need to expand + // this design, we should add a generic way to attach parcelables/structured parcelables + // to transactions which can work across languages. private static final int EX_HAS_STRICTMODE_REPLY_HEADER = -128; // special; see below // EX_TRANSACTION_FAILED is used exclusively in native code. // see libbinder's binder/Status.h