Merge "Clean up VirtualDeviceManagerInternal."
This commit is contained in:
committed by
Android (Google) Code Review
commit
fe549de257
@@ -386,7 +386,15 @@ public class VirtualDeviceManagerService extends SystemService {
|
||||
@Override // BinderCall
|
||||
@VirtualDeviceParams.DevicePolicy
|
||||
public int getDevicePolicy(int deviceId, @VirtualDeviceParams.PolicyType int policyType) {
|
||||
return mLocalService.getDevicePolicy(deviceId, policyType);
|
||||
synchronized (mVirtualDeviceManagerLock) {
|
||||
for (int i = 0; i < mVirtualDevices.size(); i++) {
|
||||
final VirtualDeviceImpl device = mVirtualDevices.valueAt(i);
|
||||
if (device.getDeviceId() == deviceId) {
|
||||
return device.getDevicePolicy(policyType);
|
||||
}
|
||||
}
|
||||
}
|
||||
return VirtualDeviceParams.DEVICE_POLICY_DEFAULT;
|
||||
}
|
||||
|
||||
|
||||
@@ -486,20 +494,6 @@ public class VirtualDeviceManagerService extends SystemService {
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
@VirtualDeviceParams.DevicePolicy
|
||||
public int getDevicePolicy(int deviceId, @VirtualDeviceParams.PolicyType int policyType) {
|
||||
synchronized (mVirtualDeviceManagerLock) {
|
||||
for (int i = 0; i < mVirtualDevices.size(); i++) {
|
||||
final VirtualDeviceImpl device = mVirtualDevices.valueAt(i);
|
||||
if (device.getDeviceId() == deviceId) {
|
||||
return device.getDevicePolicy(policyType);
|
||||
}
|
||||
}
|
||||
}
|
||||
return VirtualDeviceParams.DEVICE_POLICY_DEFAULT;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onVirtualDisplayCreated(int displayId) {
|
||||
final VirtualDisplayListener[] listeners;
|
||||
@@ -560,19 +554,6 @@ public class VirtualDeviceManagerService extends SystemService {
|
||||
return ((VirtualDeviceImpl) virtualDevice).getBaseVirtualDisplayFlags();
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isAppOwnerOfAnyVirtualDevice(int uid) {
|
||||
synchronized (mVirtualDeviceManagerLock) {
|
||||
int size = mVirtualDevices.size();
|
||||
for (int i = 0; i < size; i++) {
|
||||
if (mVirtualDevices.valueAt(i).getOwnerUid() == uid) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isAppRunningOnAnyVirtualDevice(int uid) {
|
||||
synchronized (mVirtualDeviceManagerLock) {
|
||||
|
||||
@@ -18,7 +18,6 @@ package com.android.server.companion.virtual;
|
||||
|
||||
import android.annotation.NonNull;
|
||||
import android.companion.virtual.IVirtualDevice;
|
||||
import android.companion.virtual.VirtualDeviceParams;
|
||||
|
||||
import java.util.Set;
|
||||
|
||||
@@ -93,12 +92,6 @@ public abstract class VirtualDeviceManagerInternal {
|
||||
*/
|
||||
public abstract int getBaseVirtualDisplayFlags(IVirtualDevice virtualDevice);
|
||||
|
||||
/**
|
||||
* Returns true if the given {@code uid} is the owner of any virtual devices that are
|
||||
* currently active.
|
||||
*/
|
||||
public abstract boolean isAppOwnerOfAnyVirtualDevice(int uid);
|
||||
|
||||
/**
|
||||
* Returns true if the given {@code uid} is currently running on any virtual devices. This is
|
||||
* determined by whether the app has any activities in the task stack on a virtual-device-owned
|
||||
@@ -110,14 +103,4 @@ public abstract class VirtualDeviceManagerInternal {
|
||||
* Returns true if the {@code displayId} is owned by any virtual device
|
||||
*/
|
||||
public abstract boolean isDisplayOwnedByAnyVirtualDevice(int displayId);
|
||||
|
||||
/**
|
||||
* Returns the device policy for the given virtual device and policy type.
|
||||
*
|
||||
* <p>In case the virtual device identifier is not valid, or there's no explicitly specified
|
||||
* policy for that device and policy type, then
|
||||
* {@link VirtualDeviceParams#DEVICE_POLICY_DEFAULT} is returned.
|
||||
*/
|
||||
public abstract @VirtualDeviceParams.DevicePolicy int getDevicePolicy(
|
||||
int deviceId, @VirtualDeviceParams.PolicyType int policyType);
|
||||
}
|
||||
|
||||
@@ -16,6 +16,8 @@
|
||||
|
||||
package com.android.server.companion.virtual;
|
||||
|
||||
import static android.companion.virtual.VirtualDeviceManager.DEFAULT_DEVICE_ID;
|
||||
import static android.companion.virtual.VirtualDeviceManager.INVALID_DEVICE_ID;
|
||||
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_SENSORS;
|
||||
@@ -47,7 +49,6 @@ import android.app.WindowConfiguration;
|
||||
import android.app.admin.DevicePolicyManager;
|
||||
import android.companion.AssociationInfo;
|
||||
import android.companion.virtual.IVirtualDeviceActivityListener;
|
||||
import android.companion.virtual.VirtualDeviceManager;
|
||||
import android.companion.virtual.VirtualDeviceParams;
|
||||
import android.companion.virtual.audio.IAudioConfigChangedCallback;
|
||||
import android.companion.virtual.audio.IAudioRoutingCallback;
|
||||
@@ -179,6 +180,7 @@ public class VirtualDeviceManagerServiceTest {
|
||||
private AssociationInfo mAssociationInfo;
|
||||
private VirtualDeviceManagerService mVdms;
|
||||
private VirtualDeviceManagerInternal mLocalService;
|
||||
private VirtualDeviceManagerService.VirtualDeviceManagerImpl mVdm;
|
||||
@Mock
|
||||
private InputController.NativeWrapper mNativeWrapperMock;
|
||||
@Mock
|
||||
@@ -304,80 +306,68 @@ public class VirtualDeviceManagerServiceTest {
|
||||
|
||||
mVdms = new VirtualDeviceManagerService(mContext);
|
||||
mLocalService = mVdms.getLocalServiceInstance();
|
||||
mVdm = mVdms.new VirtualDeviceManagerImpl();
|
||||
|
||||
mDeviceImpl = createVirtualDevice(VIRTUAL_DEVICE_ID);
|
||||
VirtualDeviceParams params = new VirtualDeviceParams
|
||||
.Builder()
|
||||
.setBlockedActivities(getBlockedActivities())
|
||||
.build();
|
||||
mDeviceImpl = new VirtualDeviceImpl(mContext,
|
||||
mAssociationInfo, new Binder(), /* ownerUid= */ 0, VIRTUAL_DEVICE_ID,
|
||||
mInputController, mSensorController, (int associationId) -> {},
|
||||
mPendingTrampolineCallback, mActivityListener, mRunningAppsChangedCallback, params);
|
||||
mVdms.addVirtualDevice(mDeviceImpl);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void getDeviceIdForDisplayId_invalidDisplayId_returnsDefault() {
|
||||
VirtualDeviceManagerService.VirtualDeviceManagerImpl vdm =
|
||||
mVdms.new VirtualDeviceManagerImpl();
|
||||
|
||||
assertThat(
|
||||
vdm.getDeviceIdForDisplayId(Display.INVALID_DISPLAY))
|
||||
.isEqualTo(VirtualDeviceManager.DEFAULT_DEVICE_ID);
|
||||
assertThat(mVdm.getDeviceIdForDisplayId(Display.INVALID_DISPLAY))
|
||||
.isEqualTo(DEFAULT_DEVICE_ID);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void getDeviceIdForDisplayId_defaultDisplayId_returnsDefault() {
|
||||
VirtualDeviceManagerService.VirtualDeviceManagerImpl vdm =
|
||||
mVdms.new VirtualDeviceManagerImpl();
|
||||
|
||||
assertThat(
|
||||
vdm.getDeviceIdForDisplayId(Display.DEFAULT_DISPLAY))
|
||||
.isEqualTo(VirtualDeviceManager.DEFAULT_DEVICE_ID);
|
||||
assertThat(mVdm.getDeviceIdForDisplayId(Display.DEFAULT_DISPLAY))
|
||||
.isEqualTo(DEFAULT_DEVICE_ID);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void getDeviceIdForDisplayId_nonExistentDisplayId_returnsDefault() {
|
||||
VirtualDeviceManagerService.VirtualDeviceManagerImpl vdm =
|
||||
mVdms.new VirtualDeviceManagerImpl();
|
||||
int nonExistentDisplayId = 999;
|
||||
mDeviceImpl.mVirtualDisplayIds.remove(DISPLAY_ID);
|
||||
|
||||
assertThat(
|
||||
vdm.getDeviceIdForDisplayId(nonExistentDisplayId))
|
||||
.isEqualTo(VirtualDeviceManager.DEFAULT_DEVICE_ID);
|
||||
assertThat(mVdm.getDeviceIdForDisplayId(DISPLAY_ID))
|
||||
.isEqualTo(DEFAULT_DEVICE_ID);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void getDeviceIdForDisplayId_withValidVirtualDisplayId_returnsDeviceId() {
|
||||
VirtualDeviceManagerService.VirtualDeviceManagerImpl vdm =
|
||||
mVdms.new VirtualDeviceManagerImpl();
|
||||
VirtualDeviceImpl virtualDevice = createVirtualDevice(/* virtualDeviceId */ 1000);
|
||||
virtualDevice.mVirtualDisplayIds.add(DISPLAY_ID);
|
||||
mDeviceImpl.mVirtualDisplayIds.add(DISPLAY_ID);
|
||||
|
||||
assertThat(
|
||||
vdm.getDeviceIdForDisplayId(DISPLAY_ID))
|
||||
.isEqualTo(1000);
|
||||
assertThat(mVdm.getDeviceIdForDisplayId(DISPLAY_ID))
|
||||
.isEqualTo(mDeviceImpl.getDeviceId());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void getDevicePolicy_invalidDeviceId_returnsDefault() {
|
||||
assertThat(
|
||||
mLocalService.getDevicePolicy(
|
||||
VirtualDeviceManager.INVALID_DEVICE_ID, POLICY_TYPE_SENSORS))
|
||||
assertThat(mVdm.getDevicePolicy(INVALID_DEVICE_ID, POLICY_TYPE_SENSORS))
|
||||
.isEqualTo(DEVICE_POLICY_DEFAULT);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void getDevicePolicy_defaultDeviceId_returnsDefault() {
|
||||
assertThat(
|
||||
mLocalService.getDevicePolicy(
|
||||
VirtualDeviceManager.DEFAULT_DEVICE_ID, POLICY_TYPE_SENSORS))
|
||||
assertThat(mVdm.getDevicePolicy(DEFAULT_DEVICE_ID, POLICY_TYPE_SENSORS))
|
||||
.isEqualTo(DEVICE_POLICY_DEFAULT);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void getDevicePolicy_nonExistentDeviceId_returnsDefault() {
|
||||
assertThat(
|
||||
mLocalService.getDevicePolicy(mDeviceImpl.getDeviceId() + 1, POLICY_TYPE_SENSORS))
|
||||
assertThat(mVdm.getDevicePolicy(mDeviceImpl.getDeviceId() + 1, POLICY_TYPE_SENSORS))
|
||||
.isEqualTo(DEVICE_POLICY_DEFAULT);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void getDevicePolicy_unspecifiedPolicy_returnsDefault() {
|
||||
assertThat(
|
||||
mLocalService.getDevicePolicy(mDeviceImpl.getDeviceId(), POLICY_TYPE_SENSORS))
|
||||
assertThat(mVdm.getDevicePolicy(mDeviceImpl.getDeviceId(), POLICY_TYPE_SENSORS))
|
||||
.isEqualTo(DEVICE_POLICY_DEFAULT);
|
||||
}
|
||||
|
||||
@@ -394,8 +384,7 @@ public class VirtualDeviceManagerServiceTest {
|
||||
mPendingTrampolineCallback, mActivityListener, mRunningAppsChangedCallback, params);
|
||||
mVdms.addVirtualDevice(mDeviceImpl);
|
||||
|
||||
assertThat(
|
||||
mLocalService.getDevicePolicy(mDeviceImpl.getDeviceId(), POLICY_TYPE_SENSORS))
|
||||
assertThat(mVdm.getDevicePolicy(mDeviceImpl.getDeviceId(), POLICY_TYPE_SENSORS))
|
||||
.isEqualTo(DEVICE_POLICY_CUSTOM);
|
||||
}
|
||||
|
||||
@@ -1196,18 +1185,4 @@ public class VirtualDeviceManagerServiceTest {
|
||||
verify(mContext).startActivityAsUser(argThat(intent ->
|
||||
intent.filterEquals(blockedAppIntent)), any(), any());
|
||||
}
|
||||
|
||||
private VirtualDeviceImpl createVirtualDevice(int virtualDeviceId) {
|
||||
VirtualDeviceParams params = new VirtualDeviceParams
|
||||
.Builder()
|
||||
.setBlockedActivities(getBlockedActivities())
|
||||
.build();
|
||||
VirtualDeviceImpl virtualDeviceImpl = new VirtualDeviceImpl(mContext,
|
||||
mAssociationInfo, new Binder(), /* ownerUid */ 0, virtualDeviceId,
|
||||
mInputController, mSensorController, (int associationId) -> {},
|
||||
mPendingTrampolineCallback, mActivityListener, mRunningAppsChangedCallback, params);
|
||||
mVdms.addVirtualDevice(virtualDeviceImpl);
|
||||
return virtualDeviceImpl;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user