Merge "Fix issue #6745498: Cannot view consecutive event details from agenda view" into jb-dev

This commit is contained in:
Dianne Hackborn
2012-06-28 15:33:53 -07:00
committed by Android (Google) Code Review
2 changed files with 18 additions and 6 deletions

View File

@@ -5704,12 +5704,19 @@ public final class ActivityManagerService extends ActivityManagerNative
if (killProcesses) { if (killProcesses) {
// Find any running processes associated with this app. // Find any running processes associated with this app.
final String pkg = component.getPackageName();
ArrayList<ProcessRecord> procs = new ArrayList<ProcessRecord>(); ArrayList<ProcessRecord> procs = new ArrayList<ProcessRecord>();
SparseArray<ProcessRecord> appProcs HashMap<String, SparseArray<ProcessRecord>> pmap = mProcessNames.getMap();
= mProcessNames.getMap().get(component.getPackageName()); for (SparseArray<ProcessRecord> uids : pmap.values()) {
if (appProcs != null) { for (int i=0; i<uids.size(); i++) {
for (int i=0; i<appProcs.size(); i++) { ProcessRecord proc = uids.valueAt(i);
procs.add(appProcs.valueAt(i)); if (proc.userId != tr.userId) {
continue;
}
if (!proc.pkgList.contains(pkg)) {
continue;
}
procs.add(proc);
} }
} }
@@ -5720,6 +5727,7 @@ public final class ActivityManagerService extends ActivityManagerNative
Slog.i(TAG, "Killing " + pr.toShortString() + ": remove task"); Slog.i(TAG, "Killing " + pr.toShortString() + ": remove task");
EventLog.writeEvent(EventLogTags.AM_KILL, pr.pid, EventLog.writeEvent(EventLogTags.AM_KILL, pr.pid,
pr.processName, pr.setAdj, "remove task"); pr.processName, pr.setAdj, "remove task");
pr.killedBackground = true;
Process.killProcessQuiet(pr.pid); Process.killProcessQuiet(pr.pid);
} else { } else {
pr.waitingToKill = "remove task"; pr.waitingToKill = "remove task";
@@ -14634,6 +14642,7 @@ public final class ActivityManagerService extends ActivityManagerNative
Slog.i(TAG, "Killing " + app.toShortString() + ": " + app.waitingToKill); Slog.i(TAG, "Killing " + app.toShortString() + ": " + app.waitingToKill);
EventLog.writeEvent(EventLogTags.AM_KILL, app.pid, EventLog.writeEvent(EventLogTags.AM_KILL, app.pid,
app.processName, app.setAdj, app.waitingToKill); app.processName, app.setAdj, app.waitingToKill);
app.killedBackground = true;
Process.killProcessQuiet(app.pid); Process.killProcessQuiet(app.pid);
success = false; success = false;
} else { } else {

View File

@@ -2347,6 +2347,9 @@ final class ActivityStack {
while (i > 0) { while (i > 0) {
i--; i--;
ActivityRecord candidate = mHistory.get(i); ActivityRecord candidate = mHistory.get(i);
if (candidate.finishing) {
continue;
}
if (candidate.task.taskId != task) { if (candidate.task.taskId != task) {
break; break;
} }
@@ -4057,7 +4060,7 @@ final class ActivityStack {
int index = indexOfActivityLocked(r); int index = indexOfActivityLocked(r);
if (index >= 0) { if (index >= 0) {
if (r.state == ActivityState.DESTROYING) { if (r.state == ActivityState.DESTROYING) {
cleanUpActivityLocked(r, true, true); cleanUpActivityLocked(r, true, false);
removeActivityFromHistoryLocked(r); removeActivityFromHistoryLocked(r);
} }
} }