Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit c3f02f91 authored by Ján Sebechlebský's avatar Ján Sebechlebský Committed by Automerger Merge Worker
Browse files

Merge "Do not share VirtualDeviceImpl lock with SensorController" into udc-dev am: d3924d0e

parents c5dcce43 d3924d0e
Loading
Loading
Loading
Loading
+4 −5
Original line number Diff line number Diff line
@@ -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);
        }
    }

+1 −2
Original line number Diff line number Diff line
@@ -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;
        }
+1 −2
Original line number Diff line number Diff line
@@ -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)
+1 −2
Original line number Diff line number Diff line
@@ -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);