diff options
| author | 2019-06-22 11:58:41 +0000 | |
|---|---|---|
| committer | 2019-06-22 11:58:41 +0000 | |
| commit | 7e5e70df5875b839afcf19f7adb89c84f7c24b7c (patch) | |
| tree | be179ef1bf206b41a6c7b0e86c980a866b508836 | |
| parent | 62a7af3f502c8e45450fc66856057e817917748c (diff) | |
| parent | 9fa6d73e758517d23f38f1e6536fb756c1ca3f8b (diff) | |
Merge "Prevents posting multiple pulse requests at the same time" into qt-r1-dev
| -rw-r--r-- | packages/SystemUI/src/com/android/systemui/doze/DozeDockHandler.java | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/packages/SystemUI/src/com/android/systemui/doze/DozeDockHandler.java b/packages/SystemUI/src/com/android/systemui/doze/DozeDockHandler.java index 3c6dc7317357..1d7e9eacbd2e 100644 --- a/packages/SystemUI/src/com/android/systemui/doze/DozeDockHandler.java +++ b/packages/SystemUI/src/com/android/systemui/doze/DozeDockHandler.java @@ -43,6 +43,7 @@ public class DozeDockHandler implements DozeMachine.Part { private final DockManager mDockManager; private int mDockState = DockManager.STATE_NONE; + private boolean mPulsePending; public DozeDockHandler(Context context, DozeMachine machine, DozeHost dozeHost, AmbientDisplayConfiguration config, Handler handler, DockManager dockManager) { @@ -66,7 +67,8 @@ public class DozeDockHandler implements DozeMachine.Part { } // continue below case DOZE: - if (mDockState == DockManager.STATE_DOCKED) { + if (mDockState == DockManager.STATE_DOCKED && !mPulsePending) { + mPulsePending = true; mHandler.post(() -> requestPulse(newState)); } break; @@ -79,11 +81,10 @@ public class DozeDockHandler implements DozeMachine.Part { } private void requestPulse(State dozeState) { - if (mDozeHost.isPulsingBlocked() || !dozeState.canPulse()) { - return; + if (!mDozeHost.isPulsingBlocked() && dozeState.canPulse()) { + mMachine.requestPulse(DozeLog.PULSE_REASON_DOCKING); } - - mMachine.requestPulse(DozeLog.PULSE_REASON_DOCKING); + mPulsePending = false; } private void requestPulseOutNow(State dozeState) { |