Revert "Android: Generate JNI code for stats"
This reverts commit aede67a199ae0552074bfec4bb03cc9a6a5fba0f. Reason for revert: Causes error: JNI ERROR (app bug): local reference table overflow (max=512)' Original change's description: > Android: Generate JNI code for stats > > This CL also unifies the functions for converting from C++ to Java, and > generates the boiler plate for converting C++ vectors to Java arrays. > > Bug: webrtc:8278 > Change-Id: I262e9162beae8a64ba0e8b6a27e1081207b03961 > Reviewed-on: https://webrtc-review.googlesource.com/26020 > Commit-Queue: Magnus Jedvert <magjed@webrtc.org> > Reviewed-by: Sami Kalliomäki <sakal@webrtc.org> > Cr-Commit-Position: refs/heads/master@{#20918} TBR=magjed@webrtc.org,sakal@webrtc.org Change-Id: Ieb26ed8577bd489a4dd4f7542d16a7d0e11f409f No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: webrtc:8278 Reviewed-on: https://webrtc-review.googlesource.com/26900 Reviewed-by: Magnus Jedvert <magjed@webrtc.org> Commit-Queue: Magnus Jedvert <magjed@webrtc.org> Cr-Commit-Position: refs/heads/master@{#20926}
This commit is contained in:
committed by
Commit Bot
parent
8d19e03e95
commit
43d069a2cd
@ -98,6 +98,9 @@ bool GetBooleanField(JNIEnv* jni, jobject object, jfieldID id);
|
||||
// Returns true if |obj| == null in Java.
|
||||
bool IsNull(JNIEnv* jni, jobject obj);
|
||||
|
||||
// Given a UTF-8 encoded |native| string return a new (UTF-16) jstring.
|
||||
jstring JavaStringFromStdString(JNIEnv* jni, const std::string& native);
|
||||
|
||||
// Given a (UTF-16) jstring return a new UTF-8 native string.
|
||||
std::string JavaToStdString(JNIEnv* jni, const jstring& j_string);
|
||||
|
||||
@ -105,16 +108,12 @@ std::string JavaToStdString(JNIEnv* jni, const jstring& j_string);
|
||||
// return a new vector of UTF-8 native strings.
|
||||
std::vector<std::string> JavaToStdVectorStrings(JNIEnv* jni, jobject list);
|
||||
|
||||
rtc::Optional<int32_t> JavaToNativeOptionalInt(JNIEnv* jni, jobject integer);
|
||||
rtc::Optional<int32_t> JavaIntegerToOptionalInt(JNIEnv* jni, jobject integer);
|
||||
|
||||
jobject NativeToJavaBoolean(JNIEnv* env, bool b);
|
||||
jobject NativeToJavaInteger(JNIEnv* jni, int32_t i);
|
||||
jobject NativeToJavaLong(JNIEnv* env, int64_t u);
|
||||
jobject NativeToJavaDouble(JNIEnv* env, double d);
|
||||
// Given a UTF-8 encoded |native| string return a new (UTF-16) jstring.
|
||||
jstring NativeToJavaString(JNIEnv* jni, const std::string& native);
|
||||
jobject NativeToJavaInteger(JNIEnv* jni,
|
||||
const rtc::Optional<int32_t>& optional_int);
|
||||
jobject JavaIntegerFromOptionalInt(JNIEnv* jni,
|
||||
const rtc::Optional<int32_t>& optional_int);
|
||||
|
||||
jobject JavaIntegerFromInt(JNIEnv* jni, int32_t i);
|
||||
|
||||
// Return the (singleton) Java Enum object corresponding to |index|;
|
||||
jobject JavaEnumFromIndex(JNIEnv* jni, jclass state_class,
|
||||
@ -229,37 +228,6 @@ class Iterable {
|
||||
RTC_DISALLOW_COPY_AND_ASSIGN(Iterable);
|
||||
};
|
||||
|
||||
// Helper function for converting std::vector<T> into a Java array.
|
||||
template <typename T, typename Convert>
|
||||
jobjectArray NativeToJavaObjectArray(JNIEnv* env,
|
||||
const std::vector<T>& container,
|
||||
jclass clazz,
|
||||
Convert convert) {
|
||||
jobjectArray j_container =
|
||||
env->NewObjectArray(container.size(), clazz, nullptr);
|
||||
int i = 0;
|
||||
for (const T& element : container) {
|
||||
jobject j_element = convert(env, element);
|
||||
env->SetObjectArrayElement(j_container, i, j_element);
|
||||
// Delete local ref immediately since we might create a lot of local
|
||||
// references in this loop.
|
||||
env->DeleteLocalRef(j_element);
|
||||
++i;
|
||||
}
|
||||
return j_container;
|
||||
}
|
||||
|
||||
jobjectArray NativeToJavaIntegerArray(JNIEnv* env,
|
||||
const std::vector<int32_t>& container);
|
||||
jobjectArray NativeToJavaBooleanArray(JNIEnv* env,
|
||||
const std::vector<bool>& container);
|
||||
jobjectArray NativeToJavaLongArray(JNIEnv* env,
|
||||
const std::vector<int64_t>& container);
|
||||
jobjectArray NativeToJavaDoubleArray(JNIEnv* env,
|
||||
const std::vector<double>& container);
|
||||
jobjectArray NativeToJavaStringArray(JNIEnv* env,
|
||||
const std::vector<std::string>& container);
|
||||
|
||||
} // namespace jni
|
||||
} // namespace webrtc
|
||||
|
||||
|
||||
Reference in New Issue
Block a user