diff --git a/services/core/java/com/android/server/display/DisplayPowerController.java b/services/core/java/com/android/server/display/DisplayPowerController.java index 25848002b9363..47e880a3fce20 100644 --- a/services/core/java/com/android/server/display/DisplayPowerController.java +++ b/services/core/java/com/android/server/display/DisplayPowerController.java @@ -1372,8 +1372,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