Bring task with root activity to front when launching from recents.

Change makes sure we cover all cases where a task should be brought
to front if it already has a root activity and we are launching
from recents.

Bug: 18846206
Change-Id: I2e67a4c163c5a5ed6784ed620583f85d9c6ed731
This commit is contained in:
Wale Ogunwale
2015-01-06 16:45:04 -08:00
parent 1c6014e77d
commit 7bc33c0d25

View File

@@ -3619,6 +3619,10 @@ public final class ActivityManagerService extends ActivityManagerNative
if (task == null) {
throw new IllegalArgumentException("Task " + taskId + " not found.");
}
if (task.getRootActivity() != null) {
moveTaskToFrontLocked(task.taskId, 0, null);
return ActivityManager.START_TASK_TO_FRONT;
}
callingUid = task.mCallingUid;
callingPackage = task.mCallingPackage;
intent = task.intent;
@@ -19443,20 +19447,8 @@ public final class ActivityManagerService extends ActivityManagerNative
@Override
public void moveToFront() {
checkCaller();
final TaskRecord tr;
synchronized (ActivityManagerService.this) {
tr = recentTaskForIdLocked(mTaskId);
if (tr == null) {
throw new IllegalArgumentException("Unable to find task ID " + mTaskId);
}
if (tr.getRootActivity() != null) {
moveTaskToFrontLocked(tr.taskId, 0, null);
return;
}
}
startActivityFromRecentsInner(tr.taskId, null);
// Will bring task to front if it already has a root activity.
startActivityFromRecentsInner(mTaskId, null);
}
@Override