javaObjectForIBinder: warn rets global and local

Trying to manually delete the result of this function as a local
ref is problematic.

Bug: 227719836
Test: N/A
Change-Id: Iea4509e08f935f268ee502825dab47caef8508a5
This commit is contained in:
Steven Moreland
2022-04-19 23:39:08 +00:00
parent c4227ee28f
commit a944ece068

View File

@@ -24,8 +24,18 @@
namespace android {
// Converstion to/from Java IBinder Object and C++ IBinder instance.
/**
* Conversion to Java IBinder Object from C++ IBinder instance.
*
* WARNING: this function returns global and local references. This can be
* figured out using GetObjectRefType. Though, when this function is called
* from within a Java context, the local ref will automatically be cleaned
* up. If this is called outside of a Java frame,
* PushObjectFrame/PopObjectFrame can simulate this automatic cleanup. The
* platform provides ScopedLocalFrame as an RAII object for this.
*/
extern jobject javaObjectForIBinder(JNIEnv* env, const sp<IBinder>& val);
/** Conversion from Java IBinder Object to C++ IBinder instance. */
extern sp<IBinder> ibinderForJavaObject(JNIEnv* env, jobject obj);
extern jobject newParcelFileDescriptor(JNIEnv* env, jobject fileDesc);