summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Martijn Coenen <maco@google.com> 2017-03-16 19:53:49 +0000
committer android-build-merger <android-build-merger@google.com> 2017-03-16 19:53:49 +0000
commitd45b626e2bead8535e92f90c3ead24e27b7b83ac (patch)
treeef389d120eea4b99ce1ef92054adcf115fbe7f1a
parent0730328885aeb56390f7952be27af6e9ce5b9e2c (diff)
parent388af9c9db4a3397fecd3d3b51087245211d6ead (diff)
Merge "Add HwParcel::releaseParcel()" am: 210b9afe64 am: cea6624ffa
am: 388af9c9db Change-Id: Idadca897d444807dbb037eee33d8485717ceaae3
-rw-r--r--core/java/android/os/HwParcel.java1
-rw-r--r--core/jni/android_os_HwParcel.cpp9
2 files changed, 10 insertions, 0 deletions
diff --git a/core/java/android/os/HwParcel.java b/core/java/android/os/HwParcel.java
index a265dd08a92f..94fd5b074b82 100644
--- a/core/java/android/os/HwParcel.java
+++ b/core/java/android/os/HwParcel.java
@@ -219,6 +219,7 @@ public class HwParcel {
public native final void writeStatus(int status);
public native final void verifySuccess();
public native final void releaseTemporaryStorage();
+ public native final void release();
public native final void send();
diff --git a/core/jni/android_os_HwParcel.cpp b/core/jni/android_os_HwParcel.cpp
index 1bd233313ca3..678041f85d17 100644
--- a/core/jni/android_os_HwParcel.cpp
+++ b/core/jni/android_os_HwParcel.cpp
@@ -404,6 +404,11 @@ static void JHwParcel_native_verifySuccess(JNIEnv *env, jobject thiz) {
signalExceptionForError(env, err);
}
+static void JHwParcel_native_release(
+ JNIEnv *env, jobject thiz) {
+ JHwParcel::GetNativeContext(env, thiz)->setParcel(NULL, false /* assumeOwnership */);
+}
+
static void JHwParcel_native_releaseTemporaryStorage(
JNIEnv *env, jobject thiz) {
JHwParcel::GetNativeContext(env, thiz)->getStorage()->release(env);
@@ -955,6 +960,10 @@ static JNINativeMethod gMethods[] = {
{ "writeBuffer", "(L" PACKAGE_PATH "/HwBlob;)V",
(void *)JHwParcel_native_writeBuffer },
+
+ { "release", "()V",
+ (void *)JHwParcel_native_release },
+
};
namespace android {