Loading packages/SystemUI/src/com/android/systemui/util/sensors/ProximitySensor.java +8 −7 Original line number Diff line number Diff line Loading @@ -83,20 +83,21 @@ public class ProximitySensor implements ThresholdSensor { private ThresholdSensor.Listener mSecondaryEventListener = new ThresholdSensor.Listener() { @Override public void onThresholdCrossed(ThresholdSensorEvent event) { // This sensor should only be used briefly. Turn it off as soon as we get a reading. mSecondaryThresholdSensor.pause(); // Only check the secondary as long as the primary thinks we're near. if (!mLastPrimaryEvent.getBelow()) { mSecondaryThresholdSensor.pause(); mCancelSecondaryRunnable = null; return; } logDebug("Secondary sensor event: " + event.getBelow() + "."); // This sensor should only be used briefly when uncovered. if (!event.getBelow()) { mSecondaryThresholdSensor.pause(); // Check this sensor again in a moment. mCancelSecondaryRunnable = mDelayableExecutor.executeDelayed( mSecondaryThresholdSensor::resume, SECONDARY_PING_INTERVAL_MS); } onSensorEvent(event); } }; Loading packages/SystemUI/src/com/android/systemui/util/sensors/ThresholdSensorImpl.java +1 −1 Original line number Diff line number Diff line Loading @@ -51,7 +51,7 @@ class ThresholdSensorImpl implements ThresholdSensor { @Override public void onSensorChanged(SensorEvent event) { boolean below = event.values[0] < mThreshold; boolean above = event.values[0] > mThresholdLatch; boolean above = event.values[0] >= mThresholdLatch; logDebug("Sensor value: " + event.values[0]); onSensorEvent(below, above, event.timestamp); } Loading packages/SystemUI/tests/src/com/android/systemui/util/sensors/ProximitySensorDualTest.java +10 −11 Original line number Diff line number Diff line Loading @@ -86,10 +86,9 @@ public class ProximitySensorDualTest extends SysuiTestCase { // Trigger second sensor. mThresholdSensorSecondary.triggerEvent(true, 0); assertFalse(mThresholdSensorPrimary.isPaused()); assertTrue(mThresholdSensorSecondary.isPaused()); assertFalse(mThresholdSensorSecondary.isPaused()); assertTrue(listener.mLastEvent.getBelow()); assertEquals(1, listener.mCallCount); assertTrue(mThresholdSensorSecondary.isPaused()); mProximitySensor.unregister(listener); } Loading @@ -109,23 +108,23 @@ public class ProximitySensorDualTest extends SysuiTestCase { assertNull(listener.mLastEvent); assertEquals(0, listener.mCallCount); // Trigger second sensor. // Trigger second sensor. Second sensor remains registered. mThresholdSensorSecondary.triggerEvent(true, 0); assertTrue(listener.mLastEvent.getBelow()); assertEquals(1, listener.mCallCount); assertTrue(mThresholdSensorSecondary.isPaused()); // Advance time. Second sensor should resume. mFakeExecutor.advanceClockToNext(); mFakeExecutor.runNextReady(); assertFalse(mThresholdSensorSecondary.isPaused()); // Triggering should pause again. // Triggering above should pause. mThresholdSensorSecondary.triggerEvent(false, 0); assertFalse(listener.mLastEvent.getBelow()); assertEquals(2, listener.mCallCount); assertTrue(mThresholdSensorSecondary.isPaused()); // Advance time. Second sensor should resume. mFakeExecutor.advanceClockToNext(); mFakeExecutor.runNextReady(); assertFalse(mThresholdSensorSecondary.isPaused()); mProximitySensor.unregister(listener); } Loading @@ -143,7 +142,7 @@ public class ProximitySensorDualTest extends SysuiTestCase { mThresholdSensorPrimary.triggerEvent(true, 0); mThresholdSensorSecondary.triggerEvent(true, 0); assertFalse(mThresholdSensorPrimary.isPaused()); assertTrue(mThresholdSensorSecondary.isPaused()); assertFalse(mThresholdSensorSecondary.isPaused()); assertTrue(listener.mLastEvent.getBelow()); assertEquals(1, listener.mCallCount); Loading @@ -165,7 +164,7 @@ public class ProximitySensorDualTest extends SysuiTestCase { mThresholdSensorPrimary.triggerEvent(true, 0); mThresholdSensorSecondary.triggerEvent(true, 0); assertFalse(mThresholdSensorPrimary.isPaused()); assertTrue(mThresholdSensorSecondary.isPaused()); assertFalse(mThresholdSensorSecondary.isPaused()); assertTrue(listener.mLastEvent.getBelow()); assertEquals(1, listener.mCallCount); Loading packages/SystemUI/tests/src/com/android/systemui/util/sensors/ThresholdSensorImplTest.java +1 −1 Original line number Diff line number Diff line Loading @@ -259,7 +259,7 @@ public class ThresholdSensorImplTest extends SysuiTestCase { assertTrue(listener.mBelow); assertEquals(1, listener.mCallCount); sensor.sendSensorEvent(highValue + 1); sensor.sendSensorEvent(highValue); assertFalse(listener.mBelow); assertEquals(2, listener.mCallCount); Loading Loading
packages/SystemUI/src/com/android/systemui/util/sensors/ProximitySensor.java +8 −7 Original line number Diff line number Diff line Loading @@ -83,20 +83,21 @@ public class ProximitySensor implements ThresholdSensor { private ThresholdSensor.Listener mSecondaryEventListener = new ThresholdSensor.Listener() { @Override public void onThresholdCrossed(ThresholdSensorEvent event) { // This sensor should only be used briefly. Turn it off as soon as we get a reading. mSecondaryThresholdSensor.pause(); // Only check the secondary as long as the primary thinks we're near. if (!mLastPrimaryEvent.getBelow()) { mSecondaryThresholdSensor.pause(); mCancelSecondaryRunnable = null; return; } logDebug("Secondary sensor event: " + event.getBelow() + "."); // This sensor should only be used briefly when uncovered. if (!event.getBelow()) { mSecondaryThresholdSensor.pause(); // Check this sensor again in a moment. mCancelSecondaryRunnable = mDelayableExecutor.executeDelayed( mSecondaryThresholdSensor::resume, SECONDARY_PING_INTERVAL_MS); } onSensorEvent(event); } }; Loading
packages/SystemUI/src/com/android/systemui/util/sensors/ThresholdSensorImpl.java +1 −1 Original line number Diff line number Diff line Loading @@ -51,7 +51,7 @@ class ThresholdSensorImpl implements ThresholdSensor { @Override public void onSensorChanged(SensorEvent event) { boolean below = event.values[0] < mThreshold; boolean above = event.values[0] > mThresholdLatch; boolean above = event.values[0] >= mThresholdLatch; logDebug("Sensor value: " + event.values[0]); onSensorEvent(below, above, event.timestamp); } Loading
packages/SystemUI/tests/src/com/android/systemui/util/sensors/ProximitySensorDualTest.java +10 −11 Original line number Diff line number Diff line Loading @@ -86,10 +86,9 @@ public class ProximitySensorDualTest extends SysuiTestCase { // Trigger second sensor. mThresholdSensorSecondary.triggerEvent(true, 0); assertFalse(mThresholdSensorPrimary.isPaused()); assertTrue(mThresholdSensorSecondary.isPaused()); assertFalse(mThresholdSensorSecondary.isPaused()); assertTrue(listener.mLastEvent.getBelow()); assertEquals(1, listener.mCallCount); assertTrue(mThresholdSensorSecondary.isPaused()); mProximitySensor.unregister(listener); } Loading @@ -109,23 +108,23 @@ public class ProximitySensorDualTest extends SysuiTestCase { assertNull(listener.mLastEvent); assertEquals(0, listener.mCallCount); // Trigger second sensor. // Trigger second sensor. Second sensor remains registered. mThresholdSensorSecondary.triggerEvent(true, 0); assertTrue(listener.mLastEvent.getBelow()); assertEquals(1, listener.mCallCount); assertTrue(mThresholdSensorSecondary.isPaused()); // Advance time. Second sensor should resume. mFakeExecutor.advanceClockToNext(); mFakeExecutor.runNextReady(); assertFalse(mThresholdSensorSecondary.isPaused()); // Triggering should pause again. // Triggering above should pause. mThresholdSensorSecondary.triggerEvent(false, 0); assertFalse(listener.mLastEvent.getBelow()); assertEquals(2, listener.mCallCount); assertTrue(mThresholdSensorSecondary.isPaused()); // Advance time. Second sensor should resume. mFakeExecutor.advanceClockToNext(); mFakeExecutor.runNextReady(); assertFalse(mThresholdSensorSecondary.isPaused()); mProximitySensor.unregister(listener); } Loading @@ -143,7 +142,7 @@ public class ProximitySensorDualTest extends SysuiTestCase { mThresholdSensorPrimary.triggerEvent(true, 0); mThresholdSensorSecondary.triggerEvent(true, 0); assertFalse(mThresholdSensorPrimary.isPaused()); assertTrue(mThresholdSensorSecondary.isPaused()); assertFalse(mThresholdSensorSecondary.isPaused()); assertTrue(listener.mLastEvent.getBelow()); assertEquals(1, listener.mCallCount); Loading @@ -165,7 +164,7 @@ public class ProximitySensorDualTest extends SysuiTestCase { mThresholdSensorPrimary.triggerEvent(true, 0); mThresholdSensorSecondary.triggerEvent(true, 0); assertFalse(mThresholdSensorPrimary.isPaused()); assertTrue(mThresholdSensorSecondary.isPaused()); assertFalse(mThresholdSensorSecondary.isPaused()); assertTrue(listener.mLastEvent.getBelow()); assertEquals(1, listener.mCallCount); Loading
packages/SystemUI/tests/src/com/android/systemui/util/sensors/ThresholdSensorImplTest.java +1 −1 Original line number Diff line number Diff line Loading @@ -259,7 +259,7 @@ public class ThresholdSensorImplTest extends SysuiTestCase { assertTrue(listener.mBelow); assertEquals(1, listener.mCallCount); sensor.sendSensorEvent(highValue + 1); sensor.sendSensorEvent(highValue); assertFalse(listener.mBelow); assertEquals(2, listener.mCallCount); Loading