Do not send split info update when TaskFragmentContainer am: 5cb70ee9d4
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/16144437 Change-Id: I7a9e4737f8288cff0ef73f96e6a22649f60755d2
This commit is contained in:
@@ -497,7 +497,7 @@ public class SplitController implements JetpackTaskFragmentOrganizer.TaskFragmen
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
List<SplitInfo> currentSplitStates = getActiveSplitStates();
|
List<SplitInfo> currentSplitStates = getActiveSplitStates();
|
||||||
if (mLastReportedSplitStates.equals(currentSplitStates)) {
|
if (currentSplitStates == null || mLastReportedSplitStates.equals(currentSplitStates)) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
mLastReportedSplitStates.clear();
|
mLastReportedSplitStates.clear();
|
||||||
@@ -506,15 +506,19 @@ public class SplitController implements JetpackTaskFragmentOrganizer.TaskFragmen
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Returns a list of descriptors for currently active split states.
|
* @return a list of descriptors for currently active split states. If the value returned is
|
||||||
|
* null, that indicates that the active split states are in an intermediate state and should
|
||||||
|
* not be reported.
|
||||||
*/
|
*/
|
||||||
|
@Nullable
|
||||||
private List<SplitInfo> getActiveSplitStates() {
|
private List<SplitInfo> getActiveSplitStates() {
|
||||||
List<SplitInfo> splitStates = new ArrayList<>();
|
List<SplitInfo> splitStates = new ArrayList<>();
|
||||||
for (SplitContainer container : mSplitContainers) {
|
for (SplitContainer container : mSplitContainers) {
|
||||||
if (container.getPrimaryContainer().isEmpty()
|
if (container.getPrimaryContainer().isEmpty()
|
||||||
|| container.getSecondaryContainer().isEmpty()) {
|
|| container.getSecondaryContainer().isEmpty()) {
|
||||||
// Skipping containers that do not have any activities to report.
|
// We are in an intermediate state because either the split container is about to be
|
||||||
continue;
|
// removed or the primary or secondary container are about to receive an activity.
|
||||||
|
return null;
|
||||||
}
|
}
|
||||||
ActivityStack primaryContainer = container.getPrimaryContainer().toActivityStack();
|
ActivityStack primaryContainer = container.getPrimaryContainer().toActivityStack();
|
||||||
ActivityStack secondaryContainer = container.getSecondaryContainer().toActivityStack();
|
ActivityStack secondaryContainer = container.getSecondaryContainer().toActivityStack();
|
||||||
|
|||||||
Reference in New Issue
Block a user