Merge "Add feature tag for high-performance VR devices."
diff --git a/api/current.txt b/api/current.txt
index 7597de6..2fd32c5 100644
--- a/api/current.txt
+++ b/api/current.txt
@@ -9732,6 +9732,7 @@
     field public static final java.lang.String FEATURE_USB_HOST = "android.hardware.usb.host";
     field public static final java.lang.String FEATURE_VERIFIED_BOOT = "android.software.verified_boot";
     field public static final java.lang.String FEATURE_VR_MODE = "android.software.vr.mode";
+    field public static final java.lang.String FEATURE_VR_MODE_HIGH_PERFORMANCE = "android.hardware.vr.high_performance";
     field public static final java.lang.String FEATURE_WATCH = "android.hardware.type.watch";
     field public static final java.lang.String FEATURE_WEBVIEW = "android.software.webview";
     field public static final java.lang.String FEATURE_WIFI = "android.hardware.wifi";
diff --git a/api/system-current.txt b/api/system-current.txt
index 508b28c..5b640cd 100644
--- a/api/system-current.txt
+++ b/api/system-current.txt
@@ -10089,6 +10089,7 @@
     field public static final java.lang.String FEATURE_USB_HOST = "android.hardware.usb.host";
     field public static final java.lang.String FEATURE_VERIFIED_BOOT = "android.software.verified_boot";
     field public static final java.lang.String FEATURE_VR_MODE = "android.software.vr.mode";
+    field public static final java.lang.String FEATURE_VR_MODE_HIGH_PERFORMANCE = "android.hardware.vr.high_performance";
     field public static final java.lang.String FEATURE_WATCH = "android.hardware.type.watch";
     field public static final java.lang.String FEATURE_WEBVIEW = "android.software.webview";
     field public static final java.lang.String FEATURE_WIFI = "android.hardware.wifi";
diff --git a/api/test-current.txt b/api/test-current.txt
index a4b2f00..47eec48 100644
--- a/api/test-current.txt
+++ b/api/test-current.txt
@@ -9740,6 +9740,7 @@
     field public static final java.lang.String FEATURE_USB_HOST = "android.hardware.usb.host";
     field public static final java.lang.String FEATURE_VERIFIED_BOOT = "android.software.verified_boot";
     field public static final java.lang.String FEATURE_VR_MODE = "android.software.vr.mode";
+    field public static final java.lang.String FEATURE_VR_MODE_HIGH_PERFORMANCE = "android.hardware.vr.high_performance";
     field public static final java.lang.String FEATURE_WATCH = "android.hardware.type.watch";
     field public static final java.lang.String FEATURE_WEBVIEW = "android.software.webview";
     field public static final java.lang.String FEATURE_WIFI = "android.hardware.wifi";
diff --git a/core/java/android/content/pm/PackageManager.java b/core/java/android/content/pm/PackageManager.java
index 3a94bf7..6fb3c7c 100644
--- a/core/java/android/content/pm/PackageManager.java
+++ b/core/java/android/content/pm/PackageManager.java
@@ -2064,13 +2064,26 @@
      * Feature for {@link #getSystemAvailableFeatures} and {@link #hasSystemFeature}:
      * The device implements a an optimized mode for virtual reality (VR) applications that handles
      * stereoscopic rendering of notifications, and may potentially also include optimizations to
-     * reduce latency in the graphics, display, and sensor stacks.  Presence of this feature
-     * also indicates that the VrCore library is included on this device.
+     * reduce latency in the graphics, display, and sensor stacks.
      */
     @SdkConstant(SdkConstantType.FEATURE)
     public static final String FEATURE_VR_MODE = "android.software.vr.mode";
 
     /**
+     * Feature for {@link #getSystemAvailableFeatures} and {@link #hasSystemFeature}:
+     * The device implements {@link #FEATURE_VR_MODE} but additionally meets all CTS requirements
+     * to be certified as a "VR Ready" device, which guarantees that the device is capable of
+     * delivering consistent performance at a high framerate over an extended period of time for
+     * typical VR application CPU/GPU workloads with a minimal number of frame drops, implements
+     * {@link #FEATURE_HIFI_SENSORS} with a low sensor latency, implements an optimized render path
+     * to minimize latency to draw to the device's main display, and includes optimizations to
+     * lower display persistence to an acceptable level.
+     */
+    @SdkConstant(SdkConstantType.FEATURE)
+    public static final String FEATURE_VR_MODE_HIGH_PERFORMANCE
+            = "android.hardware.vr.high_performance";
+
+    /**
      * Action to external storage service to clean out removed apps.
      * @hide
      */