Merge "Check for empty activity stack. This avoids a null pointer exception when switching from an user with no open apps."
diff --git a/services/core/java/com/android/server/am/ActivityStackSupervisor.java b/services/core/java/com/android/server/am/ActivityStackSupervisor.java
index 9636de7..b2cf846 100644
--- a/services/core/java/com/android/server/am/ActivityStackSupervisor.java
+++ b/services/core/java/com/android/server/am/ActivityStackSupervisor.java
@@ -2469,7 +2469,10 @@
for (int stackNdx = stacks.size() - 1; stackNdx >= 0; --stackNdx) {
final ActivityStack stack = stacks.get(stackNdx);
stack.switchUserLocked(userId);
- mWindowManager.moveTaskToTop(stack.topTask().taskId);
+ TaskRecord task = stack.topTask();
+ if (task != null) {
+ mWindowManager.moveTaskToTop(task.taskId);
+ }
}
}
@@ -2480,7 +2483,10 @@
final boolean homeInFront = stack.isHomeStack();
if (stack.isOnHomeDisplay()) {
moveHomeStack(homeInFront);
- mWindowManager.moveTaskToTop(stack.topTask().taskId);
+ TaskRecord task = stack.topTask();
+ if (task != null) {
+ mWindowManager.moveTaskToTop(task.taskId);
+ }
} else {
// Stack was moved to another display while user was swapped out.
resumeHomeActivity(null);