am 66de7f4f: Merge "Fixes to handleAppDiedLocked." into klp-dev

* commit '66de7f4fa080a58c644c46122001890b3552ab81':
  Fixes to handleAppDiedLocked.
This commit is contained in:
Craig Mautner
2013-10-01 14:46:35 -07:00
committed by Android Git Automerger
2 changed files with 12 additions and 13 deletions

View File

@@ -3438,23 +3438,22 @@ final class ActivityStack {
// Determine if the top task is exiting and should return to home. Do this before it gets
// removed in removeHistoryRecordsForAppsLocked.
boolean launchHomeNext = false;
int top = mTaskHistory.size() - 1;
while (top >= 0) {
final TaskRecord topTask = mTaskHistory.get(top);
if (topTask.mActivities.isEmpty()) {
// Not possible, but just in case.
--top;
TaskRecord topTask = mTaskHistory.get(mTaskHistory.size() - 1);
ArrayList<ActivityRecord> activities = topTask.mActivities;
int activityNdx;
for (activityNdx = activities.size() - 1; activityNdx >= 0; --activityNdx) {
ActivityRecord r = activities.get(activityNdx);
if (r.finishing) {
continue;
}
ActivityRecord r = topTask.topRunningActivityLocked(null);
if (r != null) {
// r will be launched next.
if (r.app != app) {
// This is the dying activity.
break;
}
// There is an activity in topTask that is finishing. If topTask belongs to the app
// return to home depending on the task flag.
}
if (activityNdx < 0) {
// All activities in task belong to app. Set launchHomeNext to task's value.
launchHomeNext = topTask.mOnTopOfHome;
break;
}
removeHistoryRecordsForAppLocked(app);

View File

@@ -1932,7 +1932,7 @@ public final class ActivityStackSupervisor {
for (int stackNdx = 0; stackNdx < numStacks; ++stackNdx) {
final ActivityStack stack = mStacks.get(stackNdx);
// Only update launchHomeTaskNext for the focused stack.
launchHomeTaskNext |= (stack == focusedStack && stack.handleAppDiedLocked(app));
launchHomeTaskNext |= (stack.handleAppDiedLocked(app) && stack == focusedStack);
}
if (!restarting) {