Merge "Release doze lock when the dream component changes" into tm-qpr-dev am: 3437745a96
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/21305722 Change-Id: Ic8ec681f746de82e7ed2290ead29ec81831d44d5 Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
This commit is contained in:
@@ -244,8 +244,6 @@ final class DreamController {
|
|||||||
}
|
}
|
||||||
|
|
||||||
mListener.onDreamStopped(dream.mToken);
|
mListener.onDreamStopped(dream.mToken);
|
||||||
} else if (dream.mCanDoze && !mCurrentDream.mCanDoze) {
|
|
||||||
mListener.stopDozing(dream.mToken);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
} finally {
|
} finally {
|
||||||
@@ -292,7 +290,6 @@ final class DreamController {
|
|||||||
*/
|
*/
|
||||||
public interface Listener {
|
public interface Listener {
|
||||||
void onDreamStopped(Binder token);
|
void onDreamStopped(Binder token);
|
||||||
void stopDozing(Binder token);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private final class DreamRecord implements DeathRecipient, ServiceConnection {
|
private final class DreamRecord implements DeathRecipient, ServiceConnection {
|
||||||
|
|||||||
@@ -499,12 +499,7 @@ public final class DreamManagerService extends SystemService {
|
|||||||
}
|
}
|
||||||
|
|
||||||
synchronized (mLock) {
|
synchronized (mLock) {
|
||||||
if (mCurrentDream == null) {
|
if (mCurrentDream != null && mCurrentDream.token == token && mCurrentDream.isDozing) {
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
final boolean sameDream = mCurrentDream.token == token;
|
|
||||||
if ((sameDream && mCurrentDream.isDozing) || (!sameDream && !mCurrentDream.isDozing)) {
|
|
||||||
mCurrentDream.isDozing = false;
|
mCurrentDream.isDozing = false;
|
||||||
mDozeWakeLock.release();
|
mDozeWakeLock.release();
|
||||||
mPowerManagerInternal.setDozeOverrideFromDreamManager(
|
mPowerManagerInternal.setDozeOverrideFromDreamManager(
|
||||||
@@ -665,6 +660,10 @@ public final class DreamManagerService extends SystemService {
|
|||||||
|
|
||||||
Slog.i(TAG, "Entering dreamland.");
|
Slog.i(TAG, "Entering dreamland.");
|
||||||
|
|
||||||
|
if (mCurrentDream != null && mCurrentDream.isDozing) {
|
||||||
|
stopDozingInternal(mCurrentDream.token);
|
||||||
|
}
|
||||||
|
|
||||||
mCurrentDream = new DreamRecord(name, userId, isPreviewMode, canDoze);
|
mCurrentDream = new DreamRecord(name, userId, isPreviewMode, canDoze);
|
||||||
|
|
||||||
if (!mCurrentDream.name.equals(mAmbientDisplayComponent)) {
|
if (!mCurrentDream.name.equals(mAmbientDisplayComponent)) {
|
||||||
@@ -770,11 +769,6 @@ public final class DreamManagerService extends SystemService {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
|
||||||
public void stopDozing(Binder token) {
|
|
||||||
stopDozingInternal(token);
|
|
||||||
}
|
|
||||||
};
|
};
|
||||||
|
|
||||||
private final ContentObserver mDozeEnabledObserver = new ContentObserver(null) {
|
private final ContentObserver mDozeEnabledObserver = new ContentObserver(null) {
|
||||||
|
|||||||
Reference in New Issue
Block a user