diff --git a/services/core/java/com/android/server/am/ActivityStackSupervisor.java b/services/core/java/com/android/server/am/ActivityStackSupervisor.java index e9f055866bd26..bbfb62abff055 100644 --- a/services/core/java/com/android/server/am/ActivityStackSupervisor.java +++ b/services/core/java/com/android/server/am/ActivityStackSupervisor.java @@ -2243,9 +2243,13 @@ public final class ActivityStackSupervisor implements DisplayListener { r.idle = true; //Slog.i(TAG, "IDLE: mBooted=" + mBooted + ", fromTimeout=" + fromTimeout); - if (!mService.mBooted && isFrontStack(r.task.stack)) { - mService.mBooted = true; - enableScreen = true; + if (isFrontStack(r.task.stack) || fromTimeout) { + booting = mService.mBooting; + mService.mBooting = false; + if (!mService.mBooted) { + mService.mBooted = true; + enableScreen = true; + } } } @@ -2273,9 +2277,6 @@ public final class ActivityStackSupervisor implements DisplayListener { mFinishingActivities.clear(); } - booting = mService.mBooting; - mService.mBooting = false; - if (mStartingUsers.size() > 0) { startingUsers = new ArrayList(mStartingUsers); mStartingUsers.clear();