Add native counterpart for VMRuntime.setProcessDataDirectory
This is used by the framework to pass the full path to app's data
directory to ART, then used for storing anonymous vdex files.
Test: compiles
Bug: 72131483
Change-Id: I90de4b22f483a40f585f9b5583a14980b812f24b
diff --git a/runtime/native/dalvik_system_VMRuntime.cc b/runtime/native/dalvik_system_VMRuntime.cc
index c233171..399813c 100644
--- a/runtime/native/dalvik_system_VMRuntime.cc
+++ b/runtime/native/dalvik_system_VMRuntime.cc
@@ -713,6 +713,11 @@
Runtime::Current()->SetProcessPackageName(package_name.c_str());
}
+static void VMRuntime_setProcessDataDirectory(JNIEnv* env, jclass, jstring java_data_dir) {
+ ScopedUtfChars data_dir(env, java_data_dir);
+ Runtime::Current()->SetProcessDataDirectory(data_dir.c_str());
+}
+
static jboolean VMRuntime_hasBootImageSpaces(JNIEnv* env ATTRIBUTE_UNUSED,
jclass klass ATTRIBUTE_UNUSED) {
return Runtime::Current()->GetHeap()->HasBootImageSpace() ? JNI_TRUE : JNI_FALSE;
@@ -766,6 +771,7 @@
NATIVE_METHOD(VMRuntime, setSystemDaemonThreadPriority, "()V"),
NATIVE_METHOD(VMRuntime, setDedupeHiddenApiWarnings, "(Z)V"),
NATIVE_METHOD(VMRuntime, setProcessPackageName, "(Ljava/lang/String;)V"),
+ NATIVE_METHOD(VMRuntime, setProcessDataDirectory, "(Ljava/lang/String;)V"),
};
void register_dalvik_system_VMRuntime(JNIEnv* env) {