Fixes testResumedWhenRecreatedFromInNonFocusedStack

If the activity is in stopping or stopped state, for instance, it's in
split screen task and not the top one, the last configuration it should
keep is the one before multi-window mode change.

Bug: 155691588
Test: atest --iteration 5 ActivityLifecycleSplitScreenTests
Change-Id: I95e469798fe67ff75abef33b5e515a09c7e4731c
This commit is contained in:
Hongwei Wang
2020-05-05 20:30:26 -07:00
parent 4775628df9
commit 290ef34cb0

View File

@@ -1160,8 +1160,14 @@ final class ActivityRecord extends WindowToken implements WindowManagerService.A
} else {
mLastReportedMultiWindowMode = inMultiWindowMode;
computeConfigurationAfterMultiWindowModeChange();
ensureActivityConfiguration(0 /* globalChanges */, PRESERVE_WINDOWS,
true /* ignoreVisibility */);
// If the activity is in stopping or stopped state, for instance, it's in the
// split screen task and not the top one, the last configuration it should keep
// is the one before multi-window mode change.
final ActivityState state = getState();
if (state != STOPPED && state != STOPPING) {
ensureActivityConfiguration(0 /* globalChanges */, PRESERVE_WINDOWS,
true /* ignoreVisibility */);
}
}
}
}