From 860b9208c1704b8bb1dc367ea1c2eb7b8e0d19fe Mon Sep 17 00:00:00 2001 From: Jeff Chang Date: Tue, 18 Dec 2018 19:49:52 +0800 Subject: [PATCH] Hide the split-screen request for secondary display task. Currently, we cannot support the split-screen mode on the secondary display. To prevent confused,disallowing split-screen request on non-primary display tasks first. Bug: 118266305 Test: 1. Use the ActivityViewTest to launch an application on virtual display. 2. Check if the split-screen button exist on recent app. Change-Id: Ifa6d70a1920aa4f33d260e37a3737e102949114e --- .../android/quickstep/TaskSystemShortcut.java | 22 ++++++++++++------- 1 file changed, 14 insertions(+), 8 deletions(-) diff --git a/quickstep/recents_ui_overrides/src/com/android/quickstep/TaskSystemShortcut.java b/quickstep/recents_ui_overrides/src/com/android/quickstep/TaskSystemShortcut.java index e3dcadcd54..e20ef52591 100644 --- a/quickstep/recents_ui_overrides/src/com/android/quickstep/TaskSystemShortcut.java +++ b/quickstep/recents_ui_overrides/src/com/android/quickstep/TaskSystemShortcut.java @@ -16,6 +16,7 @@ package com.android.quickstep; +import static android.view.Display.DEFAULT_DISPLAY; import static com.android.launcher3.userevent.nano.LauncherLogProto.Action.Touch.TAP; import android.app.Activity; @@ -116,21 +117,22 @@ public class TaskSystemShortcut extends SystemShortcut mHandler = new Handler(Looper.getMainLooper()); } - protected abstract boolean isAvailable(BaseDraggingActivity activity); + protected abstract boolean isAvailable(BaseDraggingActivity activity, int displayId); protected abstract ActivityOptions makeLaunchOptions(Activity activity); protected abstract boolean onActivityStarted(BaseDraggingActivity activity); @Override public View.OnClickListener getOnClickListener( BaseDraggingActivity activity, TaskView taskView) { - if (!isAvailable(activity)) { - return null; - } final Task task = taskView.getTask(); final int taskId = task.key.id; + final int displayId = task.key.displayId; if (!task.isDockable) { return null; } + if (!isAvailable(activity, displayId)) { + return null; + } final RecentsView recentsView = activity.getOverviewPanel(); final TaskThumbnailView thumbnailView = taskView.getThumbnail(); @@ -218,9 +220,13 @@ public class TaskSystemShortcut extends SystemShortcut } @Override - protected boolean isAvailable(BaseDraggingActivity activity) { - // Don't show menu-item if already in multi-window - return !activity.getDeviceProfile().isMultiWindowMode; + protected boolean isAvailable(BaseDraggingActivity activity, int displayId) { + // Don't show menu-item if already in multi-window and the task is from + // the secondary display. + // TODO(b/118266305): Temporarily disable splitscreen for secondary display while new + // implementation is enabled + return !activity.getDeviceProfile().isMultiWindowMode + && displayId == DEFAULT_DISPLAY; } @Override @@ -256,7 +262,7 @@ public class TaskSystemShortcut extends SystemShortcut } @Override - protected boolean isAvailable(BaseDraggingActivity activity) { + protected boolean isAvailable(BaseDraggingActivity activity, int displayId) { return ActivityManagerWrapper.getInstance().supportsFreeformMultiWindow(activity); }