summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--services/core/java/com/android/server/am/ActivityManagerService.java46
-rw-r--r--services/core/java/com/android/server/am/ActivityStack.java13
-rw-r--r--services/core/java/com/android/server/am/ActivityStackSupervisor.java11
3 files changed, 36 insertions, 34 deletions
diff --git a/services/core/java/com/android/server/am/ActivityManagerService.java b/services/core/java/com/android/server/am/ActivityManagerService.java
index e4a6f3c7c96d..26ece5474f25 100644
--- a/services/core/java/com/android/server/am/ActivityManagerService.java
+++ b/services/core/java/com/android/server/am/ActivityManagerService.java
@@ -3484,27 +3484,29 @@ public final class ActivityManagerService extends ActivityManagerNative
Watchdog.getInstance().processStarted(app.processName, startResult.pid);
}
- checkTime(startTime, "startProcess: building log message");
- StringBuilder buf = mStringBuilder;
- buf.setLength(0);
- buf.append("Start proc ");
- buf.append(startResult.pid);
- buf.append(':');
- buf.append(app.processName);
- buf.append('/');
- UserHandle.formatUid(buf, uid);
- if (!isActivityProcess) {
- buf.append(" [");
- buf.append(entryPoint);
- buf.append("]");
- }
- buf.append(" for ");
- buf.append(hostingType);
- if (hostingNameStr != null) {
- buf.append(" ");
- buf.append(hostingNameStr);
- }
- Slog.i(TAG, buf.toString());
+ if (DEBUG_PROCESSES) {
+ checkTime(startTime, "startProcess: building log message");
+ StringBuilder buf = mStringBuilder;
+ buf.setLength(0);
+ buf.append("Start proc ");
+ buf.append(startResult.pid);
+ buf.append(':');
+ buf.append(app.processName);
+ buf.append('/');
+ UserHandle.formatUid(buf, uid);
+ if (!isActivityProcess) {
+ buf.append(" [");
+ buf.append(entryPoint);
+ buf.append("]");
+ }
+ buf.append(" for ");
+ buf.append(hostingType);
+ if (hostingNameStr != null) {
+ buf.append(" ");
+ buf.append(hostingNameStr);
+ }
+ Slog.i(TAG, buf.toString());
+ }
app.setPid(startResult.pid);
app.usingWrapper = startResult.usingWrapper;
app.removed = false;
@@ -19748,7 +19750,7 @@ public final class ActivityManagerService extends ActivityManagerNative
} else {
numEmpty++;
if (numEmpty > emptyProcessLimit) {
- app.kill("empty #" + numEmpty, true);
+ app.kill("empty #" + numEmpty, DEBUG_PROCESSES);
}
}
break;
diff --git a/services/core/java/com/android/server/am/ActivityStack.java b/services/core/java/com/android/server/am/ActivityStack.java
index b052d17a8dcb..9e32efa1a1c2 100644
--- a/services/core/java/com/android/server/am/ActivityStack.java
+++ b/services/core/java/com/android/server/am/ActivityStack.java
@@ -74,6 +74,7 @@ import android.os.Trace;
import android.os.UserHandle;
import android.service.voice.IVoiceInteractionSession;
import android.util.EventLog;
+import android.util.Log;
import android.util.Slog;
import android.view.Display;
@@ -733,7 +734,7 @@ final class ActivityStack {
"Launch completed; removing icicle of " + r.icicle);
}
- private void addRecentActivityLocked(ActivityRecord r) {
+ void addRecentActivityLocked(ActivityRecord r) {
if (r != null) {
mRecentTasks.addLocked(r.task);
r.task.touchActiveTime();
@@ -2312,8 +2313,8 @@ final class ActivityStack {
updateTaskMovement(task, true);
}
- final void startActivityLocked(ActivityRecord r, boolean newTask,
- boolean doResume, boolean keepCurTransition, ActivityOptions options) {
+ final void startActivityLocked(ActivityRecord r, boolean newTask, boolean keepCurTransition,
+ ActivityOptions options) {
TaskRecord rTask = r.task;
final int taskId = rTask.taskId;
// mLaunchTaskBehind tasks get placed at the back of the task stack.
@@ -2459,12 +2460,6 @@ final class ActivityStack {
if (VALIDATE_TOKENS) {
validateAppTokensLocked();
}
-
- if (doResume) {
- mStackSupervisor.resumeTopActivitiesLocked(this, r, options);
- } else {
- addRecentActivityLocked(r);
- }
}
final void validateAppTokensLocked() {
diff --git a/services/core/java/com/android/server/am/ActivityStackSupervisor.java b/services/core/java/com/android/server/am/ActivityStackSupervisor.java
index f4ba19f53937..9fff0c81d3ae 100644
--- a/services/core/java/com/android/server/am/ActivityStackSupervisor.java
+++ b/services/core/java/com/android/server/am/ActivityStackSupervisor.java
@@ -2628,9 +2628,14 @@ public final class ActivityStackSupervisor implements DisplayListener {
}
ActivityStack.logStartActivity(EventLogTags.AM_CREATE_ACTIVITY, r, r.task);
targetStack.mLastPausedActivity = null;
- targetStack.startActivityLocked(r, newTask, doResume, keepCurTransition, options);
- if (!launchTaskBehind && doResume) {
- mService.setFocusedActivityLocked(r, "startedActivity");
+ targetStack.startActivityLocked(r, newTask, keepCurTransition, options);
+ if (doResume) {
+ if (!launchTaskBehind) {
+ mService.setFocusedActivityLocked(r, "startedActivity");
+ }
+ resumeTopActivitiesLocked(targetStack, r, options);
+ } else {
+ targetStack.addRecentActivityLocked(r);
}
updateUserStackLocked(r.userId, targetStack);