Remove unused FML JNI helpers (flutter/engine#3547)
This commit is contained in:
@@ -13,7 +13,6 @@ namespace fml {
|
||||
namespace jni {
|
||||
|
||||
static JavaVM* g_jvm = nullptr;
|
||||
static ScopedJavaGlobalRef<jobject>* g_android_application_context = nullptr;
|
||||
|
||||
#define ASSERT_NO_EXCEPTION() FTL_CHECK(env->ExceptionCheck() == JNI_FALSE);
|
||||
|
||||
@@ -37,20 +36,6 @@ void DetachFromVM() {
|
||||
}
|
||||
}
|
||||
|
||||
void InitAndroidApplicationContext(const JavaRef<jobject>& context) {
|
||||
FTL_DCHECK(g_android_application_context == nullptr);
|
||||
g_android_application_context = new ScopedJavaGlobalRef<jobject>(context);
|
||||
FTL_DCHECK(g_android_application_context->obj() != nullptr);
|
||||
}
|
||||
|
||||
const jobject GetAndroidApplicationContext() {
|
||||
jobject object = g_android_application_context->obj();
|
||||
FTL_DCHECK(object != nullptr)
|
||||
<< "Trying to get Android application context without first calling "
|
||||
"InitAndroidApplicationContext.";
|
||||
return object;
|
||||
}
|
||||
|
||||
static std::string UTF16StringToUTF8String(const char16_t* chars, size_t len) {
|
||||
std::u16string u16_string(chars, len);
|
||||
return std::wstring_convert<std::codecvt_utf8_utf16<char16_t>, char16_t>{}
|
||||
@@ -138,47 +123,5 @@ bool ClearException(JNIEnv* env) {
|
||||
return true;
|
||||
}
|
||||
|
||||
std::string GetJavaExceptionInfo(JNIEnv* env, jthrowable java_throwable) {
|
||||
ScopedJavaLocalRef<jclass> throwable_clazz(
|
||||
env, env->FindClass("java/lang/Throwable"));
|
||||
|
||||
jmethodID throwable_printstacktrace = env->GetMethodID(
|
||||
throwable_clazz.obj(), "printStackTrace", "(Ljava/io/PrintStream;)V");
|
||||
|
||||
// Create an instance of ByteArrayOutputStream.
|
||||
ScopedJavaLocalRef<jclass> bytearray_output_stream_clazz(
|
||||
env, env->FindClass("java/io/ByteArrayOutputStream"));
|
||||
|
||||
jmethodID bytearray_output_stream_constructor =
|
||||
env->GetMethodID(bytearray_output_stream_clazz.obj(), "<init>", "()V");
|
||||
jmethodID bytearray_output_stream_tostring = env->GetMethodID(
|
||||
bytearray_output_stream_clazz.obj(), "toString", "()Ljava/lang/String;");
|
||||
ScopedJavaLocalRef<jobject> bytearray_output_stream(
|
||||
env, env->NewObject(bytearray_output_stream_clazz.obj(),
|
||||
bytearray_output_stream_constructor));
|
||||
|
||||
// Create an instance of PrintStream.
|
||||
ScopedJavaLocalRef<jclass> printstream_clazz(
|
||||
env, env->FindClass("java/io/PrintStream"));
|
||||
|
||||
jmethodID printstream_constructor = env->GetMethodID(
|
||||
printstream_clazz.obj(), "<init>", "(Ljava/io/OutputStream;)V");
|
||||
ScopedJavaLocalRef<jobject> printstream(
|
||||
env, env->NewObject(printstream_clazz.obj(), printstream_constructor,
|
||||
bytearray_output_stream.obj()));
|
||||
|
||||
// Call Throwable.printStackTrace(PrintStream)
|
||||
env->CallVoidMethod(java_throwable, throwable_printstacktrace,
|
||||
printstream.obj());
|
||||
|
||||
// Call ByteArrayOutputStream.toString()
|
||||
ScopedJavaLocalRef<jstring> exception_string(
|
||||
env,
|
||||
static_cast<jstring>(env->CallObjectMethod(
|
||||
bytearray_output_stream.obj(), bytearray_output_stream_tostring)));
|
||||
|
||||
return JavaStringToString(env, exception_string.obj());
|
||||
}
|
||||
|
||||
} // namespace jni
|
||||
} // namespace fml
|
||||
|
||||
@@ -21,10 +21,6 @@ JNIEnv* AttachCurrentThread();
|
||||
|
||||
void DetachFromVM();
|
||||
|
||||
void InitAndroidApplicationContext(const JavaRef<jobject>& context);
|
||||
|
||||
const jobject GetAndroidApplicationContext();
|
||||
|
||||
std::string JavaStringToString(JNIEnv* env, jstring string);
|
||||
|
||||
ScopedJavaLocalRef<jstring> StringToJavaString(JNIEnv* env,
|
||||
@@ -40,8 +36,6 @@ bool HasException(JNIEnv* env);
|
||||
|
||||
bool ClearException(JNIEnv* env);
|
||||
|
||||
std::string GetJavaExceptionInfo(JNIEnv* env, jthrowable java_throwable);
|
||||
|
||||
} // namespace jni
|
||||
} // namespace fml
|
||||
|
||||
|
||||
Reference in New Issue
Block a user