Only need to dismiss stage if one of the task is closed.
If both stages are closed, it might be starting a new full screen task, so don't handle it. Bug: 279117417 Test: no regression on 278060807. Test: atest WMShellFlickerTests:SwitchBackToSplitFromAnotherApp Change-Id: I09be7fafff4286493bc1456eb7b22d1d2e13b172
This commit is contained in:
committed by
Wei Sheng Shih
parent
4de0ce30d8
commit
496fd6a64a
@@ -2419,12 +2419,13 @@ public class StageCoordinator implements SplitLayout.SplitLayoutHandler,
|
||||
}
|
||||
}
|
||||
}
|
||||
// If the size of dismissStages > 0, the task is closed without prepare pending
|
||||
// If the size of dismissStages == 1, one of the task is closed without prepare pending
|
||||
// transition, which could happen if all activities were finished after finish top
|
||||
// activity in a task, so the trigger task is null when handleRequest.
|
||||
// Note if the size of dismissStages == 2, it's starting a new task, so don't handle it.
|
||||
final ArraySet<StageTaskListener> dismissStages = record.getShouldDismissedStage();
|
||||
if (mMainStage.getChildCount() == 0 || mSideStage.getChildCount() == 0
|
||||
|| dismissStages.size() > 0) {
|
||||
|| dismissStages.size() == 1) {
|
||||
Log.e(TAG, "Somehow removed the last task in a stage outside of a proper "
|
||||
+ "transition.");
|
||||
final WindowContainerTransaction wct = new WindowContainerTransaction();
|
||||
|
||||
Reference in New Issue
Block a user