From 06d38cabf6fb02ee1e04d3e8612d071e573a0bfa Mon Sep 17 00:00:00 2001 From: Dave Mankoff Date: Mon, 3 Aug 2020 16:02:08 -0400 Subject: [PATCH] Alert ProxCheck listeners directly when timing out. Before this change, we were relying on the ProximitySensor class to circle back and tell the ProximityCheck class about null results. When the ProximitySensor class changed, this broke ProxCheck. The ProxCheck class now directly alerts its listeners when it times out. A test has been added to cover this case now. Fixes: 162205584 Test: atest SystemUiTests && Manual Change-Id: Ie48589a54daae3e29defde9ed2300f3c7e2b88ae --- .../com/android/systemui/util/sensors/ProximitySensor.java | 2 +- .../android/systemui/util/sensors/ProximityCheckTest.java | 6 ++++++ 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/packages/SystemUI/src/com/android/systemui/util/sensors/ProximitySensor.java b/packages/SystemUI/src/com/android/systemui/util/sensors/ProximitySensor.java index 9fa03df4229aa..06806d0e6ab6c 100644 --- a/packages/SystemUI/src/com/android/systemui/util/sensors/ProximitySensor.java +++ b/packages/SystemUI/src/com/android/systemui/util/sensors/ProximitySensor.java @@ -338,7 +338,7 @@ public class ProximitySensor implements ThresholdSensor { @Override public void run() { unregister(); - mSensor.alertListeners(); + onProximityEvent(null); } /** diff --git a/packages/SystemUI/tests/src/com/android/systemui/util/sensors/ProximityCheckTest.java b/packages/SystemUI/tests/src/com/android/systemui/util/sensors/ProximityCheckTest.java index 8ba11dae2b5c2..c5a197eef2d49 100644 --- a/packages/SystemUI/tests/src/com/android/systemui/util/sensors/ProximityCheckTest.java +++ b/packages/SystemUI/tests/src/com/android/systemui/util/sensors/ProximityCheckTest.java @@ -16,6 +16,7 @@ package com.android.systemui.util.sensors; +import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertFalse; import static org.junit.Assert.assertNull; import static org.junit.Assert.assertTrue; @@ -80,6 +81,8 @@ public class ProximityCheckTest extends SysuiTestCase { mFakeExecutor.runAllReady(); assertFalse(mFakeProximitySensor.isRegistered()); + assertEquals(1, mTestableCallback.mNumCalls); + assertNull(mTestableCallback.mLastResult); } @Test @@ -110,9 +113,12 @@ public class ProximityCheckTest extends SysuiTestCase { private static class TestableCallback implements Consumer { Boolean mLastResult; + int mNumCalls = 0; + @Override public void accept(Boolean result) { mLastResult = result; + mNumCalls++; } } }