summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Chris Li <lihongyu@google.com> 2022-04-14 11:28:53 +0800
committer Chris Li <lihongyu@google.com> 2022-04-18 04:54:38 +0000
commit3a89f88112a7cadde30484adc0ee2cd34509dbd2 (patch)
treea445529c18edc3e914c0fbe45de3848b4458eb37
parent0b87da71959621dd20fbf14036bdfbe91670a878 (diff)
Only move Task to PiP if there is only one non-finishing activity
Bug: 225371112 Test: pass existing Change-Id: I9c68e3932940b7932db5f1dd4045170e66aa2dba Merged-In: I9c68e3932940b7932db5f1dd4045170e66aa2dba
-rw-r--r--services/core/java/com/android/server/wm/RootWindowContainer.java3
-rw-r--r--services/core/java/com/android/server/wm/Task.java8
2 files changed, 1 insertions, 10 deletions
diff --git a/services/core/java/com/android/server/wm/RootWindowContainer.java b/services/core/java/com/android/server/wm/RootWindowContainer.java
index 6f69e0324b0b..22714c6f5593 100644
--- a/services/core/java/com/android/server/wm/RootWindowContainer.java
+++ b/services/core/java/com/android/server/wm/RootWindowContainer.java
@@ -2007,8 +2007,7 @@ class RootWindowContainer extends WindowContainer<DisplayContent>
r.getDisplayContent().prepareAppTransition(TRANSIT_NONE);
final TaskFragment organizedTf = r.getOrganizedTaskFragment();
- // TODO: Does it make sense to only count non-finishing activities?
- final boolean singleActivity = task.getActivityCount() == 1;
+ final boolean singleActivity = task.getNonFinishingActivityCount() == 1;
final Task rootTask;
if (singleActivity) {
rootTask = task;
diff --git a/services/core/java/com/android/server/wm/Task.java b/services/core/java/com/android/server/wm/Task.java
index bd078d880980..9ea566ece6ec 100644
--- a/services/core/java/com/android/server/wm/Task.java
+++ b/services/core/java/com/android/server/wm/Task.java
@@ -1380,14 +1380,6 @@ class Task extends TaskFragment {
return getActivity(ActivityRecord::canBeTopRunning);
}
- int getActivityCount() {
- final int[] activityCount = new int[1];
- forAllActivities(ar -> {
- activityCount[0]++;
- });
- return activityCount[0];
- }
-
/**
* Return true if any activities in this task belongs to input uid.
*/