Add isEmpty info in SplitInfo

Currently SplitInfo callback didn't dispatched if the top Activity is
from other process than TaskFragmentOrganizer's.

This CL adds a flag isEmpty in SplitInfo to make users know if there may
be an Activity from other process even if Activity list is empty.

Bug: 202230350
Test: manual - reproducible steps mentioned in bug 202230350
Change-Id: Ie28a4db9fffb2d661592cf43f9316aa0824e4635
This commit is contained in:
Charles Chen
2021-11-01 14:46:42 +08:00
parent 9c0537028d
commit 0b7a7d6f04
3 changed files with 6 additions and 6 deletions

View File

@@ -516,12 +516,8 @@ public class SplitController implements JetpackTaskFragmentOrganizer.TaskFragmen
// Skipping containers that do not have any activities to report.
continue;
}
ActivityStack primaryContainer =
new ActivityStack(
container.getPrimaryContainer().collectActivities());
ActivityStack secondaryContainer =
new ActivityStack(
container.getSecondaryContainer().collectActivities());
ActivityStack primaryContainer = container.getPrimaryContainer().toActivityStack();
ActivityStack secondaryContainer = container.getSecondaryContainer().toActivityStack();
SplitInfo splitState = new SplitInfo(primaryContainer,
secondaryContainer,
// Splits that are not showing side-by-side are reported as having 0 split

View File

@@ -109,6 +109,10 @@ class TaskFragmentContainer {
return allActivities;
}
ActivityStack toActivityStack() {
return new ActivityStack(collectActivities(), mInfo.getRunningActivityCount() == 0);
}
void addPendingAppearedActivity(@NonNull Activity pendingAppearedActivity) {
mPendingAppearedActivities.add(pendingAppearedActivity);
}