diff options
Diffstat (limited to 'tools/lock_agent/agent.cpp')
-rw-r--r-- | tools/lock_agent/agent.cpp | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/tools/lock_agent/agent.cpp b/tools/lock_agent/agent.cpp index 5b1d52e809aa..c639427e645e 100644 --- a/tools/lock_agent/agent.cpp +++ b/tools/lock_agent/agent.cpp @@ -68,6 +68,7 @@ namespace { JavaVM* gJavaVM = nullptr; bool gForkCrash = false; +bool gJavaCrash = false; // Converts a class name to a type descriptor // (ex. "java.lang.String" to "Ljava/lang/String;") @@ -394,6 +395,8 @@ jint attach(JavaVM* vm, char* options, void* reserved ATTRIBUTE_UNUSED) { for (const std::string& c : config) { if (c == "native_crash") { gForkCrash = true; + } else if (c == "java_crash") { + gJavaCrash = true; } } @@ -405,6 +408,11 @@ jboolean JNICALL Java_com_android_lock_1checker_LockHook_getNativeHandlingConfig return gForkCrash ? JNI_TRUE : JNI_FALSE; } +extern "C" JNIEXPORT jboolean JNICALL +Java_com_android_lock_1checker_LockHook_getSimulateCrashConfig(JNIEnv*, jclass) { + return gJavaCrash ? JNI_TRUE : JNI_FALSE; +} + extern "C" JNIEXPORT void JNICALL Java_com_android_lock_1checker_LockHook_nWtf(JNIEnv* env, jclass, jstring msg) { if (!gForkCrash || msg == nullptr) { |