summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--services/core/java/com/android/server/am/ActivityDisplay.java14
-rw-r--r--services/core/java/com/android/server/am/ActivityStackSupervisor.java8
-rw-r--r--services/core/java/com/android/server/wm/DisplayWindowController.java22
3 files changed, 20 insertions, 24 deletions
diff --git a/services/core/java/com/android/server/am/ActivityDisplay.java b/services/core/java/com/android/server/am/ActivityDisplay.java
index dd83a36b99d8..44980772d895 100644
--- a/services/core/java/com/android/server/am/ActivityDisplay.java
+++ b/services/core/java/com/android/server/am/ActivityDisplay.java
@@ -106,21 +106,21 @@ class ActivityDisplay extends ConfigurationContainer<ActivityStack>
private DisplayWindowController mWindowContainerController;
+ @VisibleForTesting
ActivityDisplay(ActivityStackSupervisor supervisor, int displayId) {
+ this(supervisor, supervisor.mDisplayManager.getDisplay(displayId));
+ }
+
+ ActivityDisplay(ActivityStackSupervisor supervisor, Display display) {
mSupervisor = supervisor;
- mDisplayId = displayId;
- final Display display = supervisor.mDisplayManager.getDisplay(displayId);
- if (display == null) {
- throw new IllegalStateException("Display does not exist displayId=" + displayId);
- }
+ mDisplayId = display.getDisplayId();
mDisplay = display;
mWindowContainerController = createWindowContainerController();
-
updateBounds();
}
protected DisplayWindowController createWindowContainerController() {
- return new DisplayWindowController(mDisplayId, this);
+ return new DisplayWindowController(mDisplay, this);
}
void updateBounds() {
diff --git a/services/core/java/com/android/server/am/ActivityStackSupervisor.java b/services/core/java/com/android/server/am/ActivityStackSupervisor.java
index 740a312f7aa0..d372bd874d5a 100644
--- a/services/core/java/com/android/server/am/ActivityStackSupervisor.java
+++ b/services/core/java/com/android/server/am/ActivityStackSupervisor.java
@@ -652,9 +652,9 @@ public class ActivityStackSupervisor extends ConfigurationContainer implements D
Display[] displays = mDisplayManager.getDisplays();
for (int displayNdx = displays.length - 1; displayNdx >= 0; --displayNdx) {
- final int displayId = displays[displayNdx].getDisplayId();
- ActivityDisplay activityDisplay = new ActivityDisplay(this, displayId);
- mActivityDisplays.put(displayId, activityDisplay);
+ final Display display = displays[displayNdx];
+ ActivityDisplay activityDisplay = new ActivityDisplay(this, display);
+ mActivityDisplays.put(display.getDisplayId(), activityDisplay);
calculateDefaultMinimalSizeOfResizeableTasks(activityDisplay);
}
@@ -4085,7 +4085,7 @@ public class ActivityStackSupervisor extends ConfigurationContainer implements D
return null;
}
// The display hasn't been added to ActivityManager yet, create a new record now.
- activityDisplay = new ActivityDisplay(this, displayId);
+ activityDisplay = new ActivityDisplay(this, display);
attachDisplay(activityDisplay);
calculateDefaultMinimalSizeOfResizeableTasks(activityDisplay);
mWindowManager.onDisplayAdded(displayId);
diff --git a/services/core/java/com/android/server/wm/DisplayWindowController.java b/services/core/java/com/android/server/wm/DisplayWindowController.java
index e3e4a4673ea3..ba8ec69f3605 100644
--- a/services/core/java/com/android/server/wm/DisplayWindowController.java
+++ b/services/core/java/com/android/server/wm/DisplayWindowController.java
@@ -34,25 +34,21 @@ public class DisplayWindowController
private final int mDisplayId;
- public DisplayWindowController(int displayId, WindowContainerListener listener) {
+ public DisplayWindowController(Display display, WindowContainerListener listener) {
super(listener, WindowManagerService.getInstance());
- mDisplayId = displayId;
+ mDisplayId = display.getDisplayId();
synchronized (mWindowMap) {
- final Display display = mService.mDisplayManager.getDisplay(displayId);
- if (display != null) {
- final long callingIdentity = Binder.clearCallingIdentity();
- try {
- mRoot.createDisplayContent(display, this /* controller */);
- } finally {
- Binder.restoreCallingIdentity(callingIdentity);
- }
+ final long callingIdentity = Binder.clearCallingIdentity();
+ try {
+ mRoot.createDisplayContent(display, this /* controller */);
+ } finally {
+ Binder.restoreCallingIdentity(callingIdentity);
}
if (mContainer == null) {
- throw new IllegalArgumentException("Trying to add displayId=" + displayId
- + " display=" + display
- + " dc=" + mRoot.getDisplayContent(displayId));
+ throw new IllegalArgumentException("Trying to add display=" + display
+ + " dc=" + mRoot.getDisplayContent(mDisplayId));
}
}
}