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

Commit ec839428 authored by Automerger Merge Worker's avatar Automerger Merge Worker
Browse files

Merge "Prevent multiple registration of ProximitySensor" into rvc-dev am:...

Merge "Prevent multiple registration of ProximitySensor" into rvc-dev am: a48ee0fc am: aa762d48 am: 28fc22a1

Change-Id: I520e07806b7db46ecfde72fcaf2121a40508ee6b
parents cb9f14c3 28fc22a1
Loading
Loading
Loading
Loading
+5 −1
Original line number Original line Diff line number Diff line
@@ -170,7 +170,11 @@ public class ProximitySensor {
            return false;
            return false;
        }
        }


        if (mListeners.contains(listener)) {
            Log.d(TAG, "ProxListener registered multiple times: " + listener);
        } else {
            mListeners.add(listener);
            mListeners.add(listener);
        }
        registerInternal();
        registerInternal();


        return true;
        return true;
+24 −0
Original line number Original line Diff line number Diff line
@@ -103,6 +103,30 @@ public class ProximitySensorTest extends SysuiTestCase {
        waitForSensorManager();
        waitForSensorManager();
    }
    }


    @Test
    public void testDuplicateListener() {
        TestableListener listenerA = new TestableListener();

        assertFalse(mProximitySensor.isRegistered());

        mProximitySensor.register(listenerA);
        waitForSensorManager();
        assertTrue(mProximitySensor.isRegistered());
        mProximitySensor.register(listenerA);
        waitForSensorManager();
        assertTrue(mProximitySensor.isRegistered());
        assertNull(listenerA.mLastEvent);

        mFakeProximitySensor.sendProximityResult(true);
        assertFalse(listenerA.mLastEvent.getNear());
        assertEquals(listenerA.mCallCount, 1);
        mFakeProximitySensor.sendProximityResult(false);
        assertTrue(listenerA.mLastEvent.getNear());
        assertEquals(listenerA.mCallCount, 2);

        mProximitySensor.unregister(listenerA);
        waitForSensorManager();
    }
    @Test
    @Test
    public void testUnregister() {
    public void testUnregister() {
        TestableListener listener = new TestableListener();
        TestableListener listener = new TestableListener();