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

Commit 72201ef5 authored by Vladimir Komsiyski's avatar Vladimir Komsiyski
Browse files

Clean up virtual camera flags launched in Android 15

 - virtual_camera
 - virtual_camera_service_discovery
 - camera_device_awareness

#codehealth

Bug: 291733717
Bug: 379646558
Test: presubmit
Flag: EXEMPT cleanup
Change-Id: Ib2076c16818ab606aa4a8aec6403a836d4a418bb
parent 8ee3a094
Loading
Loading
Loading
Loading
+7 −7
Original line number Diff line number Diff line
@@ -3437,7 +3437,7 @@ package android.companion.virtual {
    method public void close();
    method @NonNull public android.content.Context createContext();
    method @NonNull public android.companion.virtual.audio.VirtualAudioDevice createVirtualAudioDevice(@NonNull android.hardware.display.VirtualDisplay, @Nullable java.util.concurrent.Executor, @Nullable android.companion.virtual.audio.VirtualAudioDevice.AudioConfigurationChangeCallback);
    method @FlaggedApi("android.companion.virtual.flags.virtual_camera") @NonNull public android.companion.virtual.camera.VirtualCamera createVirtualCamera(@NonNull android.companion.virtual.camera.VirtualCameraConfig);
    method @NonNull public android.companion.virtual.camera.VirtualCamera createVirtualCamera(@NonNull android.companion.virtual.camera.VirtualCameraConfig);
    method @Deprecated @Nullable public android.hardware.display.VirtualDisplay createVirtualDisplay(@IntRange(from=1) int, @IntRange(from=1) int, @IntRange(from=1) int, @Nullable android.view.Surface, int, @Nullable java.util.concurrent.Executor, @Nullable android.hardware.display.VirtualDisplay.Callback);
    method @Nullable public android.hardware.display.VirtualDisplay createVirtualDisplay(@NonNull android.hardware.display.VirtualDisplayConfig, @Nullable java.util.concurrent.Executor, @Nullable android.hardware.display.VirtualDisplay.Callback);
    method @NonNull public android.hardware.input.VirtualDpad createVirtualDpad(@NonNull android.hardware.input.VirtualDpadConfig);
@@ -3500,7 +3500,7 @@ package android.companion.virtual {
    field public static final int POLICY_TYPE_ACTIVITY = 3; // 0x3
    field public static final int POLICY_TYPE_AUDIO = 1; // 0x1
    field @FlaggedApi("android.companion.virtualdevice.flags.activity_control_api") public static final int POLICY_TYPE_BLOCKED_ACTIVITY = 6; // 0x6
    field @FlaggedApi("android.companion.virtual.flags.virtual_camera") public static final int POLICY_TYPE_CAMERA = 5; // 0x5
    field public static final int POLICY_TYPE_CAMERA = 5; // 0x5
    field public static final int POLICY_TYPE_CLIPBOARD = 4; // 0x4
    field @FlaggedApi("android.companion.virtualdevice.flags.default_device_camera_access_policy") public static final int POLICY_TYPE_DEFAULT_DEVICE_CAMERA_ACCESS = 7; // 0x7
    field public static final int POLICY_TYPE_RECENTS = 2; // 0x2
@@ -3578,18 +3578,18 @@ package android.companion.virtual.audio {
package android.companion.virtual.camera {
  @FlaggedApi("android.companion.virtual.flags.virtual_camera") public final class VirtualCamera implements java.io.Closeable {
  public final class VirtualCamera implements java.io.Closeable {
    method public void close();
    method @NonNull public android.companion.virtual.camera.VirtualCameraConfig getConfig();
  }
  @FlaggedApi("android.companion.virtual.flags.virtual_camera") public interface VirtualCameraCallback {
  public interface VirtualCameraCallback {
    method public default void onProcessCaptureRequest(int, long);
    method public void onStreamClosed(int);
    method public void onStreamConfigured(int, @NonNull android.view.Surface, @IntRange(from=1) int, @IntRange(from=1) int, int);
  }
  @FlaggedApi("android.companion.virtual.flags.virtual_camera") public final class VirtualCameraConfig implements android.os.Parcelable {
  public final class VirtualCameraConfig implements android.os.Parcelable {
    method public int describeContents();
    method public int getLensFacing();
    method @NonNull public String getName();
@@ -3603,7 +3603,7 @@ package android.companion.virtual.camera {
    field public static final int SENSOR_ORIENTATION_90 = 90; // 0x5a
  }
  @FlaggedApi("android.companion.virtual.flags.virtual_camera") public static final class VirtualCameraConfig.Builder {
  public static final class VirtualCameraConfig.Builder {
    ctor public VirtualCameraConfig.Builder(@NonNull String);
    method @NonNull public android.companion.virtual.camera.VirtualCameraConfig.Builder addStreamConfig(@IntRange(from=1) int, @IntRange(from=1) int, int, @IntRange(from=1) int);
    method @NonNull public android.companion.virtual.camera.VirtualCameraConfig build();
@@ -3612,7 +3612,7 @@ package android.companion.virtual.camera {
    method @NonNull public android.companion.virtual.camera.VirtualCameraConfig.Builder setVirtualCameraCallback(@NonNull java.util.concurrent.Executor, @NonNull android.companion.virtual.camera.VirtualCameraCallback);
  }
  @FlaggedApi("android.companion.virtual.flags.virtual_camera") public final class VirtualCameraStreamConfig implements android.os.Parcelable {
  public final class VirtualCameraStreamConfig implements android.os.Parcelable {
    method public int describeContents();
    method public int getFormat();
    method @IntRange(from=1) public int getHeight();
+1 −1
Original line number Diff line number Diff line
@@ -934,7 +934,7 @@ package android.companion.virtual {

package android.companion.virtual.camera {

  @FlaggedApi("android.companion.virtual.flags.virtual_camera") public final class VirtualCamera implements java.io.Closeable {
  public final class VirtualCamera implements java.io.Closeable {
    method @NonNull public String getId();
  }

+11 −16
Original line number Diff line number Diff line
@@ -37,8 +37,8 @@ import android.companion.virtual.audio.VirtualAudioDevice;
import android.companion.virtual.audio.VirtualAudioDevice.AudioConfigurationChangeCallback;
import android.companion.virtual.camera.VirtualCamera;
import android.companion.virtual.camera.VirtualCameraConfig;
import android.companion.virtual.flags.Flags;
import android.companion.virtual.sensor.VirtualSensor;
import android.companion.virtualdevice.flags.Flags;
import android.content.ComponentName;
import android.content.Context;
import android.content.Intent;
@@ -624,7 +624,7 @@ public final class VirtualDeviceManager {
         * @see DisplayManager#VIRTUAL_DISPLAY_FLAG_TRUSTED
         * @see DisplayManager#VIRTUAL_DISPLAY_FLAG_OWN_CONTENT_ONLY
         */
        @FlaggedApi(android.companion.virtualdevice.flags.Flags.FLAG_DEVICE_AWARE_DISPLAY_POWER)
        @FlaggedApi(Flags.FLAG_DEVICE_AWARE_DISPLAY_POWER)
        public void goToSleep() {
            mVirtualDeviceInternal.goToSleep();
        }
@@ -642,7 +642,7 @@ public final class VirtualDeviceManager {
         * @see DisplayManager#VIRTUAL_DISPLAY_FLAG_TRUSTED
         * @see DisplayManager#VIRTUAL_DISPLAY_FLAG_OWN_CONTENT_ONLY
         */
        @FlaggedApi(android.companion.virtualdevice.flags.Flags.FLAG_DEVICE_AWARE_DISPLAY_POWER)
        @FlaggedApi(Flags.FLAG_DEVICE_AWARE_DISPLAY_POWER)
        public void wakeUp() {
            mVirtualDeviceInternal.wakeUp();
        }
@@ -838,7 +838,7 @@ public final class VirtualDeviceManager {
         * @see #removeActivityPolicyExemption(ActivityPolicyExemption)
         * @see #setDevicePolicy
         */
        @FlaggedApi(android.companion.virtualdevice.flags.Flags.FLAG_ACTIVITY_CONTROL_API)
        @FlaggedApi(Flags.FLAG_ACTIVITY_CONTROL_API)
        public void addActivityPolicyExemption(@NonNull ActivityPolicyExemption exemption) {
            mVirtualDeviceInternal.addActivityPolicyExemption(Objects.requireNonNull(exemption));
        }
@@ -853,7 +853,7 @@ public final class VirtualDeviceManager {
         * @see #addActivityPolicyExemption(ActivityPolicyExemption)
         * @see #setDevicePolicy
         */
        @FlaggedApi(android.companion.virtualdevice.flags.Flags.FLAG_ACTIVITY_CONTROL_API)
        @FlaggedApi(Flags.FLAG_ACTIVITY_CONTROL_API)
        public void removeActivityPolicyExemption(@NonNull ActivityPolicyExemption exemption) {
            mVirtualDeviceInternal.removeActivityPolicyExemption(Objects.requireNonNull(exemption));
        }
@@ -875,7 +875,7 @@ public final class VirtualDeviceManager {
         * @see VirtualDeviceParams#POLICY_TYPE_RECENTS
         * @see VirtualDeviceParams#POLICY_TYPE_ACTIVITY
         */
        @FlaggedApi(android.companion.virtualdevice.flags.Flags.FLAG_ACTIVITY_CONTROL_API)
        @FlaggedApi(Flags.FLAG_ACTIVITY_CONTROL_API)
        public void setDevicePolicy(
                @VirtualDeviceParams.DynamicDisplayPolicyType int policyType,
                @VirtualDeviceParams.DevicePolicy int devicePolicy,
@@ -1037,10 +1037,10 @@ public final class VirtualDeviceManager {
         * @see android.view.InputDevice#SOURCE_ROTARY_ENCODER
         */
        @NonNull
        @FlaggedApi(android.companion.virtualdevice.flags.Flags.FLAG_VIRTUAL_ROTARY)
        @FlaggedApi(Flags.FLAG_VIRTUAL_ROTARY)
        public VirtualRotaryEncoder createVirtualRotaryEncoder(
                @NonNull VirtualRotaryEncoderConfig config) {
            if (!android.companion.virtualdevice.flags.Flags.virtualRotary()) {
            if (!Flags.virtualRotary()) {
                throw new UnsupportedOperationException("Virtual rotary support not enabled");
            }
            return mVirtualDeviceInternal.createVirtualRotaryEncoder(config);
@@ -1084,12 +1084,7 @@ public final class VirtualDeviceManager {
         * @see VirtualDeviceParams#POLICY_TYPE_CAMERA
         */
        @NonNull
        @FlaggedApi(Flags.FLAG_VIRTUAL_CAMERA)
        public VirtualCamera createVirtualCamera(@NonNull VirtualCameraConfig config) {
            if (!Flags.virtualCamera()) {
                throw new UnsupportedOperationException(
                        "Flag is not enabled: %s".formatted(Flags.FLAG_VIRTUAL_CAMERA));
            }
            return mVirtualDeviceInternal.createVirtualCamera(Objects.requireNonNull(config));
        }

@@ -1252,7 +1247,7 @@ public final class VirtualDeviceManager {
         * @see VirtualDeviceParams#POLICY_TYPE_ACTIVITY
         * @see VirtualDevice#addActivityPolicyExemption(ActivityPolicyExemption)
         */
        @FlaggedApi(android.companion.virtualdevice.flags.Flags.FLAG_ACTIVITY_CONTROL_API)
        @FlaggedApi(Flags.FLAG_ACTIVITY_CONTROL_API)
        default void onActivityLaunchBlocked(int displayId, @NonNull ComponentName componentName,
                @NonNull UserHandle user, @Nullable IntentSender intentSender) {}

@@ -1268,7 +1263,7 @@ public final class VirtualDeviceManager {
         * @see Display#FLAG_SECURE
         * @see WindowManager.LayoutParams#FLAG_SECURE
         */
        @FlaggedApi(android.companion.virtualdevice.flags.Flags.FLAG_ACTIVITY_CONTROL_API)
        @FlaggedApi(Flags.FLAG_ACTIVITY_CONTROL_API)
        default void onSecureWindowShown(int displayId, @NonNull ComponentName componentName,
                @NonNull UserHandle user) {}

@@ -1284,7 +1279,7 @@ public final class VirtualDeviceManager {
         * @see Display#FLAG_SECURE
         * @see WindowManager.LayoutParams#FLAG_SECURE
         */
        @FlaggedApi(android.companion.virtualdevice.flags.Flags.FLAG_ACTIVITY_CONTROL_API)
        @FlaggedApi(Flags.FLAG_ACTIVITY_CONTROL_API)
        default void onSecureWindowHidden(int displayId) {}
    }

+9 −15
Original line number Diff line number Diff line
@@ -29,12 +29,12 @@ import android.annotation.Nullable;
import android.annotation.RequiresPermission;
import android.annotation.SuppressLint;
import android.annotation.SystemApi;
import android.companion.virtual.flags.Flags;
import android.companion.virtual.sensor.IVirtualSensorCallback;
import android.companion.virtual.sensor.VirtualSensor;
import android.companion.virtual.sensor.VirtualSensorCallback;
import android.companion.virtual.sensor.VirtualSensorConfig;
import android.companion.virtual.sensor.VirtualSensorDirectChannelCallback;
import android.companion.virtualdevice.flags.Flags;
import android.content.ComponentName;
import android.content.Context;
import android.hardware.display.VirtualDisplayConfig;
@@ -279,7 +279,6 @@ public final class VirtualDeviceParams implements Parcelable {
     *
     * @see Context#getDeviceId
     */
    @FlaggedApi(Flags.FLAG_VIRTUAL_CAMERA)
    public static final int POLICY_TYPE_CAMERA = 5;

    /**
@@ -296,7 +295,7 @@ public final class VirtualDeviceParams implements Parcelable {
     * </ul>
     */
    // TODO(b/333443509): Link to POLICY_TYPE_ACTIVITY
    @FlaggedApi(android.companion.virtualdevice.flags.Flags.FLAG_ACTIVITY_CONTROL_API)
    @FlaggedApi(Flags.FLAG_ACTIVITY_CONTROL_API)
    public static final int POLICY_TYPE_BLOCKED_ACTIVITY = 6;

    /**
@@ -310,8 +309,7 @@ public final class VirtualDeviceParams implements Parcelable {
     *
     * @see Context#DEVICE_ID_DEFAULT
     */
    @FlaggedApi(android.companion.virtualdevice.flags.Flags
            .FLAG_DEFAULT_DEVICE_CAMERA_ACCESS_POLICY)
    @FlaggedApi(Flags.FLAG_DEFAULT_DEVICE_CAMERA_ACCESS_POLICY)
    public static final int POLICY_TYPE_DEFAULT_DEVICE_CAMERA_ACCESS = 7;

    private final int mLockState;
@@ -407,7 +405,7 @@ public final class VirtualDeviceParams implements Parcelable {
     *
     * @see Builder#setDimDuration(Duration)
     */
    @FlaggedApi(android.companion.virtualdevice.flags.Flags.FLAG_DEVICE_AWARE_DISPLAY_POWER)
    @FlaggedApi(Flags.FLAG_DEVICE_AWARE_DISPLAY_POWER)
    public @NonNull Duration getDimDuration() {
        return Duration.ofMillis(mDimDuration);
    }
@@ -417,7 +415,7 @@ public final class VirtualDeviceParams implements Parcelable {
     *
     * @see Builder#setDimDuration(Duration)
     */
    @FlaggedApi(android.companion.virtualdevice.flags.Flags.FLAG_DEVICE_AWARE_DISPLAY_POWER)
    @FlaggedApi(Flags.FLAG_DEVICE_AWARE_DISPLAY_POWER)
    public @NonNull Duration getScreenOffTimeout() {
        return Duration.ofMillis(mScreenOffTimeout);
    }
@@ -876,7 +874,7 @@ public final class VirtualDeviceParams implements Parcelable {
         * @see android.hardware.display.DisplayManager#VIRTUAL_DISPLAY_FLAG_AUTO_MIRROR
         * @see #setScreenOffTimeout
         */
        @FlaggedApi(android.companion.virtualdevice.flags.Flags.FLAG_DEVICE_AWARE_DISPLAY_POWER)
        @FlaggedApi(Flags.FLAG_DEVICE_AWARE_DISPLAY_POWER)
        @NonNull
        public Builder setDimDuration(@NonNull Duration dimDuration) {
            if (Objects.requireNonNull(dimDuration).compareTo(Duration.ZERO) < 0) {
@@ -901,7 +899,7 @@ public final class VirtualDeviceParams implements Parcelable {
         * @see #setDimDuration
         * @see VirtualDeviceManager.VirtualDevice#goToSleep()
         */
        @FlaggedApi(android.companion.virtualdevice.flags.Flags.FLAG_DEVICE_AWARE_DISPLAY_POWER)
        @FlaggedApi(Flags.FLAG_DEVICE_AWARE_DISPLAY_POWER)
        @NonNull
        public Builder setScreenOffTimeout(@NonNull Duration screenOffTimeout) {
            if (Objects.requireNonNull(screenOffTimeout).compareTo(Duration.ZERO) < 0) {
@@ -1311,15 +1309,11 @@ public final class VirtualDeviceParams implements Parcelable {
                mScreenOffTimeout = INFINITE_TIMEOUT;
            }

            if (!Flags.virtualCamera()) {
                mDevicePolicies.delete(POLICY_TYPE_CAMERA);
            }

            if (!android.companion.virtualdevice.flags.Flags.defaultDeviceCameraAccessPolicy()) {
            if (!Flags.defaultDeviceCameraAccessPolicy()) {
                mDevicePolicies.delete(POLICY_TYPE_DEFAULT_DEVICE_CAMERA_ACCESS);
            }

            if (!android.companion.virtualdevice.flags.Flags.activityControlApi()) {
            if (!Flags.activityControlApi()) {
                mDevicePolicies.delete(POLICY_TYPE_BLOCKED_ACTIVITY);
            }

+0 −3
Original line number Diff line number Diff line
@@ -16,14 +16,12 @@

package android.companion.virtual.camera;

import android.annotation.FlaggedApi;
import android.annotation.SuppressLint;
import android.annotation.SystemApi;
import android.annotation.TestApi;
import android.companion.virtual.IVirtualDevice;
import android.companion.virtual.VirtualDeviceManager;
import android.companion.virtual.VirtualDeviceParams;
import android.companion.virtual.flags.Flags;
import android.hardware.camera2.CameraDevice;
import android.os.RemoteException;

@@ -51,7 +49,6 @@ import java.util.concurrent.Executor;
 * @hide
 */
@SystemApi
@FlaggedApi(Flags.FLAG_VIRTUAL_CAMERA)
public final class VirtualCamera implements Closeable {

    private final IVirtualDevice mVirtualDevice;
Loading