Loading core/java/android/app/ITaskStackListener.aidl +10 −0 Original line number Diff line number Diff line Loading @@ -80,6 +80,16 @@ oneway interface ITaskStackListener { void onActivityLaunchOnSecondaryDisplayFailed(in ActivityManager.RunningTaskInfo taskInfo, int requestedDisplayId); /** * Called when an activity was requested to be launched on a secondary display but was rerouted * to default display. * * @param taskInfo info about the Activity's task * @param requestedDisplayId the id of the requested launch display */ void onActivityLaunchOnSecondaryDisplayRerouted(in ActivityManager.RunningTaskInfo taskInfo, int requestedDisplayId); /** * Called when a task is added. * Loading core/java/android/app/TaskStackListener.java +6 −0 Original line number Diff line number Diff line Loading @@ -84,6 +84,12 @@ public abstract class TaskStackListener extends ITaskStackListener.Stub { public void onActivityLaunchOnSecondaryDisplayFailed() throws RemoteException { } @Override @UnsupportedAppUsage public void onActivityLaunchOnSecondaryDisplayRerouted(ActivityManager.RunningTaskInfo taskInfo, int requestedDisplayId) throws RemoteException { } @Override public void onTaskCreated(int taskId, ComponentName componentName) throws RemoteException { } Loading packages/SystemUI/shared/src/com/android/systemui/shared/system/TaskStackChangeListener.java +15 −0 Original line number Diff line number Diff line Loading @@ -48,6 +48,21 @@ public abstract class TaskStackChangeListener { onActivityLaunchOnSecondaryDisplayFailed(); } /** * @see #onActivityLaunchOnSecondaryDisplayRerouted(RunningTaskInfo taskInfo) */ public void onActivityLaunchOnSecondaryDisplayRerouted() { } /** * Called when an activity was requested to be launched on a secondary display but was rerouted * to default display. * * @param taskInfo info about the Activity's task */ public void onActivityLaunchOnSecondaryDisplayRerouted(RunningTaskInfo taskInfo) { onActivityLaunchOnSecondaryDisplayRerouted(); } public void onTaskProfileLocked(int taskId, int userId) { } public void onTaskCreated(int taskId, ComponentName componentName) { } public void onTaskRemoved(int taskId) { } Loading packages/SystemUI/shared/src/com/android/systemui/shared/system/TaskStackChangeListeners.java +16 −0 Original line number Diff line number Diff line Loading @@ -140,6 +140,13 @@ public class TaskStackChangeListeners extends TaskStackListener { taskInfo).sendToTarget(); } @Override public void onActivityLaunchOnSecondaryDisplayRerouted(RunningTaskInfo taskInfo, int requestedDisplayId) throws RemoteException { mHandler.obtainMessage(H.ON_ACTIVITY_LAUNCH_ON_SECONDARY_DISPLAY_REROUTED, requestedDisplayId, 0 /* unused */, taskInfo).sendToTarget(); } @Override public void onTaskProfileLocked(int taskId, int userId) throws RemoteException { mHandler.obtainMessage(H.ON_TASK_PROFILE_LOCKED, taskId, userId).sendToTarget(); Loading Loading @@ -189,6 +196,7 @@ public class TaskStackChangeListeners extends TaskStackListener { private static final int ON_TASK_REMOVED = 13; private static final int ON_TASK_MOVED_TO_FRONT = 14; private static final int ON_ACTIVITY_REQUESTED_ORIENTATION_CHANGE = 15; private static final int ON_ACTIVITY_LAUNCH_ON_SECONDARY_DISPLAY_REROUTED = 16; public H(Looper looper) { Loading Loading @@ -270,6 +278,14 @@ public class TaskStackChangeListeners extends TaskStackListener { } break; } case ON_ACTIVITY_LAUNCH_ON_SECONDARY_DISPLAY_REROUTED: { final RunningTaskInfo info = (RunningTaskInfo) msg.obj; for (int i = mTaskStackListeners.size() - 1; i >= 0; i--) { mTaskStackListeners.get(i) .onActivityLaunchOnSecondaryDisplayRerouted(info); } break; } case ON_TASK_PROFILE_LOCKED: { for (int i = mTaskStackListeners.size() - 1; i >= 0; i--) { mTaskStackListeners.get(i).onTaskProfileLocked(msg.arg1, msg.arg2); Loading services/core/java/com/android/server/wm/ActivityStackSupervisor.java +3 −0 Original line number Diff line number Diff line Loading @@ -2351,6 +2351,9 @@ public class ActivityStackSupervisor implements RecentTasks.Callbacks { // Suppress the warning toast if the preferredDisplay was set to singleTask. // The singleTaskInstance displays will only contain one task and any attempt to // launch new task will re-route to the default display. mService.getTaskChangeNotificationController() .notifyActivityLaunchOnSecondaryDisplayRerouted(task.getTaskInfo(), preferredDisplayId); return; } Loading Loading
core/java/android/app/ITaskStackListener.aidl +10 −0 Original line number Diff line number Diff line Loading @@ -80,6 +80,16 @@ oneway interface ITaskStackListener { void onActivityLaunchOnSecondaryDisplayFailed(in ActivityManager.RunningTaskInfo taskInfo, int requestedDisplayId); /** * Called when an activity was requested to be launched on a secondary display but was rerouted * to default display. * * @param taskInfo info about the Activity's task * @param requestedDisplayId the id of the requested launch display */ void onActivityLaunchOnSecondaryDisplayRerouted(in ActivityManager.RunningTaskInfo taskInfo, int requestedDisplayId); /** * Called when a task is added. * Loading
core/java/android/app/TaskStackListener.java +6 −0 Original line number Diff line number Diff line Loading @@ -84,6 +84,12 @@ public abstract class TaskStackListener extends ITaskStackListener.Stub { public void onActivityLaunchOnSecondaryDisplayFailed() throws RemoteException { } @Override @UnsupportedAppUsage public void onActivityLaunchOnSecondaryDisplayRerouted(ActivityManager.RunningTaskInfo taskInfo, int requestedDisplayId) throws RemoteException { } @Override public void onTaskCreated(int taskId, ComponentName componentName) throws RemoteException { } Loading
packages/SystemUI/shared/src/com/android/systemui/shared/system/TaskStackChangeListener.java +15 −0 Original line number Diff line number Diff line Loading @@ -48,6 +48,21 @@ public abstract class TaskStackChangeListener { onActivityLaunchOnSecondaryDisplayFailed(); } /** * @see #onActivityLaunchOnSecondaryDisplayRerouted(RunningTaskInfo taskInfo) */ public void onActivityLaunchOnSecondaryDisplayRerouted() { } /** * Called when an activity was requested to be launched on a secondary display but was rerouted * to default display. * * @param taskInfo info about the Activity's task */ public void onActivityLaunchOnSecondaryDisplayRerouted(RunningTaskInfo taskInfo) { onActivityLaunchOnSecondaryDisplayRerouted(); } public void onTaskProfileLocked(int taskId, int userId) { } public void onTaskCreated(int taskId, ComponentName componentName) { } public void onTaskRemoved(int taskId) { } Loading
packages/SystemUI/shared/src/com/android/systemui/shared/system/TaskStackChangeListeners.java +16 −0 Original line number Diff line number Diff line Loading @@ -140,6 +140,13 @@ public class TaskStackChangeListeners extends TaskStackListener { taskInfo).sendToTarget(); } @Override public void onActivityLaunchOnSecondaryDisplayRerouted(RunningTaskInfo taskInfo, int requestedDisplayId) throws RemoteException { mHandler.obtainMessage(H.ON_ACTIVITY_LAUNCH_ON_SECONDARY_DISPLAY_REROUTED, requestedDisplayId, 0 /* unused */, taskInfo).sendToTarget(); } @Override public void onTaskProfileLocked(int taskId, int userId) throws RemoteException { mHandler.obtainMessage(H.ON_TASK_PROFILE_LOCKED, taskId, userId).sendToTarget(); Loading Loading @@ -189,6 +196,7 @@ public class TaskStackChangeListeners extends TaskStackListener { private static final int ON_TASK_REMOVED = 13; private static final int ON_TASK_MOVED_TO_FRONT = 14; private static final int ON_ACTIVITY_REQUESTED_ORIENTATION_CHANGE = 15; private static final int ON_ACTIVITY_LAUNCH_ON_SECONDARY_DISPLAY_REROUTED = 16; public H(Looper looper) { Loading Loading @@ -270,6 +278,14 @@ public class TaskStackChangeListeners extends TaskStackListener { } break; } case ON_ACTIVITY_LAUNCH_ON_SECONDARY_DISPLAY_REROUTED: { final RunningTaskInfo info = (RunningTaskInfo) msg.obj; for (int i = mTaskStackListeners.size() - 1; i >= 0; i--) { mTaskStackListeners.get(i) .onActivityLaunchOnSecondaryDisplayRerouted(info); } break; } case ON_TASK_PROFILE_LOCKED: { for (int i = mTaskStackListeners.size() - 1; i >= 0; i--) { mTaskStackListeners.get(i).onTaskProfileLocked(msg.arg1, msg.arg2); Loading
services/core/java/com/android/server/wm/ActivityStackSupervisor.java +3 −0 Original line number Diff line number Diff line Loading @@ -2351,6 +2351,9 @@ public class ActivityStackSupervisor implements RecentTasks.Callbacks { // Suppress the warning toast if the preferredDisplay was set to singleTask. // The singleTaskInstance displays will only contain one task and any attempt to // launch new task will re-route to the default display. mService.getTaskChangeNotificationController() .notifyActivityLaunchOnSecondaryDisplayRerouted(task.getTaskInfo(), preferredDisplayId); return; } Loading