Loading core/java/android/app/ActivityManagerNative.java +4 −2 Original line number Diff line number Diff line Loading @@ -2798,7 +2798,8 @@ public abstract class ActivityManagerNative extends Binder implements IActivityM case MOVE_TASKS_TO_FULLSCREEN_STACK_TRANSACTION: { data.enforceInterface(IActivityManager.descriptor); final int stackId = data.readInt(); moveTasksToFullscreenStack(stackId); final boolean onTop = data.readInt() == 1; moveTasksToFullscreenStack(stackId, onTop); reply.writeNoException(); return true; } Loading Loading @@ -6581,11 +6582,12 @@ class ActivityManagerProxy implements IActivityManager } @Override public void moveTasksToFullscreenStack(int fromStackId) throws RemoteException { public void moveTasksToFullscreenStack(int fromStackId, boolean onTop) throws RemoteException { Parcel data = Parcel.obtain(); Parcel reply = Parcel.obtain(); data.writeInterfaceToken(IActivityManager.descriptor); data.writeInt(fromStackId); data.writeInt(onTop ? 1 : 0); mRemote.transact(MOVE_TASKS_TO_FULLSCREEN_STACK_TRANSACTION, data, reply, 0); reply.readException(); data.recycle(); Loading core/java/android/app/IActivityManager.java +1 −1 Original line number Diff line number Diff line Loading @@ -577,7 +577,7 @@ public interface IActivityManager extends IInterface { public void suppressResizeConfigChanges(boolean suppress) throws RemoteException; public void moveTasksToFullscreenStack(int fromStackId) throws RemoteException; public void moveTasksToFullscreenStack(int fromStackId, boolean onTop) throws RemoteException; public int getAppStartMode(int uid, String packageName) throws RemoteException; Loading packages/SystemUI/src/com/android/systemui/stackdivider/WindowManagerProxy.java +2 −1 Original line number Diff line number Diff line Loading @@ -85,7 +85,8 @@ public class WindowManagerProxy { @Override public void run() { try { ActivityManagerNative.getDefault().moveTasksToFullscreenStack(DOCKED_STACK_ID); ActivityManagerNative.getDefault().moveTasksToFullscreenStack( DOCKED_STACK_ID, false /* onTop */); } catch (RemoteException e) { Log.w(TAG, "Failed to remove stack: " + e); } Loading services/core/java/com/android/server/am/ActivityManagerService.java +13 −4 Original line number Diff line number Diff line Loading @@ -18166,7 +18166,7 @@ public final class ActivityManagerService extends ActivityManagerNative } @Override public void moveTasksToFullscreenStack(int fromStackId) { public void moveTasksToFullscreenStack(int fromStackId, boolean onTop) { enforceCallingPermission(MANAGE_ACTIVITY_STACKS, "moveTasksToFullscreenStack()"); if (fromStackId == HOME_STACK_ID) { throw new IllegalArgumentException("You can't move tasks from the home stack."); Loading @@ -18176,11 +18176,20 @@ public final class ActivityManagerService extends ActivityManagerNative final ActivityStack stack = mStackSupervisor.getStack(fromStackId); if (stack != null) { final ArrayList<TaskRecord> tasks = stack.getAllTasks(); for (int i = tasks.size() - 1; i >= 0; i--) { final int size = tasks.size(); if (onTop) { for (int i = 0; i < size; i++) { mStackSupervisor.moveTaskToStackLocked(tasks.get(i).taskId, FULLSCREEN_WORKSPACE_STACK_ID, ON_TOP, !FORCE_FOCUS, "moveTasksToFullscreenStack", ANIMATE); } } else { for (int i = size - 1; i >= 0; i--) { mStackSupervisor.positionTaskInStackLocked(tasks.get(i).taskId, FULLSCREEN_WORKSPACE_STACK_ID, 0); } } } Binder.restoreCallingIdentity(origId); } } Loading
core/java/android/app/ActivityManagerNative.java +4 −2 Original line number Diff line number Diff line Loading @@ -2798,7 +2798,8 @@ public abstract class ActivityManagerNative extends Binder implements IActivityM case MOVE_TASKS_TO_FULLSCREEN_STACK_TRANSACTION: { data.enforceInterface(IActivityManager.descriptor); final int stackId = data.readInt(); moveTasksToFullscreenStack(stackId); final boolean onTop = data.readInt() == 1; moveTasksToFullscreenStack(stackId, onTop); reply.writeNoException(); return true; } Loading Loading @@ -6581,11 +6582,12 @@ class ActivityManagerProxy implements IActivityManager } @Override public void moveTasksToFullscreenStack(int fromStackId) throws RemoteException { public void moveTasksToFullscreenStack(int fromStackId, boolean onTop) throws RemoteException { Parcel data = Parcel.obtain(); Parcel reply = Parcel.obtain(); data.writeInterfaceToken(IActivityManager.descriptor); data.writeInt(fromStackId); data.writeInt(onTop ? 1 : 0); mRemote.transact(MOVE_TASKS_TO_FULLSCREEN_STACK_TRANSACTION, data, reply, 0); reply.readException(); data.recycle(); Loading
core/java/android/app/IActivityManager.java +1 −1 Original line number Diff line number Diff line Loading @@ -577,7 +577,7 @@ public interface IActivityManager extends IInterface { public void suppressResizeConfigChanges(boolean suppress) throws RemoteException; public void moveTasksToFullscreenStack(int fromStackId) throws RemoteException; public void moveTasksToFullscreenStack(int fromStackId, boolean onTop) throws RemoteException; public int getAppStartMode(int uid, String packageName) throws RemoteException; Loading
packages/SystemUI/src/com/android/systemui/stackdivider/WindowManagerProxy.java +2 −1 Original line number Diff line number Diff line Loading @@ -85,7 +85,8 @@ public class WindowManagerProxy { @Override public void run() { try { ActivityManagerNative.getDefault().moveTasksToFullscreenStack(DOCKED_STACK_ID); ActivityManagerNative.getDefault().moveTasksToFullscreenStack( DOCKED_STACK_ID, false /* onTop */); } catch (RemoteException e) { Log.w(TAG, "Failed to remove stack: " + e); } Loading
services/core/java/com/android/server/am/ActivityManagerService.java +13 −4 Original line number Diff line number Diff line Loading @@ -18166,7 +18166,7 @@ public final class ActivityManagerService extends ActivityManagerNative } @Override public void moveTasksToFullscreenStack(int fromStackId) { public void moveTasksToFullscreenStack(int fromStackId, boolean onTop) { enforceCallingPermission(MANAGE_ACTIVITY_STACKS, "moveTasksToFullscreenStack()"); if (fromStackId == HOME_STACK_ID) { throw new IllegalArgumentException("You can't move tasks from the home stack."); Loading @@ -18176,11 +18176,20 @@ public final class ActivityManagerService extends ActivityManagerNative final ActivityStack stack = mStackSupervisor.getStack(fromStackId); if (stack != null) { final ArrayList<TaskRecord> tasks = stack.getAllTasks(); for (int i = tasks.size() - 1; i >= 0; i--) { final int size = tasks.size(); if (onTop) { for (int i = 0; i < size; i++) { mStackSupervisor.moveTaskToStackLocked(tasks.get(i).taskId, FULLSCREEN_WORKSPACE_STACK_ID, ON_TOP, !FORCE_FOCUS, "moveTasksToFullscreenStack", ANIMATE); } } else { for (int i = size - 1; i >= 0; i--) { mStackSupervisor.positionTaskInStackLocked(tasks.get(i).taskId, FULLSCREEN_WORKSPACE_STACK_ID, 0); } } } Binder.restoreCallingIdentity(origId); } }