Loading api/test-current.txt +1 −1 Original line number Diff line number Diff line Loading @@ -18,7 +18,7 @@ package android.app { method public void removeStacksWithActivityTypes(int[]) throws java.lang.SecurityException; method public void resizeStack(int, android.graphics.Rect) throws java.lang.SecurityException; method public void setTaskWindowingMode(int, int, boolean) throws java.lang.SecurityException; method public void setTaskWindowingModeSplitScreenPrimary(int, int, boolean, boolean, android.graphics.Rect) throws java.lang.SecurityException; method public void setTaskWindowingModeSplitScreenPrimary(int, int, boolean, boolean, android.graphics.Rect, boolean) throws java.lang.SecurityException; method public static boolean supportsMultiWindow(android.content.Context); method public static boolean supportsSplitScreenMultiWindow(android.content.Context); field public static final int SPLIT_SCREEN_CREATE_MODE_BOTTOM_OR_RIGHT = 1; // 0x1 Loading core/java/android/app/ActivityManager.java +4 −2 Original line number Diff line number Diff line Loading @@ -1944,15 +1944,17 @@ public class ActivityManager { * @param animate Whether we should play an animation for the moving the task * @param initialBounds If the primary stack gets created, it will use these bounds for the * docked stack. Pass {@code null} to use default bounds. * @param showRecents If the recents activity should be shown on the other side of the task * going into split-screen mode. * @hide */ @TestApi @RequiresPermission(android.Manifest.permission.MANAGE_ACTIVITY_STACKS) public void setTaskWindowingModeSplitScreenPrimary(int taskId, int createMode, boolean toTop, boolean animate, Rect initialBounds) throws SecurityException { boolean animate, Rect initialBounds, boolean showRecents) throws SecurityException { try { getService().setTaskWindowingModeSplitScreenPrimary(taskId, createMode, toTop, animate, initialBounds); initialBounds, showRecents); } catch (RemoteException e) { throw e.rethrowFromSystemServer(); } Loading core/java/android/app/IActivityManager.aidl +1 −1 Original line number Diff line number Diff line Loading @@ -502,7 +502,7 @@ interface IActivityManager { void reportSizeConfigurations(in IBinder token, in int[] horizontalSizeConfiguration, in int[] verticalSizeConfigurations, in int[] smallestWidthConfigurations); boolean setTaskWindowingModeSplitScreenPrimary(int taskId, int createMode, boolean toTop, boolean animate, in Rect initialBounds); boolean animate, in Rect initialBounds, boolean showRecents); /** * Dismisses split-screen multi-window mode. * {@param toTop} If true the current primary split-screen stack will be placed or left on top. Loading packages/SystemUI/src/com/android/systemui/recents/misc/SystemServicesProxy.java +1 −1 Original line number Diff line number Diff line Loading @@ -267,7 +267,7 @@ public class SystemServicesProxy { try { return mIam.setTaskWindowingModeSplitScreenPrimary(taskId, createMode, true /* onTop */, false /* animate */, initialBounds); false /* animate */, initialBounds, true /* showRecents */); } catch (RemoteException e) { e.printStackTrace(); } Loading services/core/java/com/android/server/am/ActivityManagerService.java +6 −3 Original line number Diff line number Diff line Loading @@ -416,6 +416,7 @@ import com.android.server.SystemServiceManager; import com.android.server.ThreadPriorityBooster; import com.android.server.Watchdog; import com.android.server.am.ActivityStack.ActivityState; import com.android.server.am.EventLogTags; import com.android.server.am.proto.ActivityManagerServiceProto; import com.android.server.am.proto.BroadcastProto; import com.android.server.am.proto.GrantUriProto; Loading Loading @@ -10433,7 +10434,7 @@ public class ActivityManagerService extends IActivityManager.Stub public void setTaskWindowingMode(int taskId, int windowingMode, boolean toTop) { if (windowingMode == WINDOWING_MODE_SPLIT_SCREEN_PRIMARY) { setTaskWindowingModeSplitScreenPrimary(taskId, SPLIT_SCREEN_CREATE_MODE_TOP_OR_LEFT, toTop, ANIMATE, null /* initialBounds */); toTop, ANIMATE, null /* initialBounds */, true /* showRecents */); return; } enforceCallerIsRecentsOrHasPermission(MANAGE_ACTIVITY_STACKS, "setTaskWindowingMode()"); Loading Loading @@ -10479,10 +10480,12 @@ public class ActivityManagerService extends IActivityManager.Stub * @param animate Whether we should play an animation for the moving the task. * @param initialBounds If the primary stack gets created, it will use these bounds for the * stack. Pass {@code null} to use default bounds. * @param showRecents If the recents activity should be shown on the other side of the task * going into split-screen mode. */ @Override public boolean setTaskWindowingModeSplitScreenPrimary(int taskId, int createMode, boolean toTop, boolean animate, Rect initialBounds) { boolean animate, Rect initialBounds, boolean showRecents) { enforceCallerIsRecentsOrHasPermission(MANAGE_ACTIVITY_STACKS, "setTaskWindowingModeSplitScreenPrimary()"); synchronized (this) { Loading @@ -10507,7 +10510,7 @@ public class ActivityManagerService extends IActivityManager.Stub if (toTop) { stack.moveToFront("setTaskWindowingModeSplitScreenPrimary", task); } stack.setWindowingMode(WINDOWING_MODE_SPLIT_SCREEN_PRIMARY, animate); stack.setWindowingMode(WINDOWING_MODE_SPLIT_SCREEN_PRIMARY, animate, showRecents); return windowingMode != task.getWindowingMode(); } finally { Binder.restoreCallingIdentity(ident); Loading
api/test-current.txt +1 −1 Original line number Diff line number Diff line Loading @@ -18,7 +18,7 @@ package android.app { method public void removeStacksWithActivityTypes(int[]) throws java.lang.SecurityException; method public void resizeStack(int, android.graphics.Rect) throws java.lang.SecurityException; method public void setTaskWindowingMode(int, int, boolean) throws java.lang.SecurityException; method public void setTaskWindowingModeSplitScreenPrimary(int, int, boolean, boolean, android.graphics.Rect) throws java.lang.SecurityException; method public void setTaskWindowingModeSplitScreenPrimary(int, int, boolean, boolean, android.graphics.Rect, boolean) throws java.lang.SecurityException; method public static boolean supportsMultiWindow(android.content.Context); method public static boolean supportsSplitScreenMultiWindow(android.content.Context); field public static final int SPLIT_SCREEN_CREATE_MODE_BOTTOM_OR_RIGHT = 1; // 0x1 Loading
core/java/android/app/ActivityManager.java +4 −2 Original line number Diff line number Diff line Loading @@ -1944,15 +1944,17 @@ public class ActivityManager { * @param animate Whether we should play an animation for the moving the task * @param initialBounds If the primary stack gets created, it will use these bounds for the * docked stack. Pass {@code null} to use default bounds. * @param showRecents If the recents activity should be shown on the other side of the task * going into split-screen mode. * @hide */ @TestApi @RequiresPermission(android.Manifest.permission.MANAGE_ACTIVITY_STACKS) public void setTaskWindowingModeSplitScreenPrimary(int taskId, int createMode, boolean toTop, boolean animate, Rect initialBounds) throws SecurityException { boolean animate, Rect initialBounds, boolean showRecents) throws SecurityException { try { getService().setTaskWindowingModeSplitScreenPrimary(taskId, createMode, toTop, animate, initialBounds); initialBounds, showRecents); } catch (RemoteException e) { throw e.rethrowFromSystemServer(); } Loading
core/java/android/app/IActivityManager.aidl +1 −1 Original line number Diff line number Diff line Loading @@ -502,7 +502,7 @@ interface IActivityManager { void reportSizeConfigurations(in IBinder token, in int[] horizontalSizeConfiguration, in int[] verticalSizeConfigurations, in int[] smallestWidthConfigurations); boolean setTaskWindowingModeSplitScreenPrimary(int taskId, int createMode, boolean toTop, boolean animate, in Rect initialBounds); boolean animate, in Rect initialBounds, boolean showRecents); /** * Dismisses split-screen multi-window mode. * {@param toTop} If true the current primary split-screen stack will be placed or left on top. Loading
packages/SystemUI/src/com/android/systemui/recents/misc/SystemServicesProxy.java +1 −1 Original line number Diff line number Diff line Loading @@ -267,7 +267,7 @@ public class SystemServicesProxy { try { return mIam.setTaskWindowingModeSplitScreenPrimary(taskId, createMode, true /* onTop */, false /* animate */, initialBounds); false /* animate */, initialBounds, true /* showRecents */); } catch (RemoteException e) { e.printStackTrace(); } Loading
services/core/java/com/android/server/am/ActivityManagerService.java +6 −3 Original line number Diff line number Diff line Loading @@ -416,6 +416,7 @@ import com.android.server.SystemServiceManager; import com.android.server.ThreadPriorityBooster; import com.android.server.Watchdog; import com.android.server.am.ActivityStack.ActivityState; import com.android.server.am.EventLogTags; import com.android.server.am.proto.ActivityManagerServiceProto; import com.android.server.am.proto.BroadcastProto; import com.android.server.am.proto.GrantUriProto; Loading Loading @@ -10433,7 +10434,7 @@ public class ActivityManagerService extends IActivityManager.Stub public void setTaskWindowingMode(int taskId, int windowingMode, boolean toTop) { if (windowingMode == WINDOWING_MODE_SPLIT_SCREEN_PRIMARY) { setTaskWindowingModeSplitScreenPrimary(taskId, SPLIT_SCREEN_CREATE_MODE_TOP_OR_LEFT, toTop, ANIMATE, null /* initialBounds */); toTop, ANIMATE, null /* initialBounds */, true /* showRecents */); return; } enforceCallerIsRecentsOrHasPermission(MANAGE_ACTIVITY_STACKS, "setTaskWindowingMode()"); Loading Loading @@ -10479,10 +10480,12 @@ public class ActivityManagerService extends IActivityManager.Stub * @param animate Whether we should play an animation for the moving the task. * @param initialBounds If the primary stack gets created, it will use these bounds for the * stack. Pass {@code null} to use default bounds. * @param showRecents If the recents activity should be shown on the other side of the task * going into split-screen mode. */ @Override public boolean setTaskWindowingModeSplitScreenPrimary(int taskId, int createMode, boolean toTop, boolean animate, Rect initialBounds) { boolean animate, Rect initialBounds, boolean showRecents) { enforceCallerIsRecentsOrHasPermission(MANAGE_ACTIVITY_STACKS, "setTaskWindowingModeSplitScreenPrimary()"); synchronized (this) { Loading @@ -10507,7 +10510,7 @@ public class ActivityManagerService extends IActivityManager.Stub if (toTop) { stack.moveToFront("setTaskWindowingModeSplitScreenPrimary", task); } stack.setWindowingMode(WINDOWING_MODE_SPLIT_SCREEN_PRIMARY, animate); stack.setWindowingMode(WINDOWING_MODE_SPLIT_SCREEN_PRIMARY, animate, showRecents); return windowingMode != task.getWindowingMode(); } finally { Binder.restoreCallingIdentity(ident);