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

Commit c6f9c85f authored by Craig Donner's avatar Craig Donner
Browse files

Deprecate android.software.vr.mode

Bug: 71365436
Test: Build
Change-Id: I4e371dfea1823787e2e175206b34c25d872bd411
parent a30e47e2
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -11156,7 +11156,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
@@ -13683,7 +13683,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!");
        }
    }
@@ -13742,9 +13743,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);
@@ -13776,9 +13775,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);