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

Commit e37a7d5e authored by Josh Tsuji's avatar Josh Tsuji Committed by Android (Google) Code Review
Browse files

Merge "Release doze wake lock when doze dream is stopped" into tm-qpr-dev

parents 94a082e3 3e24dc39
Loading
Loading
Loading
Loading
+4 −0
Original line number Diff line number Diff line
@@ -244,7 +244,10 @@ final class DreamController {
                }

                mListener.onDreamStopped(dream.mToken);
            } else if (dream.mCanDoze && !mCurrentDream.mCanDoze) {
                mListener.stopDozing(dream.mToken);
            }

        } finally {
            Trace.traceEnd(Trace.TRACE_TAG_POWER);
        }
@@ -289,6 +292,7 @@ final class DreamController {
     */
    public interface Listener {
        void onDreamStopped(Binder token);
        void stopDozing(Binder token);
    }

    private final class DreamRecord implements DeathRecipient, ServiceConnection {
+11 −1
Original line number Diff line number Diff line
@@ -499,7 +499,12 @@ public final class DreamManagerService extends SystemService {
        }

        synchronized (mLock) {
            if (mCurrentDream != null && mCurrentDream.token == token && mCurrentDream.isDozing) {
            if (mCurrentDream == null) {
                return;
            }

            final boolean sameDream = mCurrentDream.token == token;
            if ((sameDream && mCurrentDream.isDozing) || (!sameDream && !mCurrentDream.isDozing)) {
                mCurrentDream.isDozing = false;
                mDozeWakeLock.release();
                mPowerManagerInternal.setDozeOverrideFromDreamManager(
@@ -765,6 +770,11 @@ public final class DreamManagerService extends SystemService {
                }
            }
        }

        @Override
        public void stopDozing(Binder token) {
            stopDozingInternal(token);
        }
    };

    private final ContentObserver mDozeEnabledObserver = new ContentObserver(null) {