Merge "Release doze wake lock when doze dream is stopped" into tm-qpr-dev am: e37a7d5e0c
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/21126343 Change-Id: I7040e09887d287112478d3de3aa576032423d4b7 Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
This commit is contained in:
@@ -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 {
|
||||
|
||||
@@ -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) {
|
||||
|
||||
Reference in New Issue
Block a user