Merge "Add nullable parameter to readEmbeddedBuffer." am: c5e5442acd

am: b529858c0b

Change-Id: I4a04a1e766551d0c15e3b4c14226363c97daf032
This commit is contained in:
Martijn Coenen
2017-01-16 15:01:31 +00:00
committed by android-build-merger
2 changed files with 9 additions and 4 deletions

View File

@@ -212,7 +212,7 @@ public class HwParcel {
public native final HwBlob readBuffer();
public native final HwBlob readEmbeddedBuffer(
long parentHandle, long offset);
long parentHandle, long offset, boolean nullable);
public native final void writeBuffer(HwBlob blob);

View File

@@ -822,7 +822,8 @@ static jobject JHwParcel_native_readBuffer(JNIEnv *env, jobject thiz) {
}
static jobject JHwParcel_native_readEmbeddedBuffer(
JNIEnv *env, jobject thiz, jlong parentHandle, jlong offset) {
JNIEnv *env, jobject thiz, jlong parentHandle, jlong offset,
jboolean nullable) {
hardware::Parcel *parcel =
JHwParcel::GetNativeContext(env, thiz)->getParcel();
@@ -830,11 +831,15 @@ static jobject JHwParcel_native_readEmbeddedBuffer(
const void *ptr;
status_t status =
parcel->readEmbeddedBuffer(&childHandle, parentHandle, offset, &ptr);
parcel->readNullableEmbeddedBuffer(&childHandle, parentHandle, offset,
&ptr);
if (status != OK) {
jniThrowException(env, "java/util/NoSuchElementException", NULL);
return 0;
} else if (status == OK && !nullable && ptr == nullptr) {
jniThrowException(env, "java/lang/NullPointerException", NULL);
return 0;
}
return JHwBlob::NewObject(env, ptr, childHandle);
@@ -945,7 +950,7 @@ static JNINativeMethod gMethods[] = {
{ "readBuffer", "()L" PACKAGE_PATH "/HwBlob;",
(void *)JHwParcel_native_readBuffer },
{ "readEmbeddedBuffer", "(JJ)L" PACKAGE_PATH "/HwBlob;",
{ "readEmbeddedBuffer", "(JJZ)L" PACKAGE_PATH "/HwBlob;",
(void *)JHwParcel_native_readEmbeddedBuffer },
{ "writeBuffer", "(L" PACKAGE_PATH "/HwBlob;)V",