Add null check to setAppGroupId.
Fix bug 8217929.
Change-Id: I3bd54c32abcf6683c2fa75a85bf5025f47e09398
diff --git a/services/java/com/android/server/wm/WindowManagerService.java b/services/java/com/android/server/wm/WindowManagerService.java
index 0159877..c2213b3 100644
--- a/services/java/com/android/server/wm/WindowManagerService.java
+++ b/services/java/com/android/server/wm/WindowManagerService.java
@@ -3336,12 +3336,17 @@
}
synchronized(mWindowMap) {
- AppWindowToken atoken = findAppWindowToken(token);
+ final AppWindowToken atoken = findAppWindowToken(token);
if (atoken == null) {
Slog.w(TAG, "Attempted to set group id of non-existing app token: " + token);
return;
}
- mTaskIdToDisplayContents.get(atoken.groupId).setAppTaskId(atoken, groupId);
+ DisplayContent displayContent = mTaskIdToDisplayContents.get(atoken.groupId);
+ if (displayContent == null) {
+ Slog.w(TAG, "setAppGroupId: No DisplayContent for taskId=" + atoken.groupId);
+ displayContent = getDefaultDisplayContentLocked();
+ }
+ displayContent.setAppTaskId(atoken, groupId);
}
}