Fix resumeHomeStackTask can't resume home if activity is finishing.

Not to resume home activity in finishing stage as following case:

When only home task has 2 activities,
(ex: SetupWizard & DeviceOwnerProvisioningActivity),

If SetupWizard crashed during DeviceOwnerProvisioningActivity in
finishing stage,
makes DeviceOwnerProvisioningActivity cannot destroy immediately,
In resumeHomeStackTask, will resume DeviceOwnerProvisioningActivity
(returned by getHomeActivity),
But actually, DeviceOwnerProvisioningActivity cannot be resumed.
Caused ANR when back key since no more running activity can resume.

Change-Id: Icec49e092d2e7bee7f6a2d198913c1c5db7122f2
This commit is contained in:
Mark Lu
2015-10-08 13:31:01 +08:00
parent f518ad0a49
commit a56ea12ca5

View File

@@ -511,7 +511,8 @@ public final class ActivityStackSupervisor implements DisplayListener {
mHomeStack.moveHomeStackTaskToTop(homeStackTaskType);
ActivityRecord r = getHomeActivity();
if (r != null) {
// Only resume home activity if isn't finishing.
if (r != null && !r.finishing) {
mService.setFocusedActivityLocked(r, reason);
return resumeTopActivitiesLocked(mHomeStack, prev, null);
}