Loading core/java/android/companion/virtual/VirtualDeviceManager.java +7 −0 Original line number Diff line number Diff line Loading @@ -102,6 +102,13 @@ public final class VirtualDeviceManager { public static final String EXTRA_VIRTUAL_DEVICE_ID = "android.companion.virtual.extra.VIRTUAL_DEVICE_ID"; /** * A representation of an invalid CDM association ID. Association IDs must be positive. * * @hide */ public static final int ASSOCIATION_ID_INVALID = -1; /** @hide */ @Retention(RetentionPolicy.SOURCE) @IntDef( Loading services/companion/java/com/android/server/companion/virtual/VirtualDeviceManagerService.java +11 −0 Original line number Diff line number Diff line Loading @@ -686,6 +686,17 @@ public class VirtualDeviceManagerService extends SystemService { return virtualDevice == null ? new ArraySet<>() : virtualDevice.getDisplayIds(); } @Override public int getAssociationIdForDevice(int deviceId) { VirtualDeviceImpl virtualDevice; synchronized (mVirtualDeviceManagerLock) { virtualDevice = mVirtualDevices.get(deviceId); } return virtualDevice == null ? VirtualDeviceManager.ASSOCIATION_ID_INVALID : virtualDevice.getAssociationId(); } @Override public void registerVirtualDisplayListener( @NonNull VirtualDisplayListener listener) { Loading services/core/java/com/android/server/companion/virtual/VirtualDeviceManagerInternal.java +10 −0 Original line number Diff line number Diff line Loading @@ -156,4 +156,14 @@ public abstract class VirtualDeviceManagerInternal { * @return the set of display ids for all VirtualDisplays owned by the device */ public abstract @NonNull ArraySet<Integer> getDisplayIdsForDevice(int deviceId); /** * Gets the CDM association ID for the VirtualDevice with the given device ID. * * @param deviceId which device we're asking about * @return the CDM association ID for this device, or * {@link android.companion.virtual.VirtualDeviceManager#ASSOCIATION_ID_INVALID} if no such * association exists. */ public abstract int getAssociationIdForDevice(int deviceId); } services/tests/servicestests/src/com/android/server/companion/virtual/VirtualDeviceManagerServiceTest.java +18 −0 Original line number Diff line number Diff line Loading @@ -16,6 +16,7 @@ package com.android.server.companion.virtual; import static android.companion.virtual.VirtualDeviceManager.ASSOCIATION_ID_INVALID; import static android.companion.virtual.VirtualDeviceParams.DEVICE_POLICY_CUSTOM; import static android.companion.virtual.VirtualDeviceParams.DEVICE_POLICY_DEFAULT; import static android.companion.virtual.VirtualDeviceParams.POLICY_TYPE_RECENTS; Loading Loading @@ -1711,6 +1712,22 @@ public class VirtualDeviceManagerServiceTest { assertThat(displayIds).containsExactly(DISPLAY_ID_1, DISPLAY_ID_2); } @Test public void getAssociationIdForDevice_invalidDeviceId_returnsInvalidAssociationId() { assertThat(mLocalService.getAssociationIdForDevice(DEVICE_ID_INVALID)) .isEqualTo(ASSOCIATION_ID_INVALID); assertThat(mLocalService.getAssociationIdForDevice(DEVICE_ID_DEFAULT)) .isEqualTo(ASSOCIATION_ID_INVALID); assertThat(mLocalService.getAssociationIdForDevice(VIRTUAL_DEVICE_ID_2)) .isEqualTo(ASSOCIATION_ID_INVALID); } @Test public void getAssociationIdForDevice_returnsCorrectAssociationId() { assertThat(mLocalService.getAssociationIdForDevice(VIRTUAL_DEVICE_ID_1)) .isEqualTo(mAssociationInfo.getId()); } private VirtualDeviceImpl createVirtualDevice(int virtualDeviceId, int ownerUid) { VirtualDeviceParams params = new VirtualDeviceParams.Builder() .setBlockedActivities(getBlockedActivities()) Loading @@ -1727,6 +1744,7 @@ public class VirtualDeviceManagerServiceTest { mPendingTrampolineCallback, mActivityListener, mSoundEffectListener, mRunningAppsChangedCallback, params, new DisplayManagerGlobal(mIDisplayManager)); mVdms.addVirtualDevice(virtualDeviceImpl); assertThat(virtualDeviceImpl.getAssociationId()).isEqualTo(mAssociationInfo.getId()); return virtualDeviceImpl; } Loading Loading
core/java/android/companion/virtual/VirtualDeviceManager.java +7 −0 Original line number Diff line number Diff line Loading @@ -102,6 +102,13 @@ public final class VirtualDeviceManager { public static final String EXTRA_VIRTUAL_DEVICE_ID = "android.companion.virtual.extra.VIRTUAL_DEVICE_ID"; /** * A representation of an invalid CDM association ID. Association IDs must be positive. * * @hide */ public static final int ASSOCIATION_ID_INVALID = -1; /** @hide */ @Retention(RetentionPolicy.SOURCE) @IntDef( Loading
services/companion/java/com/android/server/companion/virtual/VirtualDeviceManagerService.java +11 −0 Original line number Diff line number Diff line Loading @@ -686,6 +686,17 @@ public class VirtualDeviceManagerService extends SystemService { return virtualDevice == null ? new ArraySet<>() : virtualDevice.getDisplayIds(); } @Override public int getAssociationIdForDevice(int deviceId) { VirtualDeviceImpl virtualDevice; synchronized (mVirtualDeviceManagerLock) { virtualDevice = mVirtualDevices.get(deviceId); } return virtualDevice == null ? VirtualDeviceManager.ASSOCIATION_ID_INVALID : virtualDevice.getAssociationId(); } @Override public void registerVirtualDisplayListener( @NonNull VirtualDisplayListener listener) { Loading
services/core/java/com/android/server/companion/virtual/VirtualDeviceManagerInternal.java +10 −0 Original line number Diff line number Diff line Loading @@ -156,4 +156,14 @@ public abstract class VirtualDeviceManagerInternal { * @return the set of display ids for all VirtualDisplays owned by the device */ public abstract @NonNull ArraySet<Integer> getDisplayIdsForDevice(int deviceId); /** * Gets the CDM association ID for the VirtualDevice with the given device ID. * * @param deviceId which device we're asking about * @return the CDM association ID for this device, or * {@link android.companion.virtual.VirtualDeviceManager#ASSOCIATION_ID_INVALID} if no such * association exists. */ public abstract int getAssociationIdForDevice(int deviceId); }
services/tests/servicestests/src/com/android/server/companion/virtual/VirtualDeviceManagerServiceTest.java +18 −0 Original line number Diff line number Diff line Loading @@ -16,6 +16,7 @@ package com.android.server.companion.virtual; import static android.companion.virtual.VirtualDeviceManager.ASSOCIATION_ID_INVALID; import static android.companion.virtual.VirtualDeviceParams.DEVICE_POLICY_CUSTOM; import static android.companion.virtual.VirtualDeviceParams.DEVICE_POLICY_DEFAULT; import static android.companion.virtual.VirtualDeviceParams.POLICY_TYPE_RECENTS; Loading Loading @@ -1711,6 +1712,22 @@ public class VirtualDeviceManagerServiceTest { assertThat(displayIds).containsExactly(DISPLAY_ID_1, DISPLAY_ID_2); } @Test public void getAssociationIdForDevice_invalidDeviceId_returnsInvalidAssociationId() { assertThat(mLocalService.getAssociationIdForDevice(DEVICE_ID_INVALID)) .isEqualTo(ASSOCIATION_ID_INVALID); assertThat(mLocalService.getAssociationIdForDevice(DEVICE_ID_DEFAULT)) .isEqualTo(ASSOCIATION_ID_INVALID); assertThat(mLocalService.getAssociationIdForDevice(VIRTUAL_DEVICE_ID_2)) .isEqualTo(ASSOCIATION_ID_INVALID); } @Test public void getAssociationIdForDevice_returnsCorrectAssociationId() { assertThat(mLocalService.getAssociationIdForDevice(VIRTUAL_DEVICE_ID_1)) .isEqualTo(mAssociationInfo.getId()); } private VirtualDeviceImpl createVirtualDevice(int virtualDeviceId, int ownerUid) { VirtualDeviceParams params = new VirtualDeviceParams.Builder() .setBlockedActivities(getBlockedActivities()) Loading @@ -1727,6 +1744,7 @@ public class VirtualDeviceManagerServiceTest { mPendingTrampolineCallback, mActivityListener, mSoundEffectListener, mRunningAppsChangedCallback, params, new DisplayManagerGlobal(mIDisplayManager)); mVdms.addVirtualDevice(virtualDeviceImpl); assertThat(virtualDeviceImpl.getAssociationId()).isEqualTo(mAssociationInfo.getId()); return virtualDeviceImpl; } Loading