Merge "WaitForNegativeProximity stopped with power button." into sc-dev

This commit is contained in:
Neha Jain
2021-08-19 17:53:40 +00:00
committed by Android (Google) Code Review
2 changed files with 10 additions and 2 deletions

View File

@@ -2122,7 +2122,6 @@ final class DisplayPowerController implements AutomaticBrightnessController.Call
private void ignoreProximitySensorUntilChangedInternal() { private void ignoreProximitySensorUntilChangedInternal() {
if (!mIgnoreProximityUntilChanged if (!mIgnoreProximityUntilChanged
&& mPowerRequest.useProximitySensor
&& mProximity == PROXIMITY_POSITIVE) { && mProximity == PROXIMITY_POSITIVE) {
// Only ignore if it is still reporting positive (near) // Only ignore if it is still reporting positive (near)
mIgnoreProximityUntilChanged = true; mIgnoreProximityUntilChanged = true;

View File

@@ -533,6 +533,11 @@ public final class PowerManagerService extends SystemService
// True if the proximity sensor reads a positive result. // True if the proximity sensor reads a positive result.
private boolean mProximityPositive; private boolean mProximityPositive;
// Indicates that we have already intercepted the power key to temporarily ignore the proximity
// wake lock and turn the screen back on. This should get reset when prox reads 'far' again
// (when {@link #mProximityPositive} is set to false).
private boolean mInterceptedPowerKeyForProximity;
// Screen brightness setting limits. // Screen brightness setting limits.
public final float mScreenBrightnessMinimum; public final float mScreenBrightnessMinimum;
public final float mScreenBrightnessMaximum; public final float mScreenBrightnessMaximum;
@@ -3318,6 +3323,7 @@ public final class PowerManagerService extends SystemService
public void onProximityNegative() { public void onProximityNegative() {
synchronized (mLock) { synchronized (mLock) {
mProximityPositive = false; mProximityPositive = false;
mInterceptedPowerKeyForProximity = false;
mDirty |= DIRTY_PROXIMITY_POSITIVE; mDirty |= DIRTY_PROXIMITY_POSITIVE;
userActivityNoUpdateLocked(Display.DEFAULT_DISPLAY_GROUP, mClock.uptimeMillis(), userActivityNoUpdateLocked(Display.DEFAULT_DISPLAY_GROUP, mClock.uptimeMillis(),
PowerManager.USER_ACTIVITY_EVENT_OTHER, 0, Process.SYSTEM_UID); PowerManager.USER_ACTIVITY_EVENT_OTHER, 0, Process.SYSTEM_UID);
@@ -4158,6 +4164,8 @@ public final class PowerManagerService extends SystemService
} }
pw.println(); pw.println();
pw.println(" mRequestWaitForNegativeProximity=" + mRequestWaitForNegativeProximity); pw.println(" mRequestWaitForNegativeProximity=" + mRequestWaitForNegativeProximity);
pw.println(" mInterceptedPowerKeyForProximity="
+ mInterceptedPowerKeyForProximity);
pw.println(" mSandmanScheduled=" + mSandmanScheduled); pw.println(" mSandmanScheduled=" + mSandmanScheduled);
pw.println(" mBatteryLevelLow=" + mBatteryLevelLow); pw.println(" mBatteryLevelLow=" + mBatteryLevelLow);
pw.println(" mLightDeviceIdleMode=" + mLightDeviceIdleMode); pw.println(" mLightDeviceIdleMode=" + mLightDeviceIdleMode);
@@ -5989,8 +5997,9 @@ public final class PowerManagerService extends SystemService
final DisplayPowerRequest displayPowerRequest = final DisplayPowerRequest displayPowerRequest =
mDisplayGroupPowerStateMapper.getPowerRequestLocked( mDisplayGroupPowerStateMapper.getPowerRequestLocked(
Display.DEFAULT_DISPLAY_GROUP); Display.DEFAULT_DISPLAY_GROUP);
if (displayPowerRequest.useProximitySensor && mProximityPositive) { if (mProximityPositive && !mInterceptedPowerKeyForProximity) {
mDisplayManagerInternal.ignoreProximitySensorUntilChanged(); mDisplayManagerInternal.ignoreProximitySensorUntilChanged();
mInterceptedPowerKeyForProximity = true;
return true; return true;
} }
} }