Merge "Do not share VirtualDeviceImpl lock with SensorController" into udc-dev
This commit is contained in:
committed by
Android (Google) Code Review
commit
d3924d0eb1
@@ -53,19 +53,18 @@ public class SensorController {
|
||||
|
||||
private static AtomicInteger sNextDirectChannelHandle = new AtomicInteger(1);
|
||||
|
||||
private final Object mLock;
|
||||
private final Object mLock = new Object();
|
||||
private final int mVirtualDeviceId;
|
||||
@GuardedBy("mLock")
|
||||
private final Map<IBinder, SensorDescriptor> mSensorDescriptors = new ArrayMap<>();
|
||||
private final ArrayMap<IBinder, SensorDescriptor> mSensorDescriptors = new ArrayMap<>();
|
||||
|
||||
@NonNull
|
||||
private final SensorManagerInternal.RuntimeSensorCallback mRuntimeSensorCallback;
|
||||
private final SensorManagerInternal mSensorManagerInternal;
|
||||
private final VirtualDeviceManagerInternal mVdmInternal;
|
||||
|
||||
public SensorController(@NonNull Object lock, int virtualDeviceId,
|
||||
public SensorController(int virtualDeviceId,
|
||||
@Nullable IVirtualSensorCallback virtualSensorCallback) {
|
||||
mLock = lock;
|
||||
mVirtualDeviceId = virtualDeviceId;
|
||||
mRuntimeSensorCallback = new RuntimeSensorCallbackWrapper(virtualSensorCallback);
|
||||
mSensorManagerInternal = LocalServices.getService(SensorManagerInternal.class);
|
||||
@@ -185,7 +184,7 @@ public class SensorController {
|
||||
@VisibleForTesting
|
||||
Map<IBinder, SensorDescriptor> getSensorDescriptors() {
|
||||
synchronized (mLock) {
|
||||
return mSensorDescriptors;
|
||||
return new ArrayMap<>(mSensorDescriptors);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -266,8 +266,7 @@ final class VirtualDeviceImpl extends IVirtualDevice.Stub
|
||||
mInputController = inputController;
|
||||
}
|
||||
if (sensorController == null) {
|
||||
mSensorController = new SensorController(
|
||||
mVirtualDeviceLock, mDeviceId, mParams.getVirtualSensorCallback());
|
||||
mSensorController = new SensorController(mDeviceId, mParams.getVirtualSensorCallback());
|
||||
} else {
|
||||
mSensorController = sensorController;
|
||||
}
|
||||
|
||||
@@ -70,8 +70,7 @@ public class SensorControllerTest {
|
||||
LocalServices.removeServiceForTest(SensorManagerInternal.class);
|
||||
LocalServices.addService(SensorManagerInternal.class, mSensorManagerInternalMock);
|
||||
|
||||
mSensorController =
|
||||
new SensorController(new Object(), VIRTUAL_DEVICE_ID, mVirtualSensorCallback);
|
||||
mSensorController = new SensorController(VIRTUAL_DEVICE_ID, mVirtualSensorCallback);
|
||||
mSensorEvent = new VirtualSensorEvent.Builder(new float[] { 1f, 2f, 3f}).build();
|
||||
mVirtualSensorConfig =
|
||||
new VirtualSensorConfig.Builder(Sensor.TYPE_ACCELEROMETER, VIRTUAL_SENSOR_NAME)
|
||||
|
||||
@@ -359,8 +359,7 @@ public class VirtualDeviceManagerServiceTest {
|
||||
mInputController = new InputController(mNativeWrapperMock,
|
||||
new Handler(TestableLooper.get(this).getLooper()),
|
||||
mContext.getSystemService(WindowManager.class), threadVerifier);
|
||||
mSensorController =
|
||||
new SensorController(new Object(), VIRTUAL_DEVICE_ID_1, mVirtualSensorCallback);
|
||||
mSensorController = new SensorController(VIRTUAL_DEVICE_ID_1, mVirtualSensorCallback);
|
||||
mCameraAccessController =
|
||||
new CameraAccessController(mContext, mLocalService, mCameraAccessBlockedCallback);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user