summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Felipe Leme <felipeal@google.com> 2019-11-20 10:51:34 -0800
committer Felipe Leme <felipeal@google.com> 2019-11-23 01:47:32 +0000
commit79bd6addfbffcb6b88ec27bd00124d48f73c9180 (patch)
tree487a66acb41c6ba02da7a40e2fcf4fea3fcd963d
parent276b49f758a15f6b8a3d021e48411fd1031b85e3 (diff)
Improvements on 'dumpsys activity' for users:
- Added option to dump UserController state. - Moved UserController dump out of processes dump - Added missing info Test: adb shell dumpsys activity users Bug: 132111956 Bug: 145027829 Fixes: 144920143 Change-Id: I318700e29f5b896260a97a6f6248ba262f27e5a7
-rw-r--r--services/core/java/com/android/server/am/ActivityManagerService.java21
-rw-r--r--services/core/java/com/android/server/am/UserController.java6
2 files changed, 20 insertions, 7 deletions
diff --git a/services/core/java/com/android/server/am/ActivityManagerService.java b/services/core/java/com/android/server/am/ActivityManagerService.java
index 88d0e4b7344f..679a6aaeec1f 100644
--- a/services/core/java/com/android/server/am/ActivityManagerService.java
+++ b/services/core/java/com/android/server/am/ActivityManagerService.java
@@ -10079,6 +10079,11 @@ public class ActivityManagerService extends IActivityManager.Stub
pw.println("-------------------------------------------------------------------------------");
}
dumpProcessesLocked(fd, pw, args, opti, dumpAll, dumpPackage, dumpAppId);
+ pw.println();
+ if (dumpAll) {
+ pw.println("-------------------------------------------------------------------------------");
+ }
+ dumpUsersLocked(pw);
}
}
@@ -10367,6 +10372,10 @@ public class ActivityManagerService extends IActivityManager.Stub
}
} else if ("locks".equals(cmd)) {
LockGuard.dump(fd, pw, args);
+ } else if ("users".equals(cmd)) {
+ synchronized (this) {
+ dumpUsersLocked(pw);
+ }
} else {
// Dumping a single activity?
if (!mAtmInternal.dumpActivity(fd, pw, cmd, args, opti, dumpAll,
@@ -10841,12 +10850,6 @@ public class ActivityManagerService extends IActivityManager.Stub
needSep = mAppErrors.dumpLocked(fd, pw, needSep, dumpPackage);
- if (dumpPackage == null) {
- pw.println();
- needSep = false;
- mUserController.dump(pw, dumpAll);
- }
-
needSep = mAtmInternal.dumpForProcesses(fd, pw, dumpAll, dumpPackage, dumpAppId, needSep,
mTestPssMode, mWakefulness);
@@ -11056,6 +11059,12 @@ public class ActivityManagerService extends IActivityManager.Stub
}
@GuardedBy("this")
+ private void dumpUsersLocked(PrintWriter pw) {
+ pw.println("ACTIVITY MANAGER USERS (dumpsys activity users)");
+ mUserController.dump(pw);
+ }
+
+ @GuardedBy("this")
void writeProcessesToProtoLocked(ProtoOutputStream proto, String dumpPackage) {
int numPers = 0;
diff --git a/services/core/java/com/android/server/am/UserController.java b/services/core/java/com/android/server/am/UserController.java
index 31ceb38d1607..53ac4ec2aab7 100644
--- a/services/core/java/com/android/server/am/UserController.java
+++ b/services/core/java/com/android/server/am/UserController.java
@@ -2130,7 +2130,7 @@ class UserController implements Handler.Callback {
}
}
- void dump(PrintWriter pw, boolean dumpAll) {
+ void dump(PrintWriter pw) {
synchronized (mLock) {
pw.println(" mStartedUsers:");
for (int i = 0; i < mStartedUsers.size(); i++) {
@@ -2164,7 +2164,11 @@ class UserController implements Handler.Callback {
}
}
pw.println(" mCurrentUserId:" + mCurrentUserId);
+ pw.println(" mTargetUserId:" + mTargetUserId);
pw.println(" mLastActiveUsers:" + mLastActiveUsers);
+ pw.println(" mDelayUserDataLocking:" + mDelayUserDataLocking);
+ pw.println(" mMaxRunningUsers:" + mMaxRunningUsers);
+ pw.println(" mUserSwitchUiEnabled:" + mUserSwitchUiEnabled);
}
}