Merge "Revert "Ignore taskbar launch request if app(s) are already running"" into main
diff --git a/quickstep/src/com/android/launcher3/taskbar/FallbackTaskbarUIController.java b/quickstep/src/com/android/launcher3/taskbar/FallbackTaskbarUIController.java
index 535c8ec..f981610 100644
--- a/quickstep/src/com/android/launcher3/taskbar/FallbackTaskbarUIController.java
+++ b/quickstep/src/com/android/launcher3/taskbar/FallbackTaskbarUIController.java
@@ -105,13 +105,6 @@
}
@Override
- protected boolean isInOverview() {
- TopTaskTracker.CachedTaskInfo topTask = TopTaskTracker.INSTANCE
- .get(mControllers.taskbarActivityContext).getCachedTopTask(true);
- return topTask.isRecentsTask();
- }
-
- @Override
public RecentsView getRecentsView() {
return mRecentsActivity.getOverviewPanel();
}
diff --git a/quickstep/src/com/android/launcher3/taskbar/TaskbarActivityContext.java b/quickstep/src/com/android/launcher3/taskbar/TaskbarActivityContext.java
index c905c85..3f5793f 100644
--- a/quickstep/src/com/android/launcher3/taskbar/TaskbarActivityContext.java
+++ b/quickstep/src/com/android/launcher3/taskbar/TaskbarActivityContext.java
@@ -43,9 +43,7 @@
import android.animation.AnimatorSet;
import android.animation.ValueAnimator;
-import android.app.ActivityManager.RunningTaskInfo;
import android.app.ActivityOptions;
-import android.app.ActivityTaskManager;
import android.content.ActivityNotFoundException;
import android.content.Context;
import android.content.Intent;
@@ -134,13 +132,10 @@
import com.android.systemui.unfold.util.ScopedUnfoldTransitionProgressProvider;
import java.io.PrintWriter;
-import java.util.Arrays;
import java.util.Collections;
import java.util.List;
import java.util.Optional;
-import java.util.Set;
import java.util.function.Consumer;
-import java.util.stream.Collectors;
/**
* The {@link ActivityContext} with which we inflate Taskbar-related Views. This allows UI elements
@@ -1180,25 +1175,15 @@
@Nullable Task foundTask = foundTasks[0];
if (foundTask != null) {
TaskView foundTaskView = recents.getTaskViewByTaskId(foundTask.key.id);
- if (foundTaskView != null) {
- // The foundTaskView contains the 1-2 taskIds we are looking for.
- // If we are already in-app and running the correct tasks, no need
- // to do anything.
- if (FeatureFlags.enableAppPairs()
- && isAlreadyInApp(foundTaskView.getTaskIds())) {
- return;
- }
- // If we are in Overview and the TaskView tile is visible, expand that
- // tile.
- if (foundTaskView.isVisibleToUser()) {
- TestLogging.recordEvent(
- TestProtocol.SEQUENCE_MAIN, "start: taskbarAppIcon");
- foundTaskView.launchTasks();
- return;
- }
+ if (foundTaskView != null
+ && foundTaskView.isVisibleToUser()) {
+ TestLogging.recordEvent(
+ TestProtocol.SEQUENCE_MAIN, "start: taskbarAppIcon");
+ foundTaskView.launchTasks();
+ return;
}
}
- // If none of the above cases apply, launch a new app or app pair.
+
if (findExactPairMatch) {
// We did not find the app pair we were looking for, so launch one.
recents.getSplitSelectController().getAppPairsController().launchAppPair(
@@ -1210,27 +1195,6 @@
);
}
- /**
- * Checks if a given list of taskIds are all already running in-app.
- */
- private boolean isAlreadyInApp(int[] ids) {
- if (mControllers.uiController.isInOverview()) {
- return false;
- }
-
- RunningTaskInfo[] currentlyRunningTasks = ActivityManagerWrapper.getInstance()
- .getRunningTasks(false /* filterOnlyVisibleRecents */);
- Set<Integer> currentlyRunningIds = Arrays.stream(currentlyRunningTasks)
- .map(task -> task.taskId).collect(Collectors.toSet());
-
- for (int id : ids) {
- if (id != ActivityTaskManager.INVALID_TASK_ID && !currentlyRunningIds.contains(id)) {
- return false;
- }
- }
- return true;
- }
-
private void startItemInfoActivity(ItemInfo info) {
Intent intent = new Intent(info.getIntent())
.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);