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

Commit f3877c3a authored by Vladimir Komsiyski's avatar Vladimir Komsiyski
Browse files

Clean up VDM flags launched in Android 15.

 - dynamic_policy
 - cross_device_clipboard
 - persistent_device_id_api
 - virtual_stylus
 - device_aware_record_audio_permission (not used as API flag)

None of these have ever been used with @RequiresFlagsDisabled
in CTS, no no CPs are needed.

#codehealth

Bug: 359515249
Bug: 379646558
Fix: 299275907
Test: presubmit
Flag: EXEMPT cleanup
Change-Id: I1fef0873393653bce84f868efa53c33af73339fb
parent 70be0434
Loading
Loading
Loading
Loading
+16 −16
Original line number Diff line number Diff line
@@ -3405,12 +3405,12 @@ package android.companion.virtual {
  public final class VirtualDeviceManager {
    method @NonNull @RequiresPermission(android.Manifest.permission.CREATE_VIRTUAL_DEVICE) public android.companion.virtual.VirtualDeviceManager.VirtualDevice createVirtualDevice(int, @NonNull android.companion.virtual.VirtualDeviceParams);
    method @FlaggedApi("android.companion.virtual.flags.persistent_device_id_api") @NonNull public java.util.Set<java.lang.String> getAllPersistentDeviceIds();
    method @FlaggedApi("android.companion.virtual.flags.persistent_device_id_api") @Nullable public CharSequence getDisplayNameForPersistentDeviceId(@NonNull String);
    method @NonNull public java.util.Set<java.lang.String> getAllPersistentDeviceIds();
    method @Nullable public CharSequence getDisplayNameForPersistentDeviceId(@NonNull String);
    field public static final int LAUNCH_FAILURE_NO_ACTIVITY = 2; // 0x2
    field public static final int LAUNCH_FAILURE_PENDING_INTENT_CANCELED = 1; // 0x1
    field public static final int LAUNCH_SUCCESS = 0; // 0x0
    field @FlaggedApi("android.companion.virtual.flags.persistent_device_id_api") public static final String PERSISTENT_DEVICE_ID_DEFAULT = "default:0";
    field public static final String PERSISTENT_DEVICE_ID_DEFAULT = "default:0";
  }
  public static interface VirtualDeviceManager.ActivityListener {
@@ -3432,7 +3432,7 @@ package android.companion.virtual {
  public static class VirtualDeviceManager.VirtualDevice implements java.lang.AutoCloseable {
    method public void addActivityListener(@NonNull java.util.concurrent.Executor, @NonNull android.companion.virtual.VirtualDeviceManager.ActivityListener);
    method @FlaggedApi("android.companion.virtual.flags.dynamic_policy") public void addActivityPolicyExemption(@NonNull android.content.ComponentName);
    method public void addActivityPolicyExemption(@NonNull android.content.ComponentName);
    method @FlaggedApi("android.companion.virtualdevice.flags.activity_control_api") public void addActivityPolicyExemption(@NonNull android.companion.virtual.ActivityPolicyExemption);
    method public void addSoundEffectListener(@NonNull java.util.concurrent.Executor, @NonNull android.companion.virtual.VirtualDeviceManager.SoundEffectListener);
    method public void close();
@@ -3448,7 +3448,7 @@ package android.companion.virtual {
    method @Deprecated @NonNull public android.hardware.input.VirtualMouse createVirtualMouse(@NonNull android.hardware.display.VirtualDisplay, @NonNull String, int, int);
    method @NonNull public android.hardware.input.VirtualNavigationTouchpad createVirtualNavigationTouchpad(@NonNull android.hardware.input.VirtualNavigationTouchpadConfig);
    method @FlaggedApi("android.companion.virtualdevice.flags.virtual_rotary") @NonNull public android.hardware.input.VirtualRotaryEncoder createVirtualRotaryEncoder(@NonNull android.hardware.input.VirtualRotaryEncoderConfig);
    method @FlaggedApi("android.companion.virtual.flags.virtual_stylus") @NonNull public android.hardware.input.VirtualStylus createVirtualStylus(@NonNull android.hardware.input.VirtualStylusConfig);
    method @NonNull public android.hardware.input.VirtualStylus createVirtualStylus(@NonNull android.hardware.input.VirtualStylusConfig);
    method @NonNull public android.hardware.input.VirtualTouchscreen createVirtualTouchscreen(@NonNull android.hardware.input.VirtualTouchscreenConfig);
    method @Deprecated @NonNull public android.hardware.input.VirtualTouchscreen createVirtualTouchscreen(@NonNull android.hardware.display.VirtualDisplay, @NonNull String, int, int);
    method public int getDeviceId();
@@ -3458,10 +3458,10 @@ package android.companion.virtual {
    method public void launchPendingIntent(int, @NonNull android.app.PendingIntent, @NonNull java.util.concurrent.Executor, @NonNull java.util.function.IntConsumer);
    method public void registerIntentInterceptor(@NonNull android.content.IntentFilter, @NonNull java.util.concurrent.Executor, @NonNull android.companion.virtual.VirtualDeviceManager.IntentInterceptorCallback);
    method public void removeActivityListener(@NonNull android.companion.virtual.VirtualDeviceManager.ActivityListener);
    method @FlaggedApi("android.companion.virtual.flags.dynamic_policy") public void removeActivityPolicyExemption(@NonNull android.content.ComponentName);
    method public void removeActivityPolicyExemption(@NonNull android.content.ComponentName);
    method @FlaggedApi("android.companion.virtualdevice.flags.activity_control_api") public void removeActivityPolicyExemption(@NonNull android.companion.virtual.ActivityPolicyExemption);
    method public void removeSoundEffectListener(@NonNull android.companion.virtual.VirtualDeviceManager.SoundEffectListener);
    method @FlaggedApi("android.companion.virtual.flags.dynamic_policy") public void setDevicePolicy(int, int);
    method public void setDevicePolicy(int, int);
    method @FlaggedApi("android.companion.virtualdevice.flags.activity_control_api") public void setDevicePolicy(int, int, int);
    method @FlaggedApi("android.companion.virtual.flags.vdm_custom_ime") public void setDisplayImePolicy(int, int);
    method public void setShowPointerIcon(boolean);
@@ -3498,11 +3498,11 @@ package android.companion.virtual {
    field public static final int LOCK_STATE_DEFAULT = 0; // 0x0
    field @Deprecated public static final int NAVIGATION_POLICY_DEFAULT_ALLOWED = 0; // 0x0
    field @Deprecated public static final int NAVIGATION_POLICY_DEFAULT_BLOCKED = 1; // 0x1
    field @FlaggedApi("android.companion.virtual.flags.dynamic_policy") public static final int POLICY_TYPE_ACTIVITY = 3; // 0x3
    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 @FlaggedApi("android.companion.virtual.flags.cross_device_clipboard") public static final int POLICY_TYPE_CLIPBOARD = 4; // 0x4
    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
    field public static final int POLICY_TYPE_SENSORS = 0; // 0x0
@@ -5970,13 +5970,13 @@ package android.hardware.input {
    method @NonNull public android.hardware.input.VirtualRotaryEncoderScrollEvent.Builder setScrollAmount(@FloatRange(from=-1.0F, to=1.0f) float);
  }
  @FlaggedApi("android.companion.virtual.flags.virtual_stylus") public class VirtualStylus implements java.io.Closeable {
  public class VirtualStylus implements java.io.Closeable {
    method public void close();
    method public void sendButtonEvent(@NonNull android.hardware.input.VirtualStylusButtonEvent);
    method public void sendMotionEvent(@NonNull android.hardware.input.VirtualStylusMotionEvent);
  }
  @FlaggedApi("android.companion.virtual.flags.virtual_stylus") public final class VirtualStylusButtonEvent implements android.os.Parcelable {
  public final class VirtualStylusButtonEvent implements android.os.Parcelable {
    method public int describeContents();
    method public int getAction();
    method public int getButtonCode();
@@ -5989,7 +5989,7 @@ package android.hardware.input {
    field @NonNull public static final android.os.Parcelable.Creator<android.hardware.input.VirtualStylusButtonEvent> CREATOR;
  }
  @FlaggedApi("android.companion.virtual.flags.virtual_stylus") public static final class VirtualStylusButtonEvent.Builder {
  public static final class VirtualStylusButtonEvent.Builder {
    ctor public VirtualStylusButtonEvent.Builder();
    method @NonNull public android.hardware.input.VirtualStylusButtonEvent build();
    method @NonNull public android.hardware.input.VirtualStylusButtonEvent.Builder setAction(int);
@@ -5997,7 +5997,7 @@ package android.hardware.input {
    method @NonNull public android.hardware.input.VirtualStylusButtonEvent.Builder setEventTimeNanos(long);
  }
  @FlaggedApi("android.companion.virtual.flags.virtual_stylus") public final class VirtualStylusConfig extends android.hardware.input.VirtualInputDeviceConfig implements android.os.Parcelable {
  public final class VirtualStylusConfig extends android.hardware.input.VirtualInputDeviceConfig implements android.os.Parcelable {
    method public int describeContents();
    method public int getHeight();
    method public int getWidth();
@@ -6005,12 +6005,12 @@ package android.hardware.input {
    field @NonNull public static final android.os.Parcelable.Creator<android.hardware.input.VirtualStylusConfig> CREATOR;
  }
  @FlaggedApi("android.companion.virtual.flags.virtual_stylus") public static final class VirtualStylusConfig.Builder extends android.hardware.input.VirtualInputDeviceConfig.Builder<android.hardware.input.VirtualStylusConfig.Builder> {
  public static final class VirtualStylusConfig.Builder extends android.hardware.input.VirtualInputDeviceConfig.Builder<android.hardware.input.VirtualStylusConfig.Builder> {
    ctor public VirtualStylusConfig.Builder(@IntRange(from=1) int, @IntRange(from=1) int);
    method @NonNull public android.hardware.input.VirtualStylusConfig build();
  }
  @FlaggedApi("android.companion.virtual.flags.virtual_stylus") public final class VirtualStylusMotionEvent implements android.os.Parcelable {
  public final class VirtualStylusMotionEvent implements android.os.Parcelable {
    method public int describeContents();
    method public int getAction();
    method public long getEventTimeNanos();
@@ -6029,7 +6029,7 @@ package android.hardware.input {
    field public static final int TOOL_TYPE_STYLUS = 2; // 0x2
  }
  @FlaggedApi("android.companion.virtual.flags.virtual_stylus") public static final class VirtualStylusMotionEvent.Builder {
  public static final class VirtualStylusMotionEvent.Builder {
    ctor public VirtualStylusMotionEvent.Builder();
    method @NonNull public android.hardware.input.VirtualStylusMotionEvent build();
    method @NonNull public android.hardware.input.VirtualStylusMotionEvent.Builder setAction(int);
+6 −9
Original line number Diff line number Diff line
@@ -32,7 +32,6 @@ import android.companion.virtual.audio.VirtualAudioDevice;
import android.companion.virtual.camera.VirtualCamera;
import android.companion.virtual.camera.VirtualCameraConfig;
import android.companion.virtual.sensor.VirtualSensor;
import android.companion.virtualdevice.flags.Flags;
import android.content.ComponentName;
import android.content.Context;
import android.content.Intent;
@@ -479,14 +478,12 @@ public class VirtualDeviceInternal {
            @Nullable VirtualAudioDevice.AudioConfigurationChangeCallback callback) {
        if (mVirtualAudioDevice == null) {
            try {
                Context context = mContext;
                if (Flags.deviceAwareRecordAudioPermission()) {
                    // When using a default policy for audio device-aware RECORD_AUDIO permission
                // When using a default policy for audio, the device-aware RECORD_AUDIO permission
                // should not take effect, thus register policies with the default context.
                    if (mVirtualDevice.getDevicePolicy(POLICY_TYPE_AUDIO) == DEVICE_POLICY_CUSTOM) {
                        context = mContext.createDeviceContext(getDeviceId());
                    }
                }
                final Context context =
                        mVirtualDevice.getDevicePolicy(POLICY_TYPE_AUDIO) == DEVICE_POLICY_CUSTOM
                                ? mContext.createDeviceContext(getDeviceId())
                                : mContext;
                mVirtualAudioDevice = new VirtualAudioDevice(context, mVirtualDevice, display,
                        executor, callback, () -> mVirtualAudioDevice = null);
            } catch (RemoteException e) {
+1 −9
Original line number Diff line number Diff line
@@ -170,7 +170,6 @@ public final class VirtualDeviceManager {
     * @hide
     */
    @SystemApi
    @FlaggedApi(Flags.FLAG_PERSISTENT_DEVICE_ID_API)
    public static final String PERSISTENT_DEVICE_ID_DEFAULT =
            "default:" + Context.DEVICE_ID_DEFAULT;

@@ -393,7 +392,6 @@ public final class VirtualDeviceManager {
     * @hide
     */
    // TODO(b/315481938): Link @see VirtualDevice#getPersistentDeviceId()
    @FlaggedApi(Flags.FLAG_PERSISTENT_DEVICE_ID_API)
    @SystemApi
    @Nullable
    public CharSequence getDisplayNameForPersistentDeviceId(@NonNull String persistentDeviceId) {
@@ -416,7 +414,6 @@ public final class VirtualDeviceManager {
     * @hide
     */
    // TODO(b/315481938): Link @see VirtualDevice#getPersistentDeviceId()
    @FlaggedApi(Flags.FLAG_PERSISTENT_DEVICE_ID_API)
    @SystemApi
    @NonNull
    public Set<String> getAllPersistentDeviceIds() {
@@ -781,7 +778,6 @@ public final class VirtualDeviceManager {
         * @see VirtualDeviceParams#POLICY_TYPE_RECENTS
         * @see VirtualDeviceParams#POLICY_TYPE_ACTIVITY
         */
        @FlaggedApi(Flags.FLAG_DYNAMIC_POLICY)
        public void setDevicePolicy(@VirtualDeviceParams.DynamicPolicyType int policyType,
                @VirtualDeviceParams.DevicePolicy int devicePolicy) {
            mVirtualDeviceInternal.setDevicePolicy(policyType, devicePolicy);
@@ -803,7 +799,6 @@ public final class VirtualDeviceManager {
         * @see #removeActivityPolicyExemption(ComponentName)
         * @see #setDevicePolicy
         */
        @FlaggedApi(Flags.FLAG_DYNAMIC_POLICY)
        public void addActivityPolicyExemption(@NonNull ComponentName componentName) {
            addActivityPolicyExemption(new ActivityPolicyExemption.Builder()
                    .setComponentName(componentName)
@@ -826,7 +821,6 @@ public final class VirtualDeviceManager {
         * @see #addActivityPolicyExemption(ComponentName)
         * @see #setDevicePolicy
         */
        @FlaggedApi(Flags.FLAG_DYNAMIC_POLICY)
        public void removeActivityPolicyExemption(@NonNull ComponentName componentName) {
            removeActivityPolicyExemption(new ActivityPolicyExemption.Builder()
                    .setComponentName(componentName)
@@ -1038,9 +1032,7 @@ public final class VirtualDeviceManager {
         * @param config the touchscreen configurations for the virtual stylus.
         */
        @NonNull
        @FlaggedApi(Flags.FLAG_VIRTUAL_STYLUS)
        public VirtualStylus createVirtualStylus(
                @NonNull VirtualStylusConfig config) {
        public VirtualStylus createVirtualStylus(@NonNull VirtualStylusConfig config) {
            return mVirtualDeviceInternal.createVirtualStylus(config);
        }

+25 −33
Original line number Diff line number Diff line
@@ -248,7 +248,6 @@ public final class VirtualDeviceParams implements Parcelable {
     */
    // TODO(b/333443509): Update the documentation of custom policy and link to the new policy
    // POLICY_TYPE_BLOCKED_ACTIVITY
    @FlaggedApi(Flags.FLAG_DYNAMIC_POLICY)
    public static final int POLICY_TYPE_ACTIVITY = 3;

    /**
@@ -264,7 +263,6 @@ public final class VirtualDeviceParams implements Parcelable {
     *
     * @see android.hardware.display.DisplayManager#VIRTUAL_DISPLAY_FLAG_TRUSTED
     */
    @FlaggedApi(Flags.FLAG_CROSS_DEVICE_CLIPBOARD)
    public static final int POLICY_TYPE_CLIPBOARD = 4;

    /**
@@ -1282,7 +1280,6 @@ public final class VirtualDeviceParams implements Parcelable {
                        mVirtualSensorDirectChannelCallback);
            }

            if (Flags.dynamicPolicy()) {
            switch (mDevicePolicies.get(POLICY_TYPE_ACTIVITY, -1)) {
                case DEVICE_POLICY_DEFAULT:
                    if (mDefaultActivityPolicyConfigured
@@ -1309,7 +1306,6 @@ public final class VirtualDeviceParams implements Parcelable {
                    }
                    break;
            }
            }

            if (mDimDuration.compareTo(mScreenOffTimeout) > 0) {
                throw new IllegalArgumentException(
@@ -1319,10 +1315,6 @@ public final class VirtualDeviceParams implements Parcelable {
                mScreenOffTimeout = INFINITE_TIMEOUT;
            }

            if (!Flags.crossDeviceClipboard()) {
                mDevicePolicies.delete(POLICY_TYPE_CLIPBOARD);
            }

            if (!Flags.virtualCamera()) {
                mDevicePolicies.delete(POLICY_TYPE_CAMERA);
            }
+0 −8
Original line number Diff line number Diff line
@@ -17,14 +17,6 @@ flag {
     bug: "305170199"
}

flag {
     namespace: "virtual_devices"
     name: "device_aware_record_audio_permission"
     description: "Enable device-aware RECORD_AUDIO permission"
     bug: "291737188"
     is_fixed_read_only: true
}

flag {
     namespace: "virtual_devices"
     name: "media_projection_keyguard_restrictions"
Loading