summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--services/core/java/com/android/server/wm/ActivityRecord.java2
-rw-r--r--services/tests/wmtests/src/com/android/server/wm/ActivityTestsBase.java3
2 files changed, 4 insertions, 1 deletions
diff --git a/services/core/java/com/android/server/wm/ActivityRecord.java b/services/core/java/com/android/server/wm/ActivityRecord.java
index eec22d5d1ee9..b4aec35d9d6e 100644
--- a/services/core/java/com/android/server/wm/ActivityRecord.java
+++ b/services/core/java/com/android/server/wm/ActivityRecord.java
@@ -1105,6 +1105,8 @@ final class ActivityRecord extends ConfigurationContainer {
}
void removeWindowContainer() {
+ if (service.mWindowManager.mRoot == null) return;
+
final DisplayContent dc = service.mWindowManager.mRoot.getDisplayContent(
getDisplayId());
if (dc == null) {
diff --git a/services/tests/wmtests/src/com/android/server/wm/ActivityTestsBase.java b/services/tests/wmtests/src/com/android/server/wm/ActivityTestsBase.java
index 81e97c688e6e..ead9731782e8 100644
--- a/services/tests/wmtests/src/com/android/server/wm/ActivityTestsBase.java
+++ b/services/tests/wmtests/src/com/android/server/wm/ActivityTestsBase.java
@@ -233,7 +233,9 @@ class ActivityTestsBase {
aInfo /*aInfo*/, new Configuration(), null /* resultTo */, null /* resultWho */,
0 /* reqCode */, false /*componentSpecified*/, false /* rootVoiceInteraction */,
mService.mStackSupervisor, null /* options */, null /* sourceRecord */);
+ spyOn(activity);
activity.mAppWindowToken = mock(AppWindowToken.class);
+ doNothing().when(activity).removeWindowContainer();
if (mTaskRecord != null) {
mTaskRecord.addActivityToTop(activity);
@@ -245,7 +247,6 @@ class ActivityTestsBase {
mock(WindowProcessListener.class));
wpc.setThread(mock(IApplicationThread.class));
activity.setProcess(wpc);
- activity.service.mWindowManager.mRoot = mock(RootWindowContainer.class);
return activity;
}
}