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