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

Commit e63c043c authored by TreeHugger Robot's avatar TreeHugger Robot Committed by Android (Google) Code Review
Browse files

Merge "Add some safety to Picture's JNI"

parents 35de2593 6143e8d4
Loading
Loading
Loading
Loading
+14 −11
Original line number Diff line number Diff line
@@ -20,9 +20,12 @@
#include "SkCanvas.h"
#include "SkStream.h"
#include "core_jni_helpers.h"
#include "nativehelper/jni_macros.h"

#include <jni.h>

#include <array>

namespace android {

static jlong android_graphics_Picture_newPicture(JNIEnv* env, jobject, jlong srcHandle) {
@@ -91,20 +94,20 @@ static void android_graphics_Picture_endRecording(JNIEnv* env, jobject, jlong pi
    pict->endRecording();
}

static const JNINativeMethod gMethods[] = {
    {"nativeGetWidth", "(J)I", (void*) android_graphics_Picture_getWidth},
    {"nativeGetHeight", "(J)I", (void*) android_graphics_Picture_getHeight},
    {"nativeConstructor", "(J)J", (void*) android_graphics_Picture_newPicture},
    {"nativeCreateFromStream", "(Ljava/io/InputStream;[B)J", (void*)android_graphics_Picture_deserialize},
    {"nativeBeginRecording", "(JII)J", (void*) android_graphics_Picture_beginRecording},
    {"nativeEndRecording", "(J)V", (void*) android_graphics_Picture_endRecording},
    {"nativeDraw", "(JJ)V", (void*) android_graphics_Picture_draw},
    {"nativeWriteToStream", "(JLjava/io/OutputStream;[B)Z", (void*)android_graphics_Picture_serialize},
    {"nativeDestructor","(J)V", (void*) android_graphics_Picture_killPicture}
static const std::array gMethods = {
    MAKE_JNI_NATIVE_METHOD("nativeGetWidth", "(J)I",  android_graphics_Picture_getWidth),
    MAKE_JNI_NATIVE_METHOD("nativeGetHeight", "(J)I",  android_graphics_Picture_getHeight),
    MAKE_JNI_NATIVE_METHOD("nativeConstructor", "(J)J",  android_graphics_Picture_newPicture),
    MAKE_JNI_NATIVE_METHOD("nativeCreateFromStream", "(Ljava/io/InputStream;[B)J", android_graphics_Picture_deserialize),
    MAKE_JNI_NATIVE_METHOD("nativeBeginRecording", "(JII)J",  android_graphics_Picture_beginRecording),
    MAKE_JNI_NATIVE_METHOD("nativeEndRecording", "(J)V",  android_graphics_Picture_endRecording),
    MAKE_JNI_NATIVE_METHOD("nativeDraw", "(JJ)V",  android_graphics_Picture_draw),
    MAKE_JNI_NATIVE_METHOD("nativeWriteToStream", "(JLjava/io/OutputStream;[B)Z", android_graphics_Picture_serialize),
    MAKE_JNI_NATIVE_METHOD("nativeDestructor","(J)V",  android_graphics_Picture_killPicture)
};

int register_android_graphics_Picture(JNIEnv* env) {
    return RegisterMethodsOrDie(env, "android/graphics/Picture", gMethods, NELEM(gMethods));
    return RegisterMethodsOrDie(env, "android/graphics/Picture", gMethods.data(), gMethods.size());
}

}; // namespace android