Loading core/java/android/app/ActivityView.java +17 −17 Original line number Diff line number Diff line Loading @@ -524,9 +524,10 @@ public class ActivityView extends ViewGroup { private class TaskStackListenerImpl extends TaskStackListener { @Override public void onTaskDescriptionChanged(int taskId, ActivityManager.TaskDescription td) public void onTaskDescriptionChanged(ActivityManager.RunningTaskInfo taskInfo) throws RemoteException { if (mVirtualDisplay == null) { if (mVirtualDisplay == null || taskInfo.displayId != mVirtualDisplay.getDisplay().getDisplayId()) { return; } Loading @@ -536,14 +537,17 @@ public class ActivityView extends ViewGroup { } // Found the topmost stack on target display. Now check if the topmost task's // description changed. if (taskId == stackInfo.taskIds[stackInfo.taskIds.length - 1]) { mSurfaceView.setResizeBackgroundColor(td.getBackgroundColor()); if (taskInfo.taskId == stackInfo.taskIds[stackInfo.taskIds.length - 1]) { mSurfaceView.setResizeBackgroundColor( taskInfo.taskDescription.getBackgroundColor()); } } @Override public void onTaskMovedToFront(int taskId) throws RemoteException { if (mActivityViewCallback == null) { public void onTaskMovedToFront(ActivityManager.RunningTaskInfo taskInfo) throws RemoteException { if (mActivityViewCallback == null || mVirtualDisplay == null || taskInfo.displayId != mVirtualDisplay.getDisplay().getDisplayId()) { return; } Loading @@ -551,14 +555,14 @@ public class ActivityView extends ViewGroup { // if StackInfo was null or unrelated to the "move to front" then there's no use // notifying the callback if (stackInfo != null && taskId == stackInfo.taskIds[stackInfo.taskIds.length - 1]) { && taskInfo.taskId == stackInfo.taskIds[stackInfo.taskIds.length - 1]) { mActivityViewCallback.onTaskMovedToFront(stackInfo); } } @Override public void onTaskCreated(int taskId, ComponentName componentName) throws RemoteException { if (mActivityViewCallback == null) { if (mActivityViewCallback == null || mVirtualDisplay == null) { return; } Loading @@ -572,17 +576,13 @@ public class ActivityView extends ViewGroup { } @Override public void onTaskRemovalStarted(int taskId) throws RemoteException { if (mActivityViewCallback == null) { public void onTaskRemovalStarted(ActivityManager.RunningTaskInfo taskInfo) throws RemoteException { if (mActivityViewCallback == null || mVirtualDisplay == null || taskInfo.displayId != mVirtualDisplay.getDisplay().getDisplayId()) { return; } StackInfo stackInfo = getTopMostStackInfo(); // if StackInfo was null or task is on a different display then there's no use // notifying the callback if (stackInfo != null && taskId == stackInfo.taskIds[stackInfo.taskIds.length - 1]) { mActivityViewCallback.onTaskRemovalStarted(taskId); } mActivityViewCallback.onTaskRemovalStarted(taskInfo.taskId); } private StackInfo getTopMostStackInfo() throws RemoteException { Loading core/java/android/app/ITaskStackListener.aidl +12 −7 Original line number Diff line number Diff line Loading @@ -73,8 +73,12 @@ oneway interface ITaskStackListener { /** * Called when an activity was requested to be launched on a secondary display but was not * allowed there. * * @param taskInfo info about the Activity's task * @param requestedDisplayId the id of the requested launch display */ void onActivityLaunchOnSecondaryDisplayFailed(); void onActivityLaunchOnSecondaryDisplayFailed(in ActivityManager.RunningTaskInfo taskInfo, int requestedDisplayId); /** * Called when a task is added. Loading @@ -94,18 +98,17 @@ oneway interface ITaskStackListener { /** * Called when a task is moved to the front of its stack. * * @param taskId id of the task. * @param taskInfo info about the task which moved */ void onTaskMovedToFront(int taskId); void onTaskMovedToFront(in ActivityManager.RunningTaskInfo taskInfo); /** * Called when a task’s description is changed due to an activity calling * ActivityManagerService.setTaskDescription * * @param taskId id of the task. * @param td the new TaskDescription. * @param taskInfo info about the task which changed, with {@link TaskInfo#taskDescription} */ void onTaskDescriptionChanged(int taskId, in ActivityManager.TaskDescription td); void onTaskDescriptionChanged(in ActivityManager.RunningTaskInfo taskInfo); /** * Called when a activity’s orientation is changed due to it calling Loading @@ -120,8 +123,10 @@ oneway interface ITaskStackListener { * Called when the task is about to be finished but before its surfaces are * removed from the window manager. This allows interested parties to * perform relevant animations before the window disappears. * * @param taskInfo info about the task being removed */ void onTaskRemovalStarted(int taskId); void onTaskRemovalStarted(in ActivityManager.RunningTaskInfo taskInfo); /** * Called when the task has been put in a locked state because one or more of the Loading core/java/android/app/TaskStackListener.java +37 −0 Original line number Diff line number Diff line Loading @@ -70,6 +70,16 @@ public abstract class TaskStackListener extends ITaskStackListener.Stub { } @Override public void onActivityLaunchOnSecondaryDisplayFailed(ActivityManager.RunningTaskInfo taskInfo, int requestedDisplayId) throws RemoteException { onActivityLaunchOnSecondaryDisplayFailed(); } /** * @deprecated see {@link * #onActivityLaunchOnSecondaryDisplayFailed(ActivityManager.RunningTaskInfo, int)} */ @Deprecated @UnsupportedAppUsage public void onActivityLaunchOnSecondaryDisplayFailed() throws RemoteException { } Loading @@ -84,15 +94,42 @@ public abstract class TaskStackListener extends ITaskStackListener.Stub { } @Override public void onTaskMovedToFront(ActivityManager.RunningTaskInfo taskInfo) throws RemoteException { onTaskMovedToFront(taskInfo.taskId); } /** * @deprecated see {@link #onTaskMovedToFront(ActivityManager.RunningTaskInfo)} */ @Deprecated @UnsupportedAppUsage public void onTaskMovedToFront(int taskId) throws RemoteException { } @Override public void onTaskRemovalStarted(ActivityManager.RunningTaskInfo taskInfo) throws RemoteException { onTaskRemovalStarted(taskInfo.taskId); } /** * @deprecated see {@link #onTaskRemovalStarted(ActivityManager.RunningTaskInfo)} */ @Deprecated public void onTaskRemovalStarted(int taskId) throws RemoteException { } @Override public void onTaskDescriptionChanged(ActivityManager.RunningTaskInfo taskInfo) throws RemoteException { onTaskDescriptionChanged(taskInfo.taskId, taskInfo.taskDescription); } /** * @deprecated see {@link #onTaskDescriptionChanged(ActivityManager.RunningTaskInfo)} */ @Deprecated public void onTaskDescriptionChanged(int taskId, ActivityManager.TaskDescription td) throws RemoteException { } Loading packages/SystemUI/shared/src/com/android/systemui/shared/system/TaskStackChangeListener.java +11 −1 Original line number Diff line number Diff line Loading @@ -16,7 +16,7 @@ package com.android.systemui.shared.system; import android.app.ActivityManager.TaskSnapshot; import android.app.ActivityManager.RunningTaskInfo; import android.content.ComponentName; import android.os.UserHandle; import android.util.Log; Loading @@ -43,10 +43,20 @@ public abstract class TaskStackChangeListener { public void onActivityForcedResizable(String packageName, int taskId, int reason) { } public void onActivityDismissingDockedStack() { } public void onActivityLaunchOnSecondaryDisplayFailed() { } public void onActivityLaunchOnSecondaryDisplayFailed(RunningTaskInfo taskInfo) { onActivityLaunchOnSecondaryDisplayFailed(); } public void onTaskProfileLocked(int taskId, int userId) { } public void onTaskCreated(int taskId, ComponentName componentName) { } public void onTaskRemoved(int taskId) { } public void onTaskMovedToFront(int taskId) { } public void onTaskMovedToFront(RunningTaskInfo taskInfo) { onTaskMovedToFront(taskInfo.taskId); } public void onActivityRequestedOrientationChanged(int taskId, int requestedOrientation) { } /** Loading packages/SystemUI/shared/src/com/android/systemui/shared/system/TaskStackChangeListeners.java +17 −9 Original line number Diff line number Diff line Loading @@ -16,8 +16,9 @@ package com.android.systemui.shared.system; import android.app.ActivityTaskManager; import android.app.ActivityManager.RunningTaskInfo; import android.app.ActivityManager.TaskSnapshot; import android.app.ActivityTaskManager; import android.app.IActivityManager; import android.app.TaskStackListener; import android.content.ComponentName; Loading Loading @@ -132,8 +133,11 @@ public class TaskStackChangeListeners extends TaskStackListener { } @Override public void onActivityLaunchOnSecondaryDisplayFailed() throws RemoteException { mHandler.sendEmptyMessage(H.ON_ACTIVITY_LAUNCH_ON_SECONDARY_DISPLAY_FAILED); public void onActivityLaunchOnSecondaryDisplayFailed(RunningTaskInfo taskInfo, int requestedDisplayId) throws RemoteException { mHandler.obtainMessage(H.ON_ACTIVITY_LAUNCH_ON_SECONDARY_DISPLAY_FAILED, requestedDisplayId, 0 /* unused */, taskInfo).sendToTarget(); } @Override Loading @@ -157,8 +161,9 @@ public class TaskStackChangeListeners extends TaskStackListener { } @Override public void onTaskMovedToFront(int taskId) throws RemoteException { mHandler.obtainMessage(H.ON_TASK_MOVED_TO_FRONT, taskId, 0).sendToTarget(); public void onTaskMovedToFront(RunningTaskInfo taskInfo) throws RemoteException { mHandler.obtainMessage(H.ON_TASK_MOVED_TO_FRONT, taskInfo).sendToTarget(); } @Override Loading Loading @@ -258,8 +263,10 @@ public class TaskStackChangeListeners extends TaskStackListener { break; } case ON_ACTIVITY_LAUNCH_ON_SECONDARY_DISPLAY_FAILED: { final RunningTaskInfo info = (RunningTaskInfo) msg.obj; for (int i = mTaskStackListeners.size() - 1; i >= 0; i--) { mTaskStackListeners.get(i).onActivityLaunchOnSecondaryDisplayFailed(); mTaskStackListeners.get(i) .onActivityLaunchOnSecondaryDisplayFailed(info); } break; } Loading @@ -283,15 +290,16 @@ public class TaskStackChangeListeners extends TaskStackListener { break; } case ON_TASK_MOVED_TO_FRONT: { final RunningTaskInfo info = (RunningTaskInfo) msg.obj; for (int i = mTaskStackListeners.size() - 1; i >= 0; i--) { mTaskStackListeners.get(i).onTaskMovedToFront(msg.arg1); mTaskStackListeners.get(i).onTaskMovedToFront(info); } break; } case ON_ACTIVITY_REQUESTED_ORIENTATION_CHANGE: { for (int i = mTaskStackListeners.size() - 1; i >= 0; i--) { mTaskStackListeners.get(i).onActivityRequestedOrientationChanged( msg.arg1, msg.arg2); mTaskStackListeners.get(i) .onActivityRequestedOrientationChanged(msg.arg1, msg.arg2); } break; } Loading Loading
core/java/android/app/ActivityView.java +17 −17 Original line number Diff line number Diff line Loading @@ -524,9 +524,10 @@ public class ActivityView extends ViewGroup { private class TaskStackListenerImpl extends TaskStackListener { @Override public void onTaskDescriptionChanged(int taskId, ActivityManager.TaskDescription td) public void onTaskDescriptionChanged(ActivityManager.RunningTaskInfo taskInfo) throws RemoteException { if (mVirtualDisplay == null) { if (mVirtualDisplay == null || taskInfo.displayId != mVirtualDisplay.getDisplay().getDisplayId()) { return; } Loading @@ -536,14 +537,17 @@ public class ActivityView extends ViewGroup { } // Found the topmost stack on target display. Now check if the topmost task's // description changed. if (taskId == stackInfo.taskIds[stackInfo.taskIds.length - 1]) { mSurfaceView.setResizeBackgroundColor(td.getBackgroundColor()); if (taskInfo.taskId == stackInfo.taskIds[stackInfo.taskIds.length - 1]) { mSurfaceView.setResizeBackgroundColor( taskInfo.taskDescription.getBackgroundColor()); } } @Override public void onTaskMovedToFront(int taskId) throws RemoteException { if (mActivityViewCallback == null) { public void onTaskMovedToFront(ActivityManager.RunningTaskInfo taskInfo) throws RemoteException { if (mActivityViewCallback == null || mVirtualDisplay == null || taskInfo.displayId != mVirtualDisplay.getDisplay().getDisplayId()) { return; } Loading @@ -551,14 +555,14 @@ public class ActivityView extends ViewGroup { // if StackInfo was null or unrelated to the "move to front" then there's no use // notifying the callback if (stackInfo != null && taskId == stackInfo.taskIds[stackInfo.taskIds.length - 1]) { && taskInfo.taskId == stackInfo.taskIds[stackInfo.taskIds.length - 1]) { mActivityViewCallback.onTaskMovedToFront(stackInfo); } } @Override public void onTaskCreated(int taskId, ComponentName componentName) throws RemoteException { if (mActivityViewCallback == null) { if (mActivityViewCallback == null || mVirtualDisplay == null) { return; } Loading @@ -572,17 +576,13 @@ public class ActivityView extends ViewGroup { } @Override public void onTaskRemovalStarted(int taskId) throws RemoteException { if (mActivityViewCallback == null) { public void onTaskRemovalStarted(ActivityManager.RunningTaskInfo taskInfo) throws RemoteException { if (mActivityViewCallback == null || mVirtualDisplay == null || taskInfo.displayId != mVirtualDisplay.getDisplay().getDisplayId()) { return; } StackInfo stackInfo = getTopMostStackInfo(); // if StackInfo was null or task is on a different display then there's no use // notifying the callback if (stackInfo != null && taskId == stackInfo.taskIds[stackInfo.taskIds.length - 1]) { mActivityViewCallback.onTaskRemovalStarted(taskId); } mActivityViewCallback.onTaskRemovalStarted(taskInfo.taskId); } private StackInfo getTopMostStackInfo() throws RemoteException { Loading
core/java/android/app/ITaskStackListener.aidl +12 −7 Original line number Diff line number Diff line Loading @@ -73,8 +73,12 @@ oneway interface ITaskStackListener { /** * Called when an activity was requested to be launched on a secondary display but was not * allowed there. * * @param taskInfo info about the Activity's task * @param requestedDisplayId the id of the requested launch display */ void onActivityLaunchOnSecondaryDisplayFailed(); void onActivityLaunchOnSecondaryDisplayFailed(in ActivityManager.RunningTaskInfo taskInfo, int requestedDisplayId); /** * Called when a task is added. Loading @@ -94,18 +98,17 @@ oneway interface ITaskStackListener { /** * Called when a task is moved to the front of its stack. * * @param taskId id of the task. * @param taskInfo info about the task which moved */ void onTaskMovedToFront(int taskId); void onTaskMovedToFront(in ActivityManager.RunningTaskInfo taskInfo); /** * Called when a task’s description is changed due to an activity calling * ActivityManagerService.setTaskDescription * * @param taskId id of the task. * @param td the new TaskDescription. * @param taskInfo info about the task which changed, with {@link TaskInfo#taskDescription} */ void onTaskDescriptionChanged(int taskId, in ActivityManager.TaskDescription td); void onTaskDescriptionChanged(in ActivityManager.RunningTaskInfo taskInfo); /** * Called when a activity’s orientation is changed due to it calling Loading @@ -120,8 +123,10 @@ oneway interface ITaskStackListener { * Called when the task is about to be finished but before its surfaces are * removed from the window manager. This allows interested parties to * perform relevant animations before the window disappears. * * @param taskInfo info about the task being removed */ void onTaskRemovalStarted(int taskId); void onTaskRemovalStarted(in ActivityManager.RunningTaskInfo taskInfo); /** * Called when the task has been put in a locked state because one or more of the Loading
core/java/android/app/TaskStackListener.java +37 −0 Original line number Diff line number Diff line Loading @@ -70,6 +70,16 @@ public abstract class TaskStackListener extends ITaskStackListener.Stub { } @Override public void onActivityLaunchOnSecondaryDisplayFailed(ActivityManager.RunningTaskInfo taskInfo, int requestedDisplayId) throws RemoteException { onActivityLaunchOnSecondaryDisplayFailed(); } /** * @deprecated see {@link * #onActivityLaunchOnSecondaryDisplayFailed(ActivityManager.RunningTaskInfo, int)} */ @Deprecated @UnsupportedAppUsage public void onActivityLaunchOnSecondaryDisplayFailed() throws RemoteException { } Loading @@ -84,15 +94,42 @@ public abstract class TaskStackListener extends ITaskStackListener.Stub { } @Override public void onTaskMovedToFront(ActivityManager.RunningTaskInfo taskInfo) throws RemoteException { onTaskMovedToFront(taskInfo.taskId); } /** * @deprecated see {@link #onTaskMovedToFront(ActivityManager.RunningTaskInfo)} */ @Deprecated @UnsupportedAppUsage public void onTaskMovedToFront(int taskId) throws RemoteException { } @Override public void onTaskRemovalStarted(ActivityManager.RunningTaskInfo taskInfo) throws RemoteException { onTaskRemovalStarted(taskInfo.taskId); } /** * @deprecated see {@link #onTaskRemovalStarted(ActivityManager.RunningTaskInfo)} */ @Deprecated public void onTaskRemovalStarted(int taskId) throws RemoteException { } @Override public void onTaskDescriptionChanged(ActivityManager.RunningTaskInfo taskInfo) throws RemoteException { onTaskDescriptionChanged(taskInfo.taskId, taskInfo.taskDescription); } /** * @deprecated see {@link #onTaskDescriptionChanged(ActivityManager.RunningTaskInfo)} */ @Deprecated public void onTaskDescriptionChanged(int taskId, ActivityManager.TaskDescription td) throws RemoteException { } Loading
packages/SystemUI/shared/src/com/android/systemui/shared/system/TaskStackChangeListener.java +11 −1 Original line number Diff line number Diff line Loading @@ -16,7 +16,7 @@ package com.android.systemui.shared.system; import android.app.ActivityManager.TaskSnapshot; import android.app.ActivityManager.RunningTaskInfo; import android.content.ComponentName; import android.os.UserHandle; import android.util.Log; Loading @@ -43,10 +43,20 @@ public abstract class TaskStackChangeListener { public void onActivityForcedResizable(String packageName, int taskId, int reason) { } public void onActivityDismissingDockedStack() { } public void onActivityLaunchOnSecondaryDisplayFailed() { } public void onActivityLaunchOnSecondaryDisplayFailed(RunningTaskInfo taskInfo) { onActivityLaunchOnSecondaryDisplayFailed(); } public void onTaskProfileLocked(int taskId, int userId) { } public void onTaskCreated(int taskId, ComponentName componentName) { } public void onTaskRemoved(int taskId) { } public void onTaskMovedToFront(int taskId) { } public void onTaskMovedToFront(RunningTaskInfo taskInfo) { onTaskMovedToFront(taskInfo.taskId); } public void onActivityRequestedOrientationChanged(int taskId, int requestedOrientation) { } /** Loading
packages/SystemUI/shared/src/com/android/systemui/shared/system/TaskStackChangeListeners.java +17 −9 Original line number Diff line number Diff line Loading @@ -16,8 +16,9 @@ package com.android.systemui.shared.system; import android.app.ActivityTaskManager; import android.app.ActivityManager.RunningTaskInfo; import android.app.ActivityManager.TaskSnapshot; import android.app.ActivityTaskManager; import android.app.IActivityManager; import android.app.TaskStackListener; import android.content.ComponentName; Loading Loading @@ -132,8 +133,11 @@ public class TaskStackChangeListeners extends TaskStackListener { } @Override public void onActivityLaunchOnSecondaryDisplayFailed() throws RemoteException { mHandler.sendEmptyMessage(H.ON_ACTIVITY_LAUNCH_ON_SECONDARY_DISPLAY_FAILED); public void onActivityLaunchOnSecondaryDisplayFailed(RunningTaskInfo taskInfo, int requestedDisplayId) throws RemoteException { mHandler.obtainMessage(H.ON_ACTIVITY_LAUNCH_ON_SECONDARY_DISPLAY_FAILED, requestedDisplayId, 0 /* unused */, taskInfo).sendToTarget(); } @Override Loading @@ -157,8 +161,9 @@ public class TaskStackChangeListeners extends TaskStackListener { } @Override public void onTaskMovedToFront(int taskId) throws RemoteException { mHandler.obtainMessage(H.ON_TASK_MOVED_TO_FRONT, taskId, 0).sendToTarget(); public void onTaskMovedToFront(RunningTaskInfo taskInfo) throws RemoteException { mHandler.obtainMessage(H.ON_TASK_MOVED_TO_FRONT, taskInfo).sendToTarget(); } @Override Loading Loading @@ -258,8 +263,10 @@ public class TaskStackChangeListeners extends TaskStackListener { break; } case ON_ACTIVITY_LAUNCH_ON_SECONDARY_DISPLAY_FAILED: { final RunningTaskInfo info = (RunningTaskInfo) msg.obj; for (int i = mTaskStackListeners.size() - 1; i >= 0; i--) { mTaskStackListeners.get(i).onActivityLaunchOnSecondaryDisplayFailed(); mTaskStackListeners.get(i) .onActivityLaunchOnSecondaryDisplayFailed(info); } break; } Loading @@ -283,15 +290,16 @@ public class TaskStackChangeListeners extends TaskStackListener { break; } case ON_TASK_MOVED_TO_FRONT: { final RunningTaskInfo info = (RunningTaskInfo) msg.obj; for (int i = mTaskStackListeners.size() - 1; i >= 0; i--) { mTaskStackListeners.get(i).onTaskMovedToFront(msg.arg1); mTaskStackListeners.get(i).onTaskMovedToFront(info); } break; } case ON_ACTIVITY_REQUESTED_ORIENTATION_CHANGE: { for (int i = mTaskStackListeners.size() - 1; i >= 0; i--) { mTaskStackListeners.get(i).onActivityRequestedOrientationChanged( msg.arg1, msg.arg2); mTaskStackListeners.get(i) .onActivityRequestedOrientationChanged(msg.arg1, msg.arg2); } break; } Loading