Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 022320cb authored by Craig Donner's avatar Craig Donner Committed by Android (Google) Code Review
Browse files

Merge "Deprecate android.software.vr.mode"

parents bd56951c c6f9c85f
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -11159,7 +11159,7 @@ package android.content.pm {
    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_HEADTRACKING = "android.hardware.vr.headtracking";
    field public static final java.lang.String FEATURE_VR_MODE = "android.software.vr.mode";
    field public static final deprecated 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_VULKAN_HARDWARE_COMPUTE = "android.hardware.vulkan.compute";
    field public static final java.lang.String FEATURE_VULKAN_HARDWARE_LEVEL = "android.hardware.vulkan.level";
+0 −1
Original line number Diff line number Diff line
@@ -6616,7 +6616,6 @@ public class Activity extends ContextThemeWrapper
     *    to run as a {@link android.service.vr.VrListenerService} is not installed, or has
     *    not been enabled in user settings.
     *
     * @see android.content.pm.PackageManager#FEATURE_VR_MODE
     * @see android.content.pm.PackageManager#FEATURE_VR_MODE_HIGH_PERFORMANCE
     * @see android.service.vr.VrListenerService
     * @see android.provider.Settings#ACTION_VR_LISTENER_SETTINGS
+10 −19
Original line number Diff line number Diff line
@@ -2535,31 +2535,22 @@ public abstract class PackageManager {
     * Devices declaring this feature must include an application implementing a
     * {@link android.service.vr.VrListenerService} that can be targeted by VR applications via
     * {@link android.app.Activity#setVrModeEnabled}.
     * @deprecated use {@link #FEATURE_VR_MODE_HIGH_PERFORMANCE} instead.
     */
    @Deprecated
    @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 extra CDD requirements
     * to provide a high-quality VR experience.  In general, devices declaring this feature will
     * additionally:
     * <ul>
     *   <li>Deliver 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 for VR
     *   applications that have called
     *   {@link android.view.Window#setSustainedPerformanceMode}.</li>
     *   <li>Implement {@link #FEATURE_HIFI_SENSORS} and have a low sensor latency.</li>
     *   <li>Include optimizations to lower display persistence while running VR applications.</li>
     *   <li>Implement an optimized render path to minimize latency to draw to the device's main
     *   display.</li>
     *   <li>Include the following EGL extensions: EGL_ANDROID_create_native_client_buffer,
     *   EGL_ANDROID_front_buffer_auto_refresh, EGL_EXT_protected_content,
     *   EGL_KHR_mutable_render_buffer, EGL_KHR_reusable_sync, and EGL_KHR_wait_sync.</li>
     *   <li>Provide at least one CPU core that is reserved for use solely by the top, foreground
     *   VR application process for critical render threads while such an application is
     *   running.</li>
     * </ul>
     * The device implements an optimized mode for virtual reality (VR) applications that handles
     * stereoscopic rendering of notifications, disables most monocular system UI components
     * while a VR application has user focus and meets extra CDD requirements to provide a
     * high-quality VR experience.
     * Devices declaring this feature must include an application implementing a
     * {@link android.service.vr.VrListenerService} that can be targeted by VR applications via
     * {@link android.app.Activity#setVrModeEnabled}.
     * and must meet CDD requirements to provide a high-quality VR experience.
     */
    @SdkConstant(SdkConstantType.FEATURE)
    public static final String FEATURE_VR_MODE_HIGH_PERFORMANCE
+4 −7
Original line number Diff line number Diff line
@@ -13674,7 +13674,8 @@ public class ActivityManagerService extends IActivityManager.Stub
     * not.
     */
    private void enforceSystemHasVrFeature() {
        if (!mContext.getPackageManager().hasSystemFeature(PackageManager.FEATURE_VR_MODE)) {
        if (!mContext.getPackageManager().hasSystemFeature(
                PackageManager.FEATURE_VR_MODE_HIGH_PERFORMANCE)) {
            throw new UnsupportedOperationException("VR mode not supported on this device!");
        }
    }
@@ -13733,9 +13734,7 @@ public class ActivityManagerService extends IActivityManager.Stub
    @Override
    public int setVrMode(IBinder token, boolean enabled, ComponentName packageName) {
        if (!mContext.getPackageManager().hasSystemFeature(PackageManager.FEATURE_VR_MODE)) {
            throw new UnsupportedOperationException("VR mode not supported on this device!");
        }
        enforceSystemHasVrFeature();
        final VrManagerInternal vrService = LocalServices.getService(VrManagerInternal.class);
@@ -13767,9 +13766,7 @@ public class ActivityManagerService extends IActivityManager.Stub
    @Override
    public boolean isVrModePackageEnabled(ComponentName packageName) {
        if (!mContext.getPackageManager().hasSystemFeature(PackageManager.FEATURE_VR_MODE)) {
            throw new UnsupportedOperationException("VR mode not supported on this device!");
        }
        enforceSystemHasVrFeature();
        final VrManagerInternal vrService = LocalServices.getService(VrManagerInternal.class);