Merge "VMRuntime: Add callback for non SDK API accesses." into pi-dev
diff --git a/libart/src/main/java/dalvik/system/VMRuntime.java b/libart/src/main/java/dalvik/system/VMRuntime.java
index 5201f73..8c80346 100644
--- a/libart/src/main/java/dalvik/system/VMRuntime.java
+++ b/libart/src/main/java/dalvik/system/VMRuntime.java
@@ -20,6 +20,7 @@
 import java.lang.ref.FinalizerReference;
 import java.util.HashMap;
 import java.util.Map;
+import java.util.function.Consumer;
 
 /**
  * Provides an interface to VM-global, Dalvik-specific features.
@@ -59,6 +60,8 @@
      */
     public static final int SDK_VERSION_CUR_DEVELOPMENT = 10000;
 
+    private static Consumer<String> nonSdkApiUsageConsumer = null;
+
     private int targetSdkVersion = SDK_VERSION_CUR_DEVELOPMENT;
 
     /**
@@ -441,4 +444,11 @@
      * Sets up the priority of the system daemon thread (caller).
      */
     public static native void setSystemDaemonThreadPriority();
+
+    /**
+     * Sets a callback that the runtime can call whenever a usage of a non SDK API is detected.
+     */
+    public static void setNonSdkApiUsageConsumer(Consumer<String> consumer) {
+        nonSdkApiUsageConsumer = consumer;
+    }
 }