summaryrefslogtreecommitdiff
path: root/core/java/android/view/WindowManagerGlobal.java
diff options
context:
space:
mode:
authorwilsonshih <wilsonshih@google.com>2020-03-18 22:41:55 +0800
committerwilsonshih <wilsonshih@google.com>2020-04-08 15:15:01 +0800
commitd0fc2ca51fcf74c7f0a06a7cbda59384d2b20674 (patch)
tree89b7ace3a198c5d16db2afa180d704bcd028105f /core/java/android/view/WindowManagerGlobal.java
parentc920673e5f971ed1e5b022697725f649c3921a42 (diff)
Support addWindow as other user
Support addWindow with the other userId which can be different from Uid. This can be used when client want to addView for secondary user. Example: 1. Create context with createContextAsUser or similar method. 2. Get WindowManager with this context. 3. WindowManager#addView Bug: 151414297 Test: atest WmTests WindowAddRemovePerfTest AddWindowAsUserTest Change-Id: I13e58d76b1f056f3829bc984c2b61496c8f8d535
Diffstat (limited to 'core/java/android/view/WindowManagerGlobal.java')
-rw-r--r--core/java/android/view/WindowManagerGlobal.java5
1 files changed, 3 insertions, 2 deletions
diff --git a/core/java/android/view/WindowManagerGlobal.java b/core/java/android/view/WindowManagerGlobal.java
index 410d9afe73da..6e1ad3724dae 100644
--- a/core/java/android/view/WindowManagerGlobal.java
+++ b/core/java/android/view/WindowManagerGlobal.java
@@ -136,6 +136,7 @@ public final class WindowManagerGlobal {
public static final int ADD_PERMISSION_DENIED = -8;
public static final int ADD_INVALID_DISPLAY = -9;
public static final int ADD_INVALID_TYPE = -10;
+ public static final int ADD_INVALID_USER = -11;
@UnsupportedAppUsage
private static WindowManagerGlobal sDefaultWindowManager;
@@ -317,7 +318,7 @@ public final class WindowManagerGlobal {
}
public void addView(View view, ViewGroup.LayoutParams params,
- Display display, Window parentWindow) {
+ Display display, Window parentWindow, int userId) {
if (view == null) {
throw new IllegalArgumentException("view must not be null");
}
@@ -394,7 +395,7 @@ public final class WindowManagerGlobal {
// do this last because it fires off messages to start doing things
try {
- root.setView(view, wparams, panelParentView);
+ root.setView(view, wparams, panelParentView, userId);
} catch (RuntimeException e) {
// BadTokenException or InvalidDisplayException, clean up.
if (index >= 0) {