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

Commit 714c8596 authored by Martijn Coenen's avatar Martijn Coenen Committed by android-build-merger
Browse files

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

am: b529858c

Change-Id: I4a04a1e766551d0c15e3b4c14226363c97daf032
parents 55d1997d b529858c
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -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);

+8 −3
Original line number Diff line number Diff line
@@ -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",