Update reference to top activity.

A condition dealing with a paused top activity references the last
paused activity rather than the top activity.

Bug: 65620111
Test: cts/hostsidetests/services/activityandwindowmanager/util/run-test CtsServicesHostTestCases android.server.cts.ActivityManagerDisplayTests#testExternalDisplayActivityTurnPrimaryOff
Change-Id: Ie67cb8b103e7dec59b1c0b40a5bb35ef0c3cb2b7
This commit is contained in:
Bryce Lee
2017-09-12 09:50:35 -07:00
parent 6201780278
commit 6a149f699e

View File

@@ -1190,6 +1190,7 @@ class ActivityStack<T extends StackWindowController> extends ConfigurationContai
* process of going to sleep (checkReadyForSleep will be called when that process finishes).
*/
boolean goToSleepIfPossible(boolean shuttingDown) {
final ActivityRecord topActivity = topActivity();
boolean shouldSleep = true;
if (mResumedActivity != null) {
@@ -1214,10 +1215,10 @@ class ActivityStack<T extends StackWindowController> extends ConfigurationContai
// Still waiting for something to pause; can't sleep yet.
if (DEBUG_PAUSE) Slog.v(TAG_PAUSE, "Sleep still waiting to pause " + mPausingActivity);
shouldSleep = false;
} else if (topActivity() != null && topActivity().state == ActivityState.PAUSED) {
} else if (topActivity != null && topActivity.state == ActivityState.PAUSED) {
// Our top activity is currently paused, we need to ensure we move it to the stopped
// state.
stopActivityLocked(mLastPausedActivity);
stopActivityLocked(topActivity);
shouldSleep = false;
}