Merge "Prevent paused ThresholdSensorImpl event delivery." into rvc-d1-dev am: d688f8ba58 am: a1e3f76ccf

Change-Id: Ife0b6b47980a8a2443763375b2ee19d3c58d30c9
This commit is contained in:
TreeHugger Robot
2020-04-28 21:54:38 +00:00
committed by Automerger Merge Worker
2 changed files with 18 additions and 1 deletions

View File

@@ -167,7 +167,7 @@ class ThresholdSensorImpl implements ThresholdSensor {
private void onSensorEvent(boolean below, long timestampNs) {
Assert.isMainThread();
if (mLastBelow != null && mLastBelow == below) {
if (!mRegistered || mLastBelow != null && mLastBelow == below) {
return;
}
mLastBelow = below;

View File

@@ -226,6 +226,23 @@ public class ThresholdSensorImplTest extends SysuiTestCase {
waitForSensorManager();
}
@Test
public void testAlertAfterPause() {
TestableListener listener = new TestableListener();
mThresholdSensor.register(listener);
waitForSensorManager();
mFakeProximitySensor.sendProximityResult(false);
assertTrue(listener.mBelow);
assertEquals(1, listener.mCallCount);
mThresholdSensor.pause();
mFakeProximitySensor.sendProximityResult(false);
assertTrue(listener.mBelow);
assertEquals(1, listener.mCallCount);
}
static class TestableListener implements ThresholdSensor.Listener {
boolean mBelow;
long mTimestampNs;