Loading services/core/java/com/android/server/wm/ActivityTaskManagerInternal.java +3 −0 Original line number Diff line number Diff line Loading @@ -178,6 +178,9 @@ public abstract class ActivityTaskManagerInternal { /** * Returns the top activity from each of the currently visible root tasks, and the related task * id. The first entry will be the focused activity. * * <p>NOTE: If the top activity is in the split screen, the other activities in the same split * screen will also be returned. */ public abstract List<ActivityAssistInfo> getTopVisibleActivities(); Loading services/core/java/com/android/server/wm/RootWindowContainer.java +17 −3 Original line number Diff line number Diff line Loading @@ -1746,9 +1746,13 @@ class RootWindowContainer extends WindowContainer<DisplayContent> /** * @return a list of pairs, containing activities and their task id which are the top ones in * each visible root task. The first entry will be the focused activity. * * <p>NOTE: If the top activity is in the split screen, the other activities in the same split * screen will also be returned. */ List<ActivityAssistInfo> getTopVisibleActivities() { final ArrayList<ActivityAssistInfo> topVisibleActivities = new ArrayList<>(); final ArrayList<ActivityAssistInfo> activityAssistInfos = new ArrayList<>(); final Task topFocusedRootTask = getTopDisplayFocusedRootTask(); // Traverse all displays. forAllRootTasks(rootTask -> { Loading @@ -1756,11 +1760,21 @@ class RootWindowContainer extends WindowContainer<DisplayContent> if (rootTask.shouldBeVisible(null /* starting */)) { final ActivityRecord top = rootTask.getTopNonFinishingActivity(); if (top != null) { ActivityAssistInfo visibleActivity = new ActivityAssistInfo(top); activityAssistInfos.clear(); activityAssistInfos.add(new ActivityAssistInfo(top)); // Check if the activity on the split screen. final Task adjacentTask = top.getTask().getAdjacentTask(); if (adjacentTask != null) { final ActivityRecord adjacentActivityRecord = adjacentTask.getTopNonFinishingActivity(); if (adjacentActivityRecord != null) { activityAssistInfos.add(new ActivityAssistInfo(adjacentActivityRecord)); } } if (rootTask == topFocusedRootTask) { topVisibleActivities.add(0, visibleActivity); topVisibleActivities.addAll(0, activityAssistInfos); } else { topVisibleActivities.add(visibleActivity); topVisibleActivities.addAll(activityAssistInfos); } } } Loading Loading
services/core/java/com/android/server/wm/ActivityTaskManagerInternal.java +3 −0 Original line number Diff line number Diff line Loading @@ -178,6 +178,9 @@ public abstract class ActivityTaskManagerInternal { /** * Returns the top activity from each of the currently visible root tasks, and the related task * id. The first entry will be the focused activity. * * <p>NOTE: If the top activity is in the split screen, the other activities in the same split * screen will also be returned. */ public abstract List<ActivityAssistInfo> getTopVisibleActivities(); Loading
services/core/java/com/android/server/wm/RootWindowContainer.java +17 −3 Original line number Diff line number Diff line Loading @@ -1746,9 +1746,13 @@ class RootWindowContainer extends WindowContainer<DisplayContent> /** * @return a list of pairs, containing activities and their task id which are the top ones in * each visible root task. The first entry will be the focused activity. * * <p>NOTE: If the top activity is in the split screen, the other activities in the same split * screen will also be returned. */ List<ActivityAssistInfo> getTopVisibleActivities() { final ArrayList<ActivityAssistInfo> topVisibleActivities = new ArrayList<>(); final ArrayList<ActivityAssistInfo> activityAssistInfos = new ArrayList<>(); final Task topFocusedRootTask = getTopDisplayFocusedRootTask(); // Traverse all displays. forAllRootTasks(rootTask -> { Loading @@ -1756,11 +1760,21 @@ class RootWindowContainer extends WindowContainer<DisplayContent> if (rootTask.shouldBeVisible(null /* starting */)) { final ActivityRecord top = rootTask.getTopNonFinishingActivity(); if (top != null) { ActivityAssistInfo visibleActivity = new ActivityAssistInfo(top); activityAssistInfos.clear(); activityAssistInfos.add(new ActivityAssistInfo(top)); // Check if the activity on the split screen. final Task adjacentTask = top.getTask().getAdjacentTask(); if (adjacentTask != null) { final ActivityRecord adjacentActivityRecord = adjacentTask.getTopNonFinishingActivity(); if (adjacentActivityRecord != null) { activityAssistInfos.add(new ActivityAssistInfo(adjacentActivityRecord)); } } if (rootTask == topFocusedRootTask) { topVisibleActivities.add(0, visibleActivity); topVisibleActivities.addAll(0, activityAssistInfos); } else { topVisibleActivities.add(visibleActivity); topVisibleActivities.addAll(activityAssistInfos); } } } Loading