Add VMRuntime.setProcessDataDirectory
Add a core platform API that will be used by the framework to pass down
the full path to app's data directory. ART will cache verification data
into that folder.
Test: compiles, boots
Bug: 72131483
Change-Id: Ibe382b49dc5b9a6b96f9ba53559220b551975b79
diff --git a/libart/src/main/java/dalvik/system/VMRuntime.java b/libart/src/main/java/dalvik/system/VMRuntime.java
index 0260e68..7d70680 100644
--- a/libart/src/main/java/dalvik/system/VMRuntime.java
+++ b/libart/src/main/java/dalvik/system/VMRuntime.java
@@ -696,4 +696,10 @@
*/
@libcore.api.CorePlatformApi
public static native void setProcessPackageName(String packageName);
+
+ /**
+ * Sets the full path to data directory of the app running in this process.
+ */
+ @libcore.api.CorePlatformApi
+ public static native void setProcessDataDirectory(String dataDir);
}
diff --git a/mmodules/core_platform_api/api/platform/current-api.txt b/mmodules/core_platform_api/api/platform/current-api.txt
index 9e3515a..a304cf8 100644
--- a/mmodules/core_platform_api/api/platform/current-api.txt
+++ b/mmodules/core_platform_api/api/platform/current-api.txt
@@ -748,6 +748,7 @@
method public void setHiddenApiExemptions(String[]);
method public static void setHiddenApiUsageLogger(dalvik.system.VMRuntime.HiddenApiUsageLogger);
method public static void setNonSdkApiUsageConsumer(java.util.function.Consumer<java.lang.String>);
+ method public static void setProcessDataDirectory(String);
method public static void setProcessPackageName(String);
method @dalvik.annotation.compat.UnsupportedAppUsage public float setTargetHeapUtilization(float);
method public void setTargetSdkVersion(int);