diff options
13 files changed, 41 insertions, 146 deletions
| diff --git a/core/api/current.txt b/core/api/current.txt index 19f68eb0c787..26c64bd7adbc 100644 --- a/core/api/current.txt +++ b/core/api/current.txt @@ -10249,23 +10249,23 @@ package android.companion.virtual {    public final class VirtualDevice implements android.os.Parcelable {      method public int describeContents();      method public int getDeviceId(); -    method @FlaggedApi("android.companion.virtual.flags.vdm_public_apis") @NonNull public int[] getDisplayIds(); -    method @FlaggedApi("android.companion.virtual.flags.vdm_public_apis") @Nullable public CharSequence getDisplayName(); +    method @NonNull public int[] getDisplayIds(); +    method @Nullable public CharSequence getDisplayName();      method @Nullable public String getName(); -    method @FlaggedApi("android.companion.virtual.flags.vdm_public_apis") @Nullable public String getPersistentDeviceId(); -    method @FlaggedApi("android.companion.virtual.flags.vdm_public_apis") public boolean hasCustomSensorSupport(); +    method @Nullable public String getPersistentDeviceId(); +    method public boolean hasCustomSensorSupport();      method public void writeToParcel(@NonNull android.os.Parcel, int);      field @NonNull public static final android.os.Parcelable.Creator<android.companion.virtual.VirtualDevice> CREATOR;    }    public final class VirtualDeviceManager { -    method @FlaggedApi("android.companion.virtual.flags.vdm_public_apis") @Nullable public android.companion.virtual.VirtualDevice getVirtualDevice(int); +    method @Nullable public android.companion.virtual.VirtualDevice getVirtualDevice(int);      method @NonNull public java.util.List<android.companion.virtual.VirtualDevice> getVirtualDevices(); -    method @FlaggedApi("android.companion.virtual.flags.vdm_public_apis") public void registerVirtualDeviceListener(@NonNull java.util.concurrent.Executor, @NonNull android.companion.virtual.VirtualDeviceManager.VirtualDeviceListener); -    method @FlaggedApi("android.companion.virtual.flags.vdm_public_apis") public void unregisterVirtualDeviceListener(@NonNull android.companion.virtual.VirtualDeviceManager.VirtualDeviceListener); +    method public void registerVirtualDeviceListener(@NonNull java.util.concurrent.Executor, @NonNull android.companion.virtual.VirtualDeviceManager.VirtualDeviceListener); +    method public void unregisterVirtualDeviceListener(@NonNull android.companion.virtual.VirtualDeviceManager.VirtualDeviceListener);    } -  @FlaggedApi("android.companion.virtual.flags.vdm_public_apis") public static interface VirtualDeviceManager.VirtualDeviceListener { +  public static interface VirtualDeviceManager.VirtualDeviceListener {      method public default void onVirtualDeviceClosed(int);      method public default void onVirtualDeviceCreated(int);    } diff --git a/core/api/system-current.txt b/core/api/system-current.txt index 6dedfa4cf535..f44448a8c311 100644 --- a/core/api/system-current.txt +++ b/core/api/system-current.txt @@ -3393,8 +3393,8 @@ package android.companion.virtual {    }    public final class VirtualDevice implements android.os.Parcelable { -    method @FlaggedApi("android.companion.virtual.flags.vdm_public_apis") public boolean hasCustomAudioInputSupport(); -    method @FlaggedApi("android.companion.virtual.flags.vdm_public_apis") public boolean hasCustomCameraSupport(); +    method public boolean hasCustomAudioInputSupport(); +    method public boolean hasCustomCameraSupport();    }    public final class VirtualDeviceManager { @@ -3446,7 +3446,7 @@ package android.companion.virtual {      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(); -    method @FlaggedApi("android.companion.virtual.flags.vdm_public_apis") @Nullable public String getPersistentDeviceId(); +    method @Nullable public String getPersistentDeviceId();      method @NonNull public java.util.List<android.companion.virtual.sensor.VirtualSensor> getVirtualSensorList();      method @FlaggedApi("android.companion.virtualdevice.flags.device_aware_display_power") public void goToSleep();      method public void launchPendingIntent(int, @NonNull android.app.PendingIntent, @NonNull java.util.concurrent.Executor, @NonNull java.util.function.IntConsumer); @@ -5319,7 +5319,7 @@ package android.hardware.display {      method @RequiresPermission(android.Manifest.permission.CONFIGURE_DISPLAY_BRIGHTNESS) public void setBrightnessConfiguration(android.hardware.display.BrightnessConfiguration);      method @RequiresPermission(android.Manifest.permission.CONFIGURE_DISPLAY_BRIGHTNESS) public void setBrightnessConfigurationForDisplay(@NonNull android.hardware.display.BrightnessConfiguration, @NonNull String);      method @Deprecated @RequiresPermission(android.Manifest.permission.CONTROL_DISPLAY_SATURATION) public void setSaturationLevel(float); -    field @FlaggedApi("android.companion.virtual.flags.vdm_public_apis") public static final int VIRTUAL_DISPLAY_FLAG_ROTATES_WITH_CONTENT = 128; // 0x80 +    field public static final int VIRTUAL_DISPLAY_FLAG_ROTATES_WITH_CONTENT = 128; // 0x80      field public static final int VIRTUAL_DISPLAY_FLAG_STEAL_TOP_FOCUS_DISABLED = 65536; // 0x10000      field public static final int VIRTUAL_DISPLAY_FLAG_TRUSTED = 1024; // 0x400    } diff --git a/core/java/android/companion/virtual/VirtualDevice.java b/core/java/android/companion/virtual/VirtualDevice.java index b9e9afea8893..8ef4224975bf 100644 --- a/core/java/android/companion/virtual/VirtualDevice.java +++ b/core/java/android/companion/virtual/VirtualDevice.java @@ -20,11 +20,9 @@ import static android.companion.virtual.VirtualDeviceParams.DEVICE_POLICY_CUSTOM  import static android.companion.virtual.VirtualDeviceParams.POLICY_TYPE_CAMERA;  import static android.companion.virtual.VirtualDeviceParams.POLICY_TYPE_SENSORS; -import android.annotation.FlaggedApi;  import android.annotation.NonNull;  import android.annotation.Nullable;  import android.annotation.SystemApi; -import android.companion.virtual.flags.Flags;  import android.content.Context;  import android.os.Parcel;  import android.os.Parcelable; @@ -34,8 +32,9 @@ import android.os.RemoteException;   * Details of a particular virtual device.   *   * <p>Read-only device representation exposing the properties of an existing virtual device. + * + * @see VirtualDeviceManager#registerVirtualDeviceListener   */ -// TODO(b/310912420): Link to VirtualDeviceManager#registerVirtualDeviceListener from the docs  public final class VirtualDevice implements Parcelable {      private final @NonNull IVirtualDevice mVirtualDevice; @@ -93,8 +92,8 @@ public final class VirtualDevice implements Parcelable {       * per device.       *       * @see Context#createDeviceContext +     * @see #getPersistentDeviceId()       */ -    // TODO(b/310912420): Link to #getPersistentDeviceId from the docs      public int getDeviceId() {          return mId;      } @@ -111,7 +110,6 @@ public final class VirtualDevice implements Parcelable {       * <p class="note">This identifier may not be unique across virtual devices, in case there are       * more than one virtual devices corresponding to the same physical device.       */ -    @FlaggedApi(Flags.FLAG_VDM_PUBLIC_APIS)      public @Nullable String getPersistentDeviceId() {          return mPersistentId;      } @@ -127,7 +125,6 @@ public final class VirtualDevice implements Parcelable {       * Returns the human-readable name of the virtual device, if defined, which is suitable to be       * shown in UI.       */ -    @FlaggedApi(Flags.FLAG_VDM_PUBLIC_APIS)      public @Nullable CharSequence getDisplayName() {          return mDisplayName;      } @@ -138,7 +135,6 @@ public final class VirtualDevice implements Parcelable {       * <p>The actual {@link android.view.Display} objects can be obtained by passing the returned       * IDs to {@link android.hardware.display.DisplayManager#getDisplay(int)}.</p>       */ -    @FlaggedApi(Flags.FLAG_VDM_PUBLIC_APIS)      public @NonNull int[] getDisplayIds() {          try {              return mVirtualDevice.getDisplayIds(); @@ -157,7 +153,6 @@ public final class VirtualDevice implements Parcelable {       * @see Context#getDeviceId()       * @see Context#createDeviceContext(int)       */ -    @FlaggedApi(Flags.FLAG_VDM_PUBLIC_APIS)      public boolean hasCustomSensorSupport() {          try {              return mVirtualDevice.getDevicePolicy(POLICY_TYPE_SENSORS) == DEVICE_POLICY_CUSTOM; @@ -172,7 +167,6 @@ public final class VirtualDevice implements Parcelable {       * @hide       */      @SystemApi -    @FlaggedApi(Flags.FLAG_VDM_PUBLIC_APIS)      public boolean hasCustomAudioInputSupport() {          try {              return mVirtualDevice.hasCustomAudioInputSupport(); @@ -194,7 +188,6 @@ public final class VirtualDevice implements Parcelable {       * @hide       */      @SystemApi -    @FlaggedApi(Flags.FLAG_VDM_PUBLIC_APIS)      public boolean hasCustomCameraSupport() {          try {              return mVirtualDevice.getDevicePolicy(POLICY_TYPE_CAMERA) == DEVICE_POLICY_CUSTOM; diff --git a/core/java/android/companion/virtual/VirtualDeviceManager.java b/core/java/android/companion/virtual/VirtualDeviceManager.java index 91ea673ab6f9..99794d7f49fe 100644 --- a/core/java/android/companion/virtual/VirtualDeviceManager.java +++ b/core/java/android/companion/virtual/VirtualDeviceManager.java @@ -223,10 +223,9 @@ public final class VirtualDeviceManager {       * existing virtual devices.</p>       *       * <p>Note that if a virtual device is closed and becomes invalid, the returned objects will -     * not be updated and may contain stale values.</p> +     * not be updated and may contain stale values. Use a {@link VirtualDeviceListener} for real +     * time updates of the availability  of virtual devices.</p>       */ -    // TODO(b/310912420): Add "Use a VirtualDeviceListener for real time updates of the -    // availability  of virtual devices." in the note paragraph above with a link annotation.      @NonNull      public List<android.companion.virtual.VirtualDevice> getVirtualDevices() {          if (mService == null) { @@ -253,7 +252,6 @@ public final class VirtualDeviceManager {       * @return the virtual device with the requested ID, or {@code null} if no such device exists or       *   it has already been closed.       */ -    @FlaggedApi(Flags.FLAG_VDM_PUBLIC_APIS)      @Nullable      public android.companion.virtual.VirtualDevice getVirtualDevice(int deviceId) {          if (mService == null) { @@ -278,7 +276,6 @@ public final class VirtualDeviceManager {       * @param listener The listener to add.       * @see #unregisterVirtualDeviceListener       */ -    @FlaggedApi(Flags.FLAG_VDM_PUBLIC_APIS)      public void registerVirtualDeviceListener(              @NonNull @CallbackExecutor Executor executor,              @NonNull VirtualDeviceListener listener) { @@ -306,7 +303,6 @@ public final class VirtualDeviceManager {       * @param listener The listener to unregister.       * @see #registerVirtualDeviceListener       */ -    @FlaggedApi(Flags.FLAG_VDM_PUBLIC_APIS)      public void unregisterVirtualDeviceListener(@NonNull VirtualDeviceListener listener) {          if (mService == null) {              Log.w(TAG, "Failed to unregister listener; no virtual device manager service."); @@ -389,9 +385,9 @@ public final class VirtualDeviceManager {       * @return the display name associated with the given persistent device ID, or {@code null} if       *     the persistent ID is invalid or does not correspond to a virtual device.       * +     * @see VirtualDevice#getPersistentDeviceId()       * @hide       */ -    // TODO(b/315481938): Link @see VirtualDevice#getPersistentDeviceId()      @SystemApi      @Nullable      public CharSequence getDisplayNameForPersistentDeviceId(@NonNull String persistentDeviceId) { @@ -411,9 +407,9 @@ public final class VirtualDeviceManager {       * Returns all current persistent device IDs, including the ones for which no virtual device       * exists, as long as one may have existed or can be created.       * +     * @see VirtualDevice#getPersistentDeviceId()       * @hide       */ -    // TODO(b/315481938): Link @see VirtualDevice#getPersistentDeviceId()      @SystemApi      @NonNull      public Set<String> getAllPersistentDeviceIds() { @@ -588,7 +584,6 @@ public final class VirtualDeviceManager {          /**           * Returns the persistent ID of this virtual device.           */ -        @FlaggedApi(Flags.FLAG_VDM_PUBLIC_APIS)          public @Nullable String getPersistentDeviceId() {              return mVirtualDeviceInternal.getPersistentDeviceId();          } @@ -1339,7 +1334,6 @@ public final class VirtualDeviceManager {       *       * @see #registerVirtualDeviceListener       */ -    @FlaggedApi(Flags.FLAG_VDM_PUBLIC_APIS)      public interface VirtualDeviceListener {          /**           * Called whenever a new virtual device has been added to the system. diff --git a/core/java/android/hardware/display/DisplayManager.java b/core/java/android/hardware/display/DisplayManager.java index 6716598f9e4c..0590a06f3f82 100644 --- a/core/java/android/hardware/display/DisplayManager.java +++ b/core/java/android/hardware/display/DisplayManager.java @@ -397,7 +397,6 @@ public final class DisplayManager {       * @see #createVirtualDisplay       * @hide       */ -    @FlaggedApi(android.companion.virtual.flags.Flags.FLAG_VDM_PUBLIC_APIS)      @SystemApi      public static final int VIRTUAL_DISPLAY_FLAG_ROTATES_WITH_CONTENT = 1 << 7; diff --git a/core/java/android/permission/PermissionManager.java b/core/java/android/permission/PermissionManager.java index 343d7527ea98..518820430419 100644 --- a/core/java/android/permission/PermissionManager.java +++ b/core/java/android/permission/PermissionManager.java @@ -2045,7 +2045,7 @@ public final class PermissionManager {          if (deviceId == Context.DEVICE_ID_DEFAULT) {              persistentDeviceId = VirtualDeviceManager.PERSISTENT_DEVICE_ID_DEFAULT; -        } else if (android.companion.virtual.flags.Flags.vdmPublicApis()) { +        } else {              VirtualDeviceManager virtualDeviceManager = mContext.getSystemService(                      VirtualDeviceManager.class);              if (virtualDeviceManager != null) { @@ -2059,9 +2059,6 @@ public final class PermissionManager {                      Slog.e(LOG_TAG, "Cannot find persistent device Id for " + deviceId);                  }              } -        } else { -            Slog.e(LOG_TAG, "vdmPublicApis flag is not enabled when device Id " + deviceId -                    + "is not default.");          }          return persistentDeviceId;      } diff --git a/services/accessibility/java/com/android/server/accessibility/AccessibilityManagerService.java b/services/accessibility/java/com/android/server/accessibility/AccessibilityManagerService.java index 7275881e9661..875b655fe3d2 100644 --- a/services/accessibility/java/com/android/server/accessibility/AccessibilityManagerService.java +++ b/services/accessibility/java/com/android/server/accessibility/AccessibilityManagerService.java @@ -35,8 +35,6 @@ import static android.accessibilityservice.AccessibilityTrace.FLAGS_MAGNIFICATIO  import static android.accessibilityservice.AccessibilityTrace.FLAGS_PACKAGE_BROADCAST_RECEIVER;  import static android.accessibilityservice.AccessibilityTrace.FLAGS_USER_BROADCAST_RECEIVER;  import static android.accessibilityservice.AccessibilityTrace.FLAGS_WINDOW_MANAGER_INTERNAL; -import static android.companion.virtual.VirtualDeviceManager.ACTION_VIRTUAL_DEVICE_REMOVED; -import static android.companion.virtual.VirtualDeviceManager.EXTRA_VIRTUAL_DEVICE_ID;  import static android.content.Context.DEVICE_ID_DEFAULT;  import static android.provider.Settings.Secure.ACCESSIBILITY_BUTTON_MODE_FLOATING_MENU;  import static android.provider.Settings.Secure.ACCESSIBILITY_BUTTON_MODE_GESTURE; @@ -1116,22 +1114,6 @@ public class AccessibilityManagerService extends IAccessibilityManager.Stub          mContext.registerReceiverAsUser(                  receiver, UserHandle.ALL, filter, null, mMainHandler,                  Context.RECEIVER_EXPORTED); - -        if (!android.companion.virtual.flags.Flags.vdmPublicApis()) { -            final BroadcastReceiver virtualDeviceReceiver = new BroadcastReceiver() { -                @Override -                public void onReceive(Context context, Intent intent) { -                    final int deviceId = intent.getIntExtra( -                            EXTRA_VIRTUAL_DEVICE_ID, DEVICE_ID_DEFAULT); -                    mProxyManager.clearConnections(deviceId); -                } -            }; - -            final IntentFilter virtualDeviceFilter = new IntentFilter( -                    ACTION_VIRTUAL_DEVICE_REMOVED); -            mContext.registerReceiver(virtualDeviceReceiver, virtualDeviceFilter, -                    Context.RECEIVER_NOT_EXPORTED); -        }      }      /** diff --git a/services/accessibility/java/com/android/server/accessibility/ProxyManager.java b/services/accessibility/java/com/android/server/accessibility/ProxyManager.java index f8551457d04d..8adee24c7143 100644 --- a/services/accessibility/java/com/android/server/accessibility/ProxyManager.java +++ b/services/accessibility/java/com/android/server/accessibility/ProxyManager.java @@ -217,7 +217,7 @@ public class ProxyManager {      private void registerVirtualDeviceListener() {          VirtualDeviceManager vdm = mContext.getSystemService(VirtualDeviceManager.class); -        if (vdm == null || !android.companion.virtual.flags.Flags.vdmPublicApis()) { +        if (vdm == null) {              return;          }          if (mVirtualDeviceListener == null) { @@ -234,7 +234,7 @@ public class ProxyManager {      private void unregisterVirtualDeviceListener() {          VirtualDeviceManager vdm = mContext.getSystemService(VirtualDeviceManager.class); -        if (vdm == null || !android.companion.virtual.flags.Flags.vdmPublicApis()) { +        if (vdm == null) {              return;          }          vdm.unregisterVirtualDeviceListener(mVirtualDeviceListener); diff --git a/services/companion/java/com/android/server/companion/virtual/VirtualDeviceImpl.java b/services/companion/java/com/android/server/companion/virtual/VirtualDeviceImpl.java index 5edd9d7041ba..f401e6b66093 100644 --- a/services/companion/java/com/android/server/companion/virtual/VirtualDeviceImpl.java +++ b/services/companion/java/com/android/server/companion/virtual/VirtualDeviceImpl.java @@ -482,14 +482,8 @@ final class VirtualDeviceImpl extends IVirtualDevice.Stub          }          mVirtualDeviceLog.logCreated(deviceId, mOwnerUid); -        if (Flags.vdmPublicApis()) { -            mPublicVirtualDeviceObject = new VirtualDevice( -                    this, getDeviceId(), getPersistentDeviceId(), mParams.getName(), -                    getDisplayName()); -        } else { -            mPublicVirtualDeviceObject = new VirtualDevice( -                    this, getDeviceId(), getPersistentDeviceId(), mParams.getName()); -        } +        mPublicVirtualDeviceObject = new VirtualDevice( +                this, getDeviceId(), getPersistentDeviceId(), mParams.getName(), getDisplayName());          mActivityPolicyExemptions = new ArraySet<>(                  mParams.getDevicePolicy(POLICY_TYPE_ACTIVITY) == DEVICE_POLICY_DEFAULT @@ -1357,10 +1351,6 @@ final class VirtualDeviceImpl extends IVirtualDevice.Stub      }      private boolean hasCustomAudioInputSupportInternal() { -        if (!Flags.vdmPublicApis()) { -            return false; -        } -          if (!android.media.audiopolicy.Flags.audioMixTestApi()) {              return false;          } diff --git a/services/companion/java/com/android/server/companion/virtual/VirtualDeviceManagerService.java b/services/companion/java/com/android/server/companion/virtual/VirtualDeviceManagerService.java index a60fa693350c..0b335d318d64 100644 --- a/services/companion/java/com/android/server/companion/virtual/VirtualDeviceManagerService.java +++ b/services/companion/java/com/android/server/companion/virtual/VirtualDeviceManagerService.java @@ -318,16 +318,14 @@ public class VirtualDeviceManagerService extends SystemService {              mVirtualDevices.remove(deviceId);          } -        if (Flags.vdmPublicApis()) { -            mVirtualDeviceListeners.broadcast(listener -> { -                try { -                    listener.onVirtualDeviceClosed(deviceId); -                } catch (RemoteException e) { -                    Slog.i(TAG, "Failed to invoke onVirtualDeviceClosed listener: " -                            + e.getMessage()); -                } -            }); -        } +        mVirtualDeviceListeners.broadcast(listener -> { +            try { +                listener.onVirtualDeviceClosed(deviceId); +            } catch (RemoteException e) { +                Slog.i(TAG, "Failed to invoke onVirtualDeviceClosed listener: " +                        + e.getMessage()); +            } +        });          Intent i = new Intent(VirtualDeviceManager.ACTION_VIRTUAL_DEVICE_REMOVED);          i.putExtra(VirtualDeviceManager.EXTRA_VIRTUAL_DEVICE_ID, deviceId); @@ -498,16 +496,14 @@ public class VirtualDeviceManagerService extends SystemService {                  mVirtualDevices.put(deviceId, virtualDevice);              } -            if (Flags.vdmPublicApis()) { -                mVirtualDeviceListeners.broadcast(listener -> { -                    try { -                        listener.onVirtualDeviceCreated(deviceId); -                    } catch (RemoteException e) { -                        Slog.i(TAG, "Failed to invoke onVirtualDeviceCreated listener: " -                                + e.getMessage()); -                    } -                }); -            } +            mVirtualDeviceListeners.broadcast(listener -> { +                try { +                    listener.onVirtualDeviceCreated(deviceId); +                } catch (RemoteException e) { +                    Slog.i(TAG, "Failed to invoke onVirtualDeviceCreated listener: " +                            + e.getMessage()); +                } +            });              Counter.logIncrementWithUid(                      "virtual_devices.value_virtual_devices_created_with_uid_count",                      attributionSource.getUid()); diff --git a/services/core/java/com/android/server/clipboard/ClipboardService.java b/services/core/java/com/android/server/clipboard/ClipboardService.java index 78f71877afed..6122fdaafe77 100644 --- a/services/core/java/com/android/server/clipboard/ClipboardService.java +++ b/services/core/java/com/android/server/clipboard/ClipboardService.java @@ -17,8 +17,6 @@  package com.android.server.clipboard;  import static android.app.ActivityManagerInternal.ALLOW_FULL_ONLY; -import static android.companion.virtual.VirtualDeviceManager.ACTION_VIRTUAL_DEVICE_REMOVED; -import static android.companion.virtual.VirtualDeviceManager.EXTRA_VIRTUAL_DEVICE_ID;  import static android.companion.virtual.VirtualDeviceParams.DEVICE_POLICY_CUSTOM;  import static android.companion.virtual.VirtualDeviceParams.POLICY_TYPE_CLIPBOARD;  import static android.content.Context.DEVICE_ID_DEFAULT; @@ -46,7 +44,6 @@ import android.content.Context;  import android.content.IClipboard;  import android.content.IOnPrimaryClipChangedListener;  import android.content.Intent; -import android.content.IntentFilter;  import android.content.pm.PackageManager;  import android.content.pm.PackageManagerInternal;  import android.content.pm.UserInfo; @@ -219,35 +216,7 @@ public class ClipboardService extends SystemService {      @Override      public void onStart() {          publishBinderService(Context.CLIPBOARD_SERVICE, new ClipboardImpl()); -        if (!android.companion.virtual.flags.Flags.vdmPublicApis() && mVdmInternal != null) { -            registerVirtualDeviceBroadcastReceiver(); -        } else if (android.companion.virtual.flags.Flags.vdmPublicApis() && mVdm != null) { -            registerVirtualDeviceListener(); -        } -    } - -    private void registerVirtualDeviceBroadcastReceiver() { -        if (mVirtualDeviceRemovedReceiver != null) { -            return; -        } -        mVirtualDeviceRemovedReceiver = new BroadcastReceiver() { -            @Override -            public void onReceive(Context context, Intent intent) { -                if (!intent.getAction().equals(ACTION_VIRTUAL_DEVICE_REMOVED)) { -                    return; -                } -                final int removedDeviceId = -                        intent.getIntExtra(EXTRA_VIRTUAL_DEVICE_ID, DEVICE_ID_INVALID); -                synchronized (mLock) { -                    for (int i = mClipboards.numMaps() - 1; i >= 0; i--) { -                        mClipboards.delete(mClipboards.keyAt(i), removedDeviceId); -                    } -                } -            } -        }; -        IntentFilter filter = new IntentFilter(ACTION_VIRTUAL_DEVICE_REMOVED); -        getContext().registerReceiver(mVirtualDeviceRemovedReceiver, filter, -                Context.RECEIVER_NOT_EXPORTED); +        registerVirtualDeviceListener();      }      private void registerVirtualDeviceListener() { diff --git a/services/tests/servicestests/src/com/android/server/accessibility/ProxyManagerTest.java b/services/tests/servicestests/src/com/android/server/accessibility/ProxyManagerTest.java index f371823473ef..1a974458403f 100644 --- a/services/tests/servicestests/src/com/android/server/accessibility/ProxyManagerTest.java +++ b/services/tests/servicestests/src/com/android/server/accessibility/ProxyManagerTest.java @@ -425,7 +425,6 @@ public class ProxyManagerTest {      @Test      public void testRegisterProxy_registersVirtualDeviceListener() throws RemoteException { -        mSetFlagsRule.enableFlags(android.companion.virtual.flags.Flags.FLAG_VDM_PUBLIC_APIS);          registerProxy(DISPLAY_ID);          verify(mMockIVirtualDeviceManager, times(1)).registerVirtualDeviceListener(any()); @@ -434,7 +433,6 @@ public class ProxyManagerTest {      @Test      public void testRegisterMultipleProxies_registersOneVirtualDeviceListener()              throws RemoteException { -        mSetFlagsRule.enableFlags(android.companion.virtual.flags.Flags.FLAG_VDM_PUBLIC_APIS);          registerProxy(DISPLAY_ID);          registerProxy(DISPLAY_2_ID); @@ -443,7 +441,6 @@ public class ProxyManagerTest {      @Test      public void testUnregisterProxy_unregistersVirtualDeviceListener() throws RemoteException { -        mSetFlagsRule.enableFlags(android.companion.virtual.flags.Flags.FLAG_VDM_PUBLIC_APIS);          registerProxy(DISPLAY_ID);          mProxyManager.unregisterProxy(DISPLAY_ID); @@ -454,7 +451,6 @@ public class ProxyManagerTest {      @Test      public void testUnregisterProxy_onlyUnregistersVirtualDeviceListenerOnLastProxyRemoval()              throws RemoteException { -        mSetFlagsRule.enableFlags(android.companion.virtual.flags.Flags.FLAG_VDM_PUBLIC_APIS);          registerProxy(DISPLAY_ID);          registerProxy(DISPLAY_2_ID); @@ -468,7 +464,6 @@ public class ProxyManagerTest {      @Test      public void testRegisteredProxy_virtualDeviceClosed_proxyClosed()              throws RemoteException { -        mSetFlagsRule.enableFlags(android.companion.virtual.flags.Flags.FLAG_VDM_PUBLIC_APIS);          registerProxy(DISPLAY_ID);          assertThat(mProxyManager.isProxyedDeviceId(DEVICE_ID)).isTrue(); @@ -490,7 +485,6 @@ public class ProxyManagerTest {      @Test      public void testRegisteredProxy_unrelatedVirtualDeviceClosed_proxyNotClosed()              throws RemoteException { -        mSetFlagsRule.enableFlags(android.companion.virtual.flags.Flags.FLAG_VDM_PUBLIC_APIS);          registerProxy(DISPLAY_ID);          assertThat(mProxyManager.isProxyedDeviceId(DEVICE_ID)).isTrue(); @@ -507,17 +501,6 @@ public class ProxyManagerTest {          assertThat(mProxyManager.isProxyedDisplay(DISPLAY_ID)).isTrue();      } -    @Test -    public void testRegisterProxy_doesNotRegisterVirtualDeviceListener_flagDisabled() -            throws RemoteException { -        mSetFlagsRule.disableFlags(android.companion.virtual.flags.Flags.FLAG_VDM_PUBLIC_APIS); -        registerProxy(DISPLAY_ID); -        mProxyManager.unregisterProxy(DISPLAY_ID); - -        verify(mMockIVirtualDeviceManager, never()).registerVirtualDeviceListener(any()); -        verify(mMockIVirtualDeviceManager, never()).unregisterVirtualDeviceListener(any()); -    } -      private void registerProxy(int displayId) {          try {              mProxyManager.registerProxy(mMockAccessibilityServiceClient, displayId, anyInt(), diff --git a/services/tests/servicestests/src/com/android/server/companion/virtual/VirtualDeviceTest.java b/services/tests/servicestests/src/com/android/server/companion/virtual/VirtualDeviceTest.java index 4d1d17f184d1..77c2447fc55f 100644 --- a/services/tests/servicestests/src/com/android/server/companion/virtual/VirtualDeviceTest.java +++ b/services/tests/servicestests/src/com/android/server/companion/virtual/VirtualDeviceTest.java @@ -31,7 +31,6 @@ import static org.mockito.Mockito.when;  import android.companion.virtual.IVirtualDevice;  import android.companion.virtual.VirtualDevice; -import android.companion.virtual.flags.Flags;  import android.os.Parcel;  import android.platform.test.annotations.Presubmit;  import android.platform.test.flag.junit.SetFlagsRule; @@ -109,8 +108,6 @@ public class VirtualDeviceTest {      @Test      public void virtualDevice_getDisplayIds() throws Exception { -        mSetFlagsRule.enableFlags(Flags.FLAG_VDM_PUBLIC_APIS); -          VirtualDevice virtualDevice =                  new VirtualDevice(                          mVirtualDevice, VIRTUAL_DEVICE_ID, /*persistentId=*/null, /*name=*/null); @@ -125,8 +122,6 @@ public class VirtualDeviceTest {      @Test      public void virtualDevice_hasCustomSensorSupport() throws Exception { -        mSetFlagsRule.enableFlags(Flags.FLAG_VDM_PUBLIC_APIS); -          VirtualDevice virtualDevice =                  new VirtualDevice(                          mVirtualDevice, VIRTUAL_DEVICE_ID, /*persistentId=*/null, /*name=*/null); @@ -140,7 +135,6 @@ public class VirtualDeviceTest {      @Test      public void virtualDevice_hasCustomAudioInputSupport() throws Exception { -        mSetFlagsRule.enableFlags(Flags.FLAG_VDM_PUBLIC_APIS);          mSetFlagsRule.enableFlags(android.media.audiopolicy.Flags.FLAG_AUDIO_MIX_TEST_API);          VirtualDevice virtualDevice = @@ -160,8 +154,6 @@ public class VirtualDeviceTest {      @Test      public void virtualDevice_hasCustomCameraSupport() throws Exception { -        mSetFlagsRule.enableFlags(Flags.FLAG_VDM_PUBLIC_APIS); -          VirtualDevice virtualDevice =                  new VirtualDevice(                          mVirtualDevice, VIRTUAL_DEVICE_ID, /*persistentId=*/null, /*name=*/null); |