Loading packages/SystemUI/src/com/android/systemui/util/sensors/ProximitySensor.java +2 −2 Original line number Diff line number Diff line Loading @@ -92,11 +92,11 @@ public class ProximitySensor implements ThresholdSensor { } logDebug("Secondary sensor event: " + event.getBelow() + "."); onSensorEvent(event); // Check this sensor again in a moment. mCancelSecondaryRunnable = mDelayableExecutor.executeDelayed( mSecondaryThresholdSensor::resume, SECONDARY_PING_INTERVAL_MS); onSensorEvent(event); } }; Loading packages/SystemUI/tests/src/com/android/systemui/util/sensors/ProximitySensorDualTest.java +31 −0 Original line number Diff line number Diff line Loading @@ -262,6 +262,37 @@ public class ProximitySensorDualTest extends SysuiTestCase { mProximitySensor.unregister(listener); } @Test public void testSecondaryCancelsSecondary() { TestableListener listener = new TestableListener(); ThresholdSensor.Listener cancelingListener = new ThresholdSensor.Listener() { @Override public void onThresholdCrossed(ThresholdSensor.ThresholdSensorEvent event) { mProximitySensor.pause(); } }; mProximitySensor.register(listener); mProximitySensor.register(cancelingListener); assertNull(listener.mLastEvent); assertEquals(0, listener.mCallCount); mThresholdSensorPrimary.triggerEvent(true, 0); assertNull(listener.mLastEvent); assertEquals(0, listener.mCallCount); mThresholdSensorSecondary.triggerEvent(true, 0); assertTrue(listener.mLastEvent.getBelow()); assertEquals(1, listener.mCallCount); // The proximity sensor should now be canceled. Advancing the clock should do nothing. assertEquals(0, mFakeExecutor.numPending()); mThresholdSensorSecondary.triggerEvent(false, 1); assertTrue(listener.mLastEvent.getBelow()); assertEquals(1, listener.mCallCount); mProximitySensor.unregister(listener); } private static class TestableListener implements ThresholdSensor.Listener { ThresholdSensor.ThresholdSensorEvent mLastEvent; int mCallCount = 0; Loading Loading
packages/SystemUI/src/com/android/systemui/util/sensors/ProximitySensor.java +2 −2 Original line number Diff line number Diff line Loading @@ -92,11 +92,11 @@ public class ProximitySensor implements ThresholdSensor { } logDebug("Secondary sensor event: " + event.getBelow() + "."); onSensorEvent(event); // Check this sensor again in a moment. mCancelSecondaryRunnable = mDelayableExecutor.executeDelayed( mSecondaryThresholdSensor::resume, SECONDARY_PING_INTERVAL_MS); onSensorEvent(event); } }; Loading
packages/SystemUI/tests/src/com/android/systemui/util/sensors/ProximitySensorDualTest.java +31 −0 Original line number Diff line number Diff line Loading @@ -262,6 +262,37 @@ public class ProximitySensorDualTest extends SysuiTestCase { mProximitySensor.unregister(listener); } @Test public void testSecondaryCancelsSecondary() { TestableListener listener = new TestableListener(); ThresholdSensor.Listener cancelingListener = new ThresholdSensor.Listener() { @Override public void onThresholdCrossed(ThresholdSensor.ThresholdSensorEvent event) { mProximitySensor.pause(); } }; mProximitySensor.register(listener); mProximitySensor.register(cancelingListener); assertNull(listener.mLastEvent); assertEquals(0, listener.mCallCount); mThresholdSensorPrimary.triggerEvent(true, 0); assertNull(listener.mLastEvent); assertEquals(0, listener.mCallCount); mThresholdSensorSecondary.triggerEvent(true, 0); assertTrue(listener.mLastEvent.getBelow()); assertEquals(1, listener.mCallCount); // The proximity sensor should now be canceled. Advancing the clock should do nothing. assertEquals(0, mFakeExecutor.numPending()); mThresholdSensorSecondary.triggerEvent(false, 1); assertTrue(listener.mLastEvent.getBelow()); assertEquals(1, listener.mCallCount); mProximitySensor.unregister(listener); } private static class TestableListener implements ThresholdSensor.Listener { ThresholdSensor.ThresholdSensorEvent mLastEvent; int mCallCount = 0; Loading