diff options
| author | 2024-08-05 13:28:53 +0200 | |
|---|---|---|
| committer | 2024-08-05 15:53:30 +0200 | |
| commit | 2a1f2f1d69f54cc0fa67ffecabab6ea2e33607d7 (patch) | |
| tree | 47459163ea2fc1491c3ebded761685dd1892726c | |
| parent | 2ea93073b58fc5221724c4dbaab5721feda82e23 (diff) | |
Clean up old VDM display flags
Both are low risk and have been in nextfood for months
Bug: n/a
Test: presubmit
Flag: EXEMPT cleanup
Change-Id: I5c044a9a20c7e8f710cfcf350503281b6bcc2c55
9 files changed, 6 insertions, 112 deletions
diff --git a/core/api/test-current.txt b/core/api/test-current.txt index 90af25984e6b..ee10cccd7182 100644 --- a/core/api/test-current.txt +++ b/core/api/test-current.txt @@ -941,7 +941,7 @@ package android.companion.virtual { method public int getAudioRecordingSessionId(int); method public int getDeviceIdForDisplayId(int); method public int getDevicePolicy(int, int); - method @FlaggedApi("android.companion.virtual.flags.interactive_screen_mirror") public boolean isVirtualDeviceOwnedMirrorDisplay(int); + method public boolean isVirtualDeviceOwnedMirrorDisplay(int); method public void playSoundEffect(int, int); } diff --git a/core/java/android/companion/virtual/VirtualDeviceManager.java b/core/java/android/companion/virtual/VirtualDeviceManager.java index 8b60580ec114..d07fb2508a49 100644 --- a/core/java/android/companion/virtual/VirtualDeviceManager.java +++ b/core/java/android/companion/virtual/VirtualDeviceManager.java @@ -531,7 +531,6 @@ public final class VirtualDeviceManager { * * @hide */ - @FlaggedApi(Flags.FLAG_INTERACTIVE_SCREEN_MIRROR) @TestApi public boolean isVirtualDeviceOwnedMirrorDisplay(int displayId) { if (mService == null) { diff --git a/core/java/android/companion/virtual/flags.aconfig b/core/java/android/companion/virtual/flags.aconfig index 91586b6bfae2..fc9c94dd5b0f 100644 --- a/core/java/android/companion/virtual/flags.aconfig +++ b/core/java/android/companion/virtual/flags.aconfig @@ -35,13 +35,6 @@ flag { } flag { - name: "consistent_display_flags" - namespace: "virtual_devices" - description: "Make virtual display flags consistent with display manager" - bug: "300905478" -} - -flag { name: "vdm_custom_ime" is_exported: true namespace: "virtual_devices" @@ -89,14 +82,6 @@ flag { } flag { - name: "interactive_screen_mirror" - is_exported: true - namespace: "virtual_devices" - description: "Enable interactive screen mirroring using Virtual Devices" - bug: "292212199" -} - -flag { name: "virtual_stylus" is_exported: true namespace: "virtual_devices" diff --git a/packages/SystemUI/src/com/android/systemui/display/domain/interactor/ConnectedDisplayInteractor.kt b/packages/SystemUI/src/com/android/systemui/display/domain/interactor/ConnectedDisplayInteractor.kt index e4b290d7d10e..15a3cbdb8072 100644 --- a/packages/SystemUI/src/com/android/systemui/display/domain/interactor/ConnectedDisplayInteractor.kt +++ b/packages/SystemUI/src/com/android/systemui/display/domain/interactor/ConnectedDisplayInteractor.kt @@ -17,7 +17,6 @@ package com.android.systemui.display.domain.interactor import android.companion.virtual.VirtualDeviceManager -import android.companion.virtual.flags.Flags import android.view.Display import com.android.systemui.dagger.SysUISingleton import com.android.systemui.dagger.qualifiers.Background @@ -155,8 +154,7 @@ constructor( } private fun isVirtualDeviceOwnedMirrorDisplay(display: Display): Boolean { - return Flags.interactiveScreenMirror() && - virtualDeviceManager != null && + return virtualDeviceManager != null && virtualDeviceManager.isVirtualDeviceOwnedMirrorDisplay(display.displayId) } } diff --git a/packages/SystemUI/tests/src/com/android/systemui/display/domain/interactor/ConnectedDisplayInteractorTest.kt b/packages/SystemUI/tests/src/com/android/systemui/display/domain/interactor/ConnectedDisplayInteractorTest.kt index fd9964f938c8..a2b50fd2ec17 100644 --- a/packages/SystemUI/tests/src/com/android/systemui/display/domain/interactor/ConnectedDisplayInteractorTest.kt +++ b/packages/SystemUI/tests/src/com/android/systemui/display/domain/interactor/ConnectedDisplayInteractorTest.kt @@ -17,8 +17,6 @@ package com.android.systemui.display.domain.interactor import android.companion.virtual.VirtualDeviceManager -import android.companion.virtual.flags.Flags.FLAG_INTERACTIVE_SCREEN_MIRROR -import android.platform.test.annotations.EnableFlags import android.testing.TestableLooper import android.view.Display import android.view.Display.TYPE_EXTERNAL @@ -160,7 +158,6 @@ class ConnectedDisplayInteractorTest : SysuiTestCase() { } @Test - @EnableFlags(FLAG_INTERACTIVE_SCREEN_MIRROR) fun displayState_virtualDeviceOwnedMirrorVirtualDisplay_connected() = testScope.runTest { whenever(virtualDeviceManager.isVirtualDeviceOwnedMirrorDisplay(anyInt())) @@ -183,7 +180,6 @@ class ConnectedDisplayInteractorTest : SysuiTestCase() { } @Test - @EnableFlags(FLAG_INTERACTIVE_SCREEN_MIRROR) fun virtualDeviceOwnedMirrorVirtualDisplay_emitsConnectedDisplayAddition() = testScope.runTest { whenever(virtualDeviceManager.isVirtualDeviceOwnedMirrorDisplay(anyInt())) 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 2db54435199b..1be352e8e3da 100644 --- a/services/companion/java/com/android/server/companion/virtual/VirtualDeviceImpl.java +++ b/services/companion/java/com/android/server/companion/virtual/VirtualDeviceImpl.java @@ -137,11 +137,6 @@ final class VirtualDeviceImpl extends IVirtualDevice.Stub | DisplayManager.VIRTUAL_DISPLAY_FLAG_SUPPORTS_TOUCH | DisplayManager.VIRTUAL_DISPLAY_FLAG_OWN_FOCUS; - private static final int DEFAULT_VIRTUAL_DISPLAY_FLAGS_PRE_VIC = - DisplayManager.VIRTUAL_DISPLAY_FLAG_PUBLIC - | DisplayManager.VIRTUAL_DISPLAY_FLAG_ROTATES_WITH_CONTENT - | DisplayManager.VIRTUAL_DISPLAY_FLAG_OWN_CONTENT_ONLY; - private static final String PERSISTENT_ID_PREFIX_CDM_ASSOCIATION = "companion:"; /** @@ -373,9 +368,6 @@ final class VirtualDeviceImpl extends IVirtualDevice.Stub } int flags = DEFAULT_VIRTUAL_DISPLAY_FLAGS; - if (!Flags.consistentDisplayFlags()) { - flags |= DEFAULT_VIRTUAL_DISPLAY_FLAGS_PRE_VIC; - } if (mParams.getLockState() == VirtualDeviceParams.LOCK_STATE_ALWAYS_UNLOCKED) { flags |= DisplayManager.VIRTUAL_DISPLAY_FLAG_ALWAYS_UNLOCKED; } @@ -1254,10 +1246,6 @@ final class VirtualDeviceImpl extends IVirtualDevice.Stub // as the virtual display doesn't have any focused windows. Hence, call this for // associating any input device to the source display if the input device emits any key events. private int getTargetDisplayIdForInput(int displayId) { - if (!Flags.interactiveScreenMirror()) { - return displayId; - } - DisplayManagerInternal displayManager = LocalServices.getService( DisplayManagerInternal.class); int mirroredDisplayId = displayManager.getDisplayIdToMirror(displayId); @@ -1313,9 +1301,9 @@ final class VirtualDeviceImpl extends IVirtualDevice.Stub int displayId; displayId = mDisplayManagerInternal.createVirtualDisplay(virtualDisplayConfig, callback, this, gwpc, packageName); - gwpc.setDisplayId(displayId, /* isMirrorDisplay= */ Flags.interactiveScreenMirror() - && mDisplayManagerInternal.getDisplayIdToMirror(displayId) - != Display.INVALID_DISPLAY); + boolean isMirrorDisplay = + mDisplayManagerInternal.getDisplayIdToMirror(displayId) != Display.INVALID_DISPLAY; + gwpc.setDisplayId(displayId, isMirrorDisplay); boolean showPointer; synchronized (mVirtualDeviceLock) { diff --git a/services/core/java/com/android/server/display/DisplayManagerService.java b/services/core/java/com/android/server/display/DisplayManagerService.java index 9e905abd78ed..55a6ce7142f3 100644 --- a/services/core/java/com/android/server/display/DisplayManagerService.java +++ b/services/core/java/com/android/server/display/DisplayManagerService.java @@ -64,7 +64,6 @@ import android.app.AppOpsManager; import android.app.compat.CompatChanges; import android.companion.virtual.IVirtualDevice; import android.companion.virtual.VirtualDeviceManager; -import android.companion.virtual.flags.Flags; import android.compat.annotation.ChangeId; import android.compat.annotation.EnabledSince; import android.content.BroadcastReceiver; @@ -1633,8 +1632,7 @@ public final class DisplayManagerService extends SystemService { && (flags & VIRTUAL_DISPLAY_FLAG_AUTO_MIRROR) != 0) { // Only a valid media projection or a virtual device can create a mirror virtual // display. - if (!canProjectVideo(projection) - && !isMirroringSupportedByVirtualDevice(virtualDevice)) { + if (!canProjectVideo(projection) && virtualDevice == null) { throw new SecurityException("Requires CAPTURE_VIDEO_OUTPUT or " + "CAPTURE_SECURE_VIDEO_OUTPUT permission, or an appropriate " + "MediaProjection token in order to create a screen sharing virtual " @@ -1896,10 +1894,6 @@ public final class DisplayManagerService extends SystemService { return -1; } - private static boolean isMirroringSupportedByVirtualDevice(IVirtualDevice virtualDevice) { - return Flags.interactiveScreenMirror() && virtualDevice != null; - } - private void resizeVirtualDisplayInternal(IBinder appToken, int width, int height, int densityDpi) { synchronized (mSyncRoot) { diff --git a/services/tests/displayservicetests/src/com/android/server/display/DisplayManagerServiceTest.java b/services/tests/displayservicetests/src/com/android/server/display/DisplayManagerServiceTest.java index 2b03dc4f78ad..bbf2ecbb9380 100644 --- a/services/tests/displayservicetests/src/com/android/server/display/DisplayManagerServiceTest.java +++ b/services/tests/displayservicetests/src/com/android/server/display/DisplayManagerServiceTest.java @@ -69,7 +69,6 @@ import android.app.PropertyInvalidatedCache; import android.companion.virtual.IVirtualDevice; import android.companion.virtual.IVirtualDeviceManager; import android.companion.virtual.VirtualDeviceManager; -import android.companion.virtual.flags.Flags; import android.compat.testing.PlatformCompatChangeRule; import android.content.BroadcastReceiver; import android.content.Context; @@ -374,7 +373,6 @@ public class DisplayManagerServiceTest { public void setUp() throws Exception { MockitoAnnotations.initMocks(this); when(mMockFlags.isConnectedDisplayManagementEnabled()).thenReturn(false); - mSetFlagsRule.disableFlags(Flags.FLAG_INTERACTIVE_SCREEN_MIRROR); mLocalServiceKeeperRule.overrideLocalService( InputManagerInternal.class, mMockInputManagerInternal); @@ -1298,44 +1296,11 @@ public class DisplayManagerServiceTest { } /** - * Tests that it's not allowed to create an auto-mirror virtual display when display mirroring - * is not supported in a virtual device. - */ - @Test - public void createAutoMirrorDisplay_virtualDeviceDoesntSupportMirroring_throwsException() - throws Exception { - mSetFlagsRule.disableFlags(Flags.FLAG_INTERACTIVE_SCREEN_MIRROR); - DisplayManagerService displayManager = new DisplayManagerService(mContext, mBasicInjector); - DisplayManagerInternal localService = displayManager.new LocalService(); - registerDefaultDisplays(displayManager); - when(mMockAppToken.asBinder()).thenReturn(mMockAppToken); - when(mContext.checkCallingPermission(CAPTURE_VIDEO_OUTPUT)).thenReturn( - PackageManager.PERMISSION_DENIED); - IVirtualDevice virtualDevice = mock(IVirtualDevice.class); - when(virtualDevice.getDeviceId()).thenReturn(1); - when(mIVirtualDeviceManager.isValidVirtualDeviceId(1)).thenReturn(true); - - final VirtualDisplayConfig.Builder builder = - new VirtualDisplayConfig.Builder(VIRTUAL_DISPLAY_NAME, 600, 800, 320) - .setFlags(VIRTUAL_DISPLAY_FLAG_AUTO_MIRROR) - .setUniqueId("uniqueId --- mirror display"); - assertThrows(SecurityException.class, () -> { - localService.createVirtualDisplay( - builder.build(), - mMockAppToken /* callback */, - virtualDevice /* virtualDeviceToken */, - mock(DisplayWindowPolicyController.class), - PACKAGE_NAME); - }); - } - - /** * Tests that the virtual display is added to the default display group when created with * VIRTUAL_DISPLAY_FLAG_AUTO_MIRROR using a virtual device. */ @Test public void createAutoMirrorVirtualDisplay_addsDisplayToDefaultDisplayGroup() throws Exception { - mSetFlagsRule.enableFlags(Flags.FLAG_INTERACTIVE_SCREEN_MIRROR); DisplayManagerService displayManager = new DisplayManagerService(mContext, mBasicInjector); DisplayManagerInternal localService = displayManager.new LocalService(); registerDefaultDisplays(displayManager); @@ -1368,7 +1333,6 @@ public class DisplayManagerServiceTest { */ @Test public void createAutoMirrorVirtualDisplay_mirrorsDefaultDisplay() throws Exception { - mSetFlagsRule.enableFlags(Flags.FLAG_INTERACTIVE_SCREEN_MIRROR); DisplayManagerService displayManager = new DisplayManagerService(mContext, mBasicInjector); DisplayManagerInternal localService = displayManager.new LocalService(); registerDefaultDisplays(displayManager); @@ -1400,7 +1364,6 @@ public class DisplayManagerServiceTest { */ @Test public void createOwnContentOnlyVirtualDisplay_doesNotMirrorAnyDisplay() throws Exception { - mSetFlagsRule.enableFlags(Flags.FLAG_INTERACTIVE_SCREEN_MIRROR); DisplayManagerService displayManager = new DisplayManagerService(mContext, mBasicInjector); DisplayManagerInternal localService = displayManager.new LocalService(); registerDefaultDisplays(displayManager); @@ -1436,7 +1399,6 @@ public class DisplayManagerServiceTest { */ @Test public void createAutoMirrorVirtualDisplay_flagAlwaysUnlockedNotSet() throws Exception { - mSetFlagsRule.enableFlags(Flags.FLAG_INTERACTIVE_SCREEN_MIRROR); DisplayManagerService displayManager = new DisplayManagerService(mContext, mBasicInjector); DisplayManagerInternal localService = displayManager.new LocalService(); registerDefaultDisplays(displayManager); @@ -1472,7 +1434,6 @@ public class DisplayManagerServiceTest { */ @Test public void createAutoMirrorVirtualDisplay_flagPresentationNotSet() throws Exception { - mSetFlagsRule.enableFlags(Flags.FLAG_INTERACTIVE_SCREEN_MIRROR); DisplayManagerService displayManager = new DisplayManagerService(mContext, mBasicInjector); DisplayManagerInternal localService = displayManager.new LocalService(); registerDefaultDisplays(displayManager); diff --git a/services/tests/servicestests/src/com/android/server/companion/virtual/VirtualDeviceManagerServiceTest.java b/services/tests/servicestests/src/com/android/server/companion/virtual/VirtualDeviceManagerServiceTest.java index c2882124e6e3..4d067f6bfc62 100644 --- a/services/tests/servicestests/src/com/android/server/companion/virtual/VirtualDeviceManagerServiceTest.java +++ b/services/tests/servicestests/src/com/android/server/companion/virtual/VirtualDeviceManagerServiceTest.java @@ -62,7 +62,6 @@ import android.companion.virtual.VirtualDeviceManager; import android.companion.virtual.VirtualDeviceParams; import android.companion.virtual.audio.IAudioConfigChangedCallback; import android.companion.virtual.audio.IAudioRoutingCallback; -import android.companion.virtual.flags.Flags; import android.companion.virtual.sensor.VirtualSensor; import android.companion.virtual.sensor.VirtualSensorCallback; import android.companion.virtual.sensor.VirtualSensorConfig; @@ -1686,7 +1685,6 @@ public class VirtualDeviceManagerServiceTest { @Test public void openNonBlockedAppOnMirrorDisplay_flagEnabled_cannotBeLaunched() { - mSetFlagsRule.enableFlags(Flags.FLAG_INTERACTIVE_SCREEN_MIRROR); when(mDisplayManagerInternalMock.getDisplayIdToMirror(anyInt())) .thenReturn(Display.DEFAULT_DISPLAY); addVirtualDisplay(mDeviceImpl, DISPLAY_ID_1); @@ -1711,31 +1709,6 @@ public class VirtualDeviceManagerServiceTest { } @Test - public void openNonBlockedAppOnMirrorDisplay_flagDisabled_launchesActivity() { - mSetFlagsRule.disableFlags(Flags.FLAG_INTERACTIVE_SCREEN_MIRROR); - when(mDisplayManagerInternalMock.getDisplayIdToMirror(anyInt())) - .thenReturn(Display.DEFAULT_DISPLAY); - addVirtualDisplay(mDeviceImpl, DISPLAY_ID_1); - GenericWindowPolicyController gwpc = mDeviceImpl.getDisplayWindowPolicyControllerForTest( - DISPLAY_ID_1); - doNothing().when(mContext).startActivityAsUser(any(), any(), any()); - - ActivityInfo activityInfo = getActivityInfo( - NONBLOCKED_APP_PACKAGE_NAME, - NONBLOCKED_APP_PACKAGE_NAME, - /* displayOnRemoteDevices */ true, - /* targetDisplayCategory */ null); - assertThat(gwpc.canActivityBeLaunched(activityInfo, null, - WindowConfiguration.WINDOWING_MODE_FULLSCREEN, DISPLAY_ID_1, /* isNewTask= */ false, - /* isResultExpected = */ false, /* intentSender= */ null)) - .isTrue(); - Intent blockedAppIntent = BlockedAppStreamingActivity.createIntent( - activityInfo, mAssociationInfo.getDisplayName()); - verify(mContext, never()).startActivityAsUser(argThat(intent -> - intent.filterEquals(blockedAppIntent)), any(), any()); - } - - @Test public void registerRunningAppsChangedListener_onRunningAppsChanged_listenersNotified() { ArraySet<Integer> uids = new ArraySet<>(Arrays.asList(UID_1, UID_2)); addVirtualDisplay(mDeviceImpl, DISPLAY_ID_1); |