summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--core/java/android/view/IWindowManager.aidl5
-rw-r--r--services/core/java/com/android/server/am/ActivityStack.java2
-rw-r--r--services/core/java/com/android/server/wm/WindowManagerService.java6
-rw-r--r--tests/permission/src/com/android/framework/permission/tests/WindowManagerPermissionTests.java7
-rw-r--r--tools/layoutlib/bridge/src/android/view/IWindowManagerImpl.java2
5 files changed, 12 insertions, 10 deletions
diff --git a/core/java/android/view/IWindowManager.aidl b/core/java/android/view/IWindowManager.aidl
index bd6553297929..7a379d50ba05 100644
--- a/core/java/android/view/IWindowManager.aidl
+++ b/core/java/android/view/IWindowManager.aidl
@@ -110,11 +110,14 @@ interface IWindowManager
*
* @param token The token we are adding to the input task Id.
* @param taskId The Id of the task we are adding the token to.
+ * @param stackId Stack Id to create a new Task with the input task Id on
+ * if the task doesn't exist yet.
* @param taskBounds Bounds to use when creating a new Task with the input task Id if
* the task doesn't exist yet.
* @param config Configuration that is being used with this task.
*/
- void setAppTask(IBinder token, int taskId, in Rect taskBounds, in Configuration config);
+ void setAppTask(
+ IBinder token, int taskId, int stackId, in Rect taskBounds, in Configuration config);
void setAppOrientation(IApplicationToken token, int requestedOrientation);
int getAppOrientation(IApplicationToken token);
void setFocusedApp(IBinder token, boolean moveFocusNow);
diff --git a/services/core/java/com/android/server/am/ActivityStack.java b/services/core/java/com/android/server/am/ActivityStack.java
index 02a372a6a08a..36a7ceea5853 100644
--- a/services/core/java/com/android/server/am/ActivityStack.java
+++ b/services/core/java/com/android/server/am/ActivityStack.java
@@ -4751,7 +4751,7 @@ final class ActivityStack {
final Rect bounds = task.getLaunchBounds();
task.updateOverrideConfiguration(bounds);
mWindowManager.setAppTask(
- r.appToken, task.taskId, task.getLaunchBounds(), task.mOverrideConfig);
+ r.appToken, task.taskId, mStackId, task.getLaunchBounds(), task.mOverrideConfig);
mWindowManager.setTaskResizeable(task.taskId, task.mResizeable);
r.taskConfigOverride = task.mOverrideConfig;
}
diff --git a/services/core/java/com/android/server/wm/WindowManagerService.java b/services/core/java/com/android/server/wm/WindowManagerService.java
index f153873186c5..4736c600e08b 100644
--- a/services/core/java/com/android/server/wm/WindowManagerService.java
+++ b/services/core/java/com/android/server/wm/WindowManagerService.java
@@ -3273,7 +3273,8 @@ public class WindowManagerService extends IWindowManager.Stub
}
@Override
- public void setAppTask(IBinder token, int taskId, Rect taskBounds, Configuration config) {
+ public void setAppTask(
+ IBinder token, int taskId, int stackId, Rect taskBounds, Configuration config) {
if (!checkCallingPermission(android.Manifest.permission.MANAGE_APP_TOKENS,
"setAppTask()")) {
throw new SecurityException("Requires MANAGE_APP_TOKENS permission");
@@ -3291,8 +3292,7 @@ public class WindowManagerService extends IWindowManager.Stub
Task newTask = mTaskIdToTask.get(taskId);
if (newTask == null) {
newTask = createTaskLocked(
- taskId, oldTask.mStack.mStackId, oldTask.mUserId, atoken, taskBounds,
- config);
+ taskId, stackId, oldTask.mUserId, atoken, taskBounds, config);
}
newTask.addAppToken(Integer.MAX_VALUE /* at top */, atoken);
}
diff --git a/tests/permission/src/com/android/framework/permission/tests/WindowManagerPermissionTests.java b/tests/permission/src/com/android/framework/permission/tests/WindowManagerPermissionTests.java
index a390b0cab321..3c2659f6ab59 100644
--- a/tests/permission/src/com/android/framework/permission/tests/WindowManagerPermissionTests.java
+++ b/tests/permission/src/com/android/framework/permission/tests/WindowManagerPermissionTests.java
@@ -22,11 +22,10 @@ import android.os.RemoteException;
import android.os.ServiceManager;
import android.test.suitebuilder.annotation.SmallTest;
import android.view.IWindowManager;
-import android.view.KeyEvent;
-import android.view.MotionEvent;
-
import junit.framework.TestCase;
+import static android.app.ActivityManager.StackId.INVALID_STACK_ID;
+
/**
* TODO: Remove this. This is only a placeholder, need to implement this.
*/
@@ -104,7 +103,7 @@ public class WindowManagerPermissionTests extends TestCase {
}
try {
- mWm.setAppTask(null, 0, null, null);
+ mWm.setAppTask(null, 0, INVALID_STACK_ID, null, null);
fail("IWindowManager.setAppGroupId did not throw SecurityException as"
+ " expected");
} catch (SecurityException e) {
diff --git a/tools/layoutlib/bridge/src/android/view/IWindowManagerImpl.java b/tools/layoutlib/bridge/src/android/view/IWindowManagerImpl.java
index eea254bb8fcf..40437fac0092 100644
--- a/tools/layoutlib/bridge/src/android/view/IWindowManagerImpl.java
+++ b/tools/layoutlib/bridge/src/android/view/IWindowManagerImpl.java
@@ -321,7 +321,7 @@ public class IWindowManagerImpl implements IWindowManager {
}
@Override
- public void setAppTask(IBinder arg0, int arg1, Rect arg2, Configuration arg3)
+ public void setAppTask(IBinder arg0, int arg1, int arg2, Rect arg3, Configuration arg4)
throws RemoteException {
// TODO Auto-generated method stub
}