Index: base/android/jni_array.cc |
diff --git a/base/android/jni_array.cc b/base/android/jni_array.cc |
index bbe00c61290e89be28da766fa7069fa61091d177..0b2b67f8f2290828dc1123fd4b3abf881437798d 100644 |
--- a/base/android/jni_array.cc |
+++ b/base/android/jni_array.cc |
@@ -25,6 +25,25 @@ ScopedJavaLocalRef<jbyteArray> ToJavaByteArray( |
return ScopedJavaLocalRef<jbyteArray>(env, byte_array); |
} |
+ScopedJavaLocalRef<jintArray> ToJavaIntArray( |
+ JNIEnv* env, const int* ints, size_t len) { |
+ jintArray int_array = env->NewIntArray(len); |
+ CheckException(env); |
+ DCHECK(int_array); |
+ |
+ jint* elements = env->GetIntArrayElements(int_array, NULL); |
+ memcpy(elements, ints, len * sizeof(*ints)); |
+ env->ReleaseIntArrayElements(int_array, elements, 0); |
+ CheckException(env); |
+ |
+ return ScopedJavaLocalRef<jintArray>(env, int_array); |
+} |
+ |
+ScopedJavaLocalRef<jintArray> ToJavaIntArray( |
+ JNIEnv* env, const std::vector<int>& ints) { |
+ return ToJavaIntArray(env, ints.begin(), ints.size()); |
+} |
+ |
ScopedJavaLocalRef<jlongArray> ToJavaLongArray( |
JNIEnv* env, const int64* longs, size_t len) { |
jlongArray long_array = env->NewLongArray(len); |