Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit a944ece0 authored by Steven Moreland's avatar Steven Moreland
Browse files

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
parent c4227ee2
Loading
Loading
Loading
Loading
+11 −1
Original line number Diff line number Diff line
@@ -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);