Merge "Add nullable parameter to readEmbeddedBuffer."
This commit is contained in:
@@ -212,7 +212,7 @@ public class HwParcel {
|
|||||||
public native final HwBlob readBuffer();
|
public native final HwBlob readBuffer();
|
||||||
|
|
||||||
public native final HwBlob readEmbeddedBuffer(
|
public native final HwBlob readEmbeddedBuffer(
|
||||||
long parentHandle, long offset);
|
long parentHandle, long offset, boolean nullable);
|
||||||
|
|
||||||
public native final void writeBuffer(HwBlob blob);
|
public native final void writeBuffer(HwBlob blob);
|
||||||
|
|
||||||
|
|||||||
@@ -822,7 +822,8 @@ static jobject JHwParcel_native_readBuffer(JNIEnv *env, jobject thiz) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
static jobject JHwParcel_native_readEmbeddedBuffer(
|
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 =
|
hardware::Parcel *parcel =
|
||||||
JHwParcel::GetNativeContext(env, thiz)->getParcel();
|
JHwParcel::GetNativeContext(env, thiz)->getParcel();
|
||||||
|
|
||||||
@@ -830,11 +831,15 @@ static jobject JHwParcel_native_readEmbeddedBuffer(
|
|||||||
|
|
||||||
const void *ptr;
|
const void *ptr;
|
||||||
status_t status =
|
status_t status =
|
||||||
parcel->readEmbeddedBuffer(&childHandle, parentHandle, offset, &ptr);
|
parcel->readNullableEmbeddedBuffer(&childHandle, parentHandle, offset,
|
||||||
|
&ptr);
|
||||||
|
|
||||||
if (status != OK) {
|
if (status != OK) {
|
||||||
jniThrowException(env, "java/util/NoSuchElementException", NULL);
|
jniThrowException(env, "java/util/NoSuchElementException", NULL);
|
||||||
return 0;
|
return 0;
|
||||||
|
} else if (status == OK && !nullable && ptr == nullptr) {
|
||||||
|
jniThrowException(env, "java/lang/NullPointerException", NULL);
|
||||||
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
return JHwBlob::NewObject(env, ptr, childHandle);
|
return JHwBlob::NewObject(env, ptr, childHandle);
|
||||||
@@ -945,7 +950,7 @@ static JNINativeMethod gMethods[] = {
|
|||||||
{ "readBuffer", "()L" PACKAGE_PATH "/HwBlob;",
|
{ "readBuffer", "()L" PACKAGE_PATH "/HwBlob;",
|
||||||
(void *)JHwParcel_native_readBuffer },
|
(void *)JHwParcel_native_readBuffer },
|
||||||
|
|
||||||
{ "readEmbeddedBuffer", "(JJ)L" PACKAGE_PATH "/HwBlob;",
|
{ "readEmbeddedBuffer", "(JJZ)L" PACKAGE_PATH "/HwBlob;",
|
||||||
(void *)JHwParcel_native_readEmbeddedBuffer },
|
(void *)JHwParcel_native_readEmbeddedBuffer },
|
||||||
|
|
||||||
{ "writeBuffer", "(L" PACKAGE_PATH "/HwBlob;)V",
|
{ "writeBuffer", "(L" PACKAGE_PATH "/HwBlob;)V",
|
||||||
|
|||||||
Reference in New Issue
Block a user