diff --git a/quickstep/src/com/android/quickstep/TaskOverlayFactory.java b/quickstep/src/com/android/quickstep/TaskOverlayFactory.java index e3e7b33848..085bfbb689 100644 --- a/quickstep/src/com/android/quickstep/TaskOverlayFactory.java +++ b/quickstep/src/com/android/quickstep/TaskOverlayFactory.java @@ -114,9 +114,11 @@ public class TaskOverlayFactory implements ResourceBasedOverride { private static void addSplitOptions(List 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 dbb5f10d18..dcc7cccefc 100644 --- a/quickstep/src/com/android/quickstep/TaskShortcutFactory.java +++ b/quickstep/src/com/android/quickstep/TaskShortcutFactory.java @@ -35,7 +35,6 @@ import android.window.SplashScreen; 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 @@ public interface TaskShortcutFactory { 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 @@ -251,18 +249,6 @@ public interface TaskShortcutFactory { && (displayId == -1 || displayId == DEFAULT_DISPLAY); } - @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); diff --git a/quickstep/src/com/android/quickstep/views/RecentsView.java b/quickstep/src/com/android/quickstep/views/RecentsView.java index 5794396a14..1c1dc9c9d4 100644 --- a/quickstep/src/com/android/quickstep/views/RecentsView.java +++ b/quickstep/src/com/android/quickstep/views/RecentsView.java @@ -3162,7 +3162,7 @@ public abstract class RecentsView 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 2cf447f9e5..03ab737366 100644 --- a/quickstep/src/com/android/quickstep/views/TaskMenuView.java +++ b/quickstep/src/com/android/quickstep/views/TaskMenuView.java @@ -242,8 +242,6 @@ public class TaskMenuView extends AbstractFloatingView implements OnScrollChange 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); }