From 905a8d5f28f1492748b7d88ce73318bc8f573337 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Piotr=20Wilczy=C5=84ski?= Date: Fri, 17 Feb 2023 13:07:07 +0000 Subject: [PATCH] Report negative proximity if we lose the prox sensor Bug: 265612914 Test: Start a phone call, cover the prox sensor so the screen turns off, perform a state transition so that we no longer have a prox sensor, see that the screen turns back on. Change-Id: I01e7c8ad2a5dc8fb9e01aa6e9622d2b4dbd812df Merged-In: I01e7c8ad2a5dc8fb9e01aa6e9622d2b4dbd812df --- .../android/server/display/DisplayPowerController.java | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/services/core/java/com/android/server/display/DisplayPowerController.java b/services/core/java/com/android/server/display/DisplayPowerController.java index 8025fa60ca2b1..e21ca7d1def61 100644 --- a/services/core/java/com/android/server/display/DisplayPowerController.java +++ b/services/core/java/com/android/server/display/DisplayPowerController.java @@ -1358,8 +1358,17 @@ final class DisplayPowerController implements AutomaticBrightnessController.Call sendOnProximityNegativeWithWakelock(); } } else { + setProximitySensorEnabled(false); mWaitingForNegativeProximity = false; mIgnoreProximityUntilChanged = false; + + if (mScreenOffBecauseOfProximity) { + // The screen *was* off due to prox being near, but now there's no prox sensor, so + // let's turn the screen back on. + mScreenOffBecauseOfProximity = false; + skipRampBecauseOfProximityChangeToNegative = true; + sendOnProximityNegativeWithWakelock(); + } } if (!mIsEnabled