Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 15bbec6c authored by Dave Mankoff's avatar Dave Mankoff
Browse files

Ensure that notifications don't wake the screen even when far away.

This means that, with AOD on _and_ with the setting to wake the screen
for new notificdations, we still _don't_ wake the screen, if the
phone doesn't think someone is nearby.

Bug: 135452672
Test: manual.
Change-Id: Ie2ca292bd7eb092a78e6e264b0e75e42b39d577f
parent e8c61a23
Loading
Loading
Loading
Loading
+19 −5
Original line number Diff line number Diff line
@@ -107,9 +107,17 @@ public class DozeTriggers implements DozeMachine.Part {
    }

    private void onNotification() {
        if (DozeMachine.DEBUG) Log.d(TAG, "requestNotificationPulse");
        if (DozeMachine.DEBUG) {
            Log.d(TAG, "requestNotificationPulse");
        }
        if (!sWakeDisplaySensorState) {
            Log.d(TAG, "Wake display false. Pulse denied.");
            return;
        }
        mNotificationPulseTime = SystemClock.elapsedRealtime();
        if (!mConfig.pulseOnNotificationEnabled(UserHandle.USER_CURRENT)) return;
        if (!mConfig.pulseOnNotificationEnabled(UserHandle.USER_CURRENT)) {
            return;
        }
        requestPulse(DozeLog.PULSE_REASON_NOTIFICATION, false /* performedProxCheck */);
        DozeLog.traceNotificationPulse(mContext);
    }
@@ -216,15 +224,21 @@ public class DozeTriggers implements DozeMachine.Part {
        if (state == DozeMachine.State.DOZE_PULSING
                || state == DozeMachine.State.DOZE_PULSING_BRIGHT) {
            boolean ignoreTouch = near;
            if (DEBUG) Log.i(TAG, "Prox changed, ignore touch = " + ignoreTouch);
            if (DEBUG) {
                Log.i(TAG, "Prox changed, ignore touch = " + ignoreTouch);
            }
            mDozeHost.onIgnoreTouchWhilePulsing(ignoreTouch);
        }

        if (far && (paused || pausing)) {
            if (DEBUG) Log.i(TAG, "Prox FAR, unpausing AOD");
            if (DEBUG) {
                Log.i(TAG, "Prox FAR, unpausing AOD");
            }
            mMachine.requestState(DozeMachine.State.DOZE_AOD);
        } else if (near && aod) {
            if (DEBUG) Log.i(TAG, "Prox NEAR, pausing AOD");
            if (DEBUG) {
                Log.i(TAG, "Prox NEAR, pausing AOD");
            }
            mMachine.requestState(DozeMachine.State.DOZE_AOD_PAUSING);
        }
    }