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

Commit 80e19c05 authored by Galia Peycheva's avatar Galia Peycheva Committed by Android (Google) Code Review
Browse files

Merge "Release doze wake lock when doze dream is stopped"

parents 03749842 eeaba58c
Loading
Loading
Loading
Loading
+4 −0
Original line number Diff line number Diff line
@@ -292,7 +292,10 @@ final class DreamController {
                        new int[] {ACTIVITY_TYPE_DREAM});

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

        } finally {
            Trace.traceEnd(Trace.TRACE_TAG_POWER);
        }
@@ -338,6 +341,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(
@@ -768,6 +773,11 @@ public final class DreamManagerService extends SystemService {
                }
            }
        }

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

    private final ContentObserver mDozeEnabledObserver = new ContentObserver(null) {