Merge "Add oldDream to mPreviousDreams always when dreams overlap" into udc-dev
This commit is contained in:
@@ -158,15 +158,14 @@ final class DreamController {
|
|||||||
final DreamRecord oldDream = mCurrentDream;
|
final DreamRecord oldDream = mCurrentDream;
|
||||||
mCurrentDream = new DreamRecord(token, name, isPreviewMode, canDoze, userId, wakeLock);
|
mCurrentDream = new DreamRecord(token, name, isPreviewMode, canDoze, userId, wakeLock);
|
||||||
if (oldDream != null) {
|
if (oldDream != null) {
|
||||||
if (!oldDream.mWakingGently) {
|
if (Objects.equals(oldDream.mName, mCurrentDream.mName)) {
|
||||||
// We will stop these previous dreams once the new dream is started.
|
|
||||||
mPreviousDreams.add(oldDream);
|
|
||||||
} else if (Objects.equals(oldDream.mName, mCurrentDream.mName)) {
|
|
||||||
// We are attempting to start a dream that is currently waking up gently.
|
// We are attempting to start a dream that is currently waking up gently.
|
||||||
// Let's silently stop the old instance here to clear the dream state.
|
// Let's silently stop the old instance here to clear the dream state.
|
||||||
// This should happen after the new mCurrentDream is set to avoid announcing
|
// This should happen after the new mCurrentDream is set to avoid announcing
|
||||||
// a "dream stopped" state.
|
// a "dream stopped" state.
|
||||||
stopDreamInstance(/* immediately */ true, "restarting same dream", oldDream);
|
stopDreamInstance(/* immediately */ true, "restarting same dream", oldDream);
|
||||||
|
} else {
|
||||||
|
mPreviousDreams.add(oldDream);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user