am 66de7f4f: Merge "Fixes to handleAppDiedLocked." into klp-dev
* commit '66de7f4fa080a58c644c46122001890b3552ab81': Fixes to handleAppDiedLocked.
This commit is contained in:
@@ -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);
|
||||
|
||||
@@ -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) {
|
||||
|
||||
Reference in New Issue
Block a user