Hide split options for focused task.
Fixes: 197245395
Test: Tap app icon on focused task,
no split options.
Change-Id: I329ee3d6e911c16ba2f3b265e2eb42466369df28
diff --git a/quickstep/src/com/android/quickstep/TaskOverlayFactory.java b/quickstep/src/com/android/quickstep/TaskOverlayFactory.java
index e3e7b33..085bfbb 100644
--- a/quickstep/src/com/android/quickstep/TaskOverlayFactory.java
+++ b/quickstep/src/com/android/quickstep/TaskOverlayFactory.java
@@ -114,9 +114,11 @@
private static void addSplitOptions(List<SystemShortcut> outShortcuts,
BaseDraggingActivity activity, TaskView taskView, DeviceProfile deviceProfile) {
int[] taskViewTaskIds = taskView.getTaskIds();
- boolean alreadyHasMultipleTasks = taskViewTaskIds[0] != -1 &&
+ boolean taskViewHasMultipleTasks = taskViewTaskIds[0] != -1 &&
taskViewTaskIds[1] != -1;
- if (alreadyHasMultipleTasks) {
+ boolean notEnoughTasksToSplit = taskView.getRecentsView().getTaskViewCount() < 2;
+ if (taskViewHasMultipleTasks || notEnoughTasksToSplit ||
+ (deviceProfile.overviewShowAsGrid && taskView.isFocusedTask())) {
return;
}
diff --git a/quickstep/src/com/android/quickstep/TaskShortcutFactory.java b/quickstep/src/com/android/quickstep/TaskShortcutFactory.java
index dbb5f10..dcc7ccc 100644
--- a/quickstep/src/com/android/quickstep/TaskShortcutFactory.java
+++ b/quickstep/src/com/android/quickstep/TaskShortcutFactory.java
@@ -35,7 +35,6 @@
import com.android.launcher3.BaseDraggingActivity;
import com.android.launcher3.DeviceProfile;
import com.android.launcher3.R;
-import com.android.launcher3.config.FeatureFlags;
import com.android.launcher3.logging.StatsLogManager.LauncherEvent;
import com.android.launcher3.model.WellbeingModel;
import com.android.launcher3.popup.SystemShortcut;
@@ -115,13 +114,12 @@
class SplitSelectSystemShortcut extends SystemShortcut {
private final TaskView mTaskView;
- private SplitPositionOption mSplitPositionOption;
+ private final SplitPositionOption mSplitPositionOption;
public SplitSelectSystemShortcut(BaseDraggingActivity target, TaskView taskView,
SplitPositionOption option) {
super(option.iconResId, option.textResId, target, taskView.getItemInfo());
mTaskView = taskView;
mSplitPositionOption = option;
- setEnabled(taskView.getRecentsView().getTaskViewCount() > 1);
}
@Override
@@ -252,18 +250,6 @@
}
@Override
- public SystemShortcut getShortcut(BaseDraggingActivity activity,
- TaskIdAttributeContainer taskContainer) {
- SystemShortcut shortcut = super.getShortcut(activity, taskContainer);
- if (shortcut != null && FeatureFlags.ENABLE_SPLIT_SELECT.get()) {
- // Disable if there's only one recent app for split screen
- shortcut.setEnabled(taskContainer.getTaskView().
- getRecentsView().getTaskViewCount() > 1);
- }
- return shortcut;
- }
-
- @Override
protected ActivityOptions makeLaunchOptions(Activity activity) {
final ActivityCompat act = new ActivityCompat(activity);
final int navBarPosition = WindowManagerWrapper.getInstance().getNavBarPosition(
diff --git a/quickstep/src/com/android/quickstep/views/RecentsView.java b/quickstep/src/com/android/quickstep/views/RecentsView.java
index cb8e7f7..7180eec 100644
--- a/quickstep/src/com/android/quickstep/views/RecentsView.java
+++ b/quickstep/src/com/android/quickstep/views/RecentsView.java
@@ -3162,7 +3162,7 @@
return;
}
mActionsView.setSplitButtonVisible(
- mActivity.getDeviceProfile().isTablet && getTaskViewCount() > 1);
+ mActivity.getDeviceProfile().overviewShowAsGrid && getTaskViewCount() > 1);
}
/**
diff --git a/quickstep/src/com/android/quickstep/views/TaskMenuView.java b/quickstep/src/com/android/quickstep/views/TaskMenuView.java
index 5ddbf87..9e4847c 100644
--- a/quickstep/src/com/android/quickstep/views/TaskMenuView.java
+++ b/quickstep/src/com/android/quickstep/views/TaskMenuView.java
@@ -243,8 +243,6 @@
LayoutParams lp = (LayoutParams) menuOptionView.getLayoutParams();
mTaskView.getPagedOrientationHandler().setLayoutParamsForTaskMenuOptionItem(lp,
menuOptionView, mActivity.getDeviceProfile());
- menuOptionView.setEnabled(menuOption.isEnabled());
- menuOptionView.setAlpha(menuOption.isEnabled() ? 1 : 0.5f);
menuOptionView.setOnClickListener(menuOption::onClick);
mOptionLayout.addView(menuOptionView);
}