Merge "Auto remove the embedded task from Recents" into sc-v2-dev am: 7e7f9d4d43

Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/15500461

Change-Id: Ib75d540d27eb172e9f316b3b05daf626f70c26d9
This commit is contained in:
Louis Chang
2021-08-11 03:51:07 +00:00
committed by Automerger Merge Worker

View File

@@ -722,7 +722,7 @@ class Task extends TaskFragment {
} catch (RemoteException e) {
}
}
if (autoRemoveFromRecents() || isVoiceSession) {
if (autoRemoveFromRecents(oldParent.asTaskFragment()) || isVoiceSession) {
// Task creator asked to remove this when done, or this task was a voice
// interaction, so it should not remain on the recent tasks list.
mTaskSupervisor.mRecentTasks.remove(this);
@@ -1577,11 +1577,12 @@ class Task extends TaskFragment {
return count > 0;
}
private boolean autoRemoveFromRecents() {
private boolean autoRemoveFromRecents(TaskFragment oldParentFragment) {
// We will automatically remove the task either if it has explicitly asked for
// this, or it is empty and has never contained an activity that got shown to
// the user.
return autoRemoveRecents || (!hasChild() && !getHasBeenVisible());
// the user, or it was being embedded in another Task.
return autoRemoveRecents || (!hasChild() && !getHasBeenVisible()
|| (oldParentFragment != null && oldParentFragment.isEmbedded()));
}
private void clearPinnedTaskIfNeed() {