Skip to content

Commit 2b23adb

Browse files
Amith YamasaniAndroid (Google) Code Review
authored andcommitted
Merge "Make dumpsys activity services work again."
2 parents b187d52 + 7463ada commit 2b23adb

File tree

1 file changed

+11
-14
lines changed

1 file changed

+11
-14
lines changed

services/java/com/android/server/am/ActivityManagerService.java

Lines changed: 11 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -8309,7 +8309,7 @@ protected void dump(FileDescriptor fd, PrintWriter pw, String[] args) {
83098309
+ android.Manifest.permission.DUMP);
83108310
return;
83118311
}
8312-
8312+
83138313
boolean dumpAll = false;
83148314
boolean dumpClient = false;
83158315
String dumpPackage = null;
@@ -8352,7 +8352,9 @@ protected void dump(FileDescriptor fd, PrintWriter pw, String[] args) {
83528352
pw.println("Unknown argument: " + opt + "; use -h for help");
83538353
}
83548354
}
8355-
8355+
8356+
long origId = Binder.clearCallingIdentity();
8357+
boolean more = false;
83568358
// Is the caller requesting to dump a particular piece of data?
83578359
if (opti < args.length) {
83588360
String cmd = args[opti];
@@ -8361,7 +8363,6 @@ protected void dump(FileDescriptor fd, PrintWriter pw, String[] args) {
83618363
synchronized (this) {
83628364
dumpActivitiesLocked(fd, pw, args, opti, true, dumpClient, null);
83638365
}
8364-
return;
83658366
} else if ("broadcasts".equals(cmd) || "b".equals(cmd)) {
83668367
String[] newArgs;
83678368
String name;
@@ -8378,7 +8379,6 @@ protected void dump(FileDescriptor fd, PrintWriter pw, String[] args) {
83788379
synchronized (this) {
83798380
dumpBroadcastsLocked(fd, pw, args, opti, true, name);
83808381
}
8381-
return;
83828382
} else if ("intents".equals(cmd) || "i".equals(cmd)) {
83838383
String[] newArgs;
83848384
String name;
@@ -8395,7 +8395,6 @@ protected void dump(FileDescriptor fd, PrintWriter pw, String[] args) {
83958395
synchronized (this) {
83968396
dumpPendingIntentsLocked(fd, pw, args, opti, true, name);
83978397
}
8398-
return;
83998398
} else if ("processes".equals(cmd) || "p".equals(cmd)) {
84008399
String[] newArgs;
84018400
String name;
@@ -8412,12 +8411,10 @@ protected void dump(FileDescriptor fd, PrintWriter pw, String[] args) {
84128411
synchronized (this) {
84138412
dumpProcessesLocked(fd, pw, args, opti, true, name);
84148413
}
8415-
return;
84168414
} else if ("oom".equals(cmd) || "o".equals(cmd)) {
84178415
synchronized (this) {
84188416
dumpOomLocked(fd, pw, args, opti, true);
84198417
}
8420-
return;
84218418
} else if ("provider".equals(cmd)) {
84228419
String[] newArgs;
84238420
String name;
@@ -8434,12 +8431,10 @@ protected void dump(FileDescriptor fd, PrintWriter pw, String[] args) {
84348431
pw.println("No providers match: " + name);
84358432
pw.println("Use -h for help.");
84368433
}
8437-
return;
84388434
} else if ("providers".equals(cmd) || "prov".equals(cmd)) {
84398435
synchronized (this) {
84408436
dumpProvidersLocked(fd, pw, args, opti, true, null);
84418437
}
8442-
return;
84438438
} else if ("service".equals(cmd)) {
84448439
String[] newArgs;
84458440
String name;
@@ -8457,13 +8452,11 @@ protected void dump(FileDescriptor fd, PrintWriter pw, String[] args) {
84578452
pw.println("No services match: " + name);
84588453
pw.println("Use -h for help.");
84598454
}
8460-
return;
84618455
} else if ("package".equals(cmd)) {
84628456
String[] newArgs;
84638457
if (opti >= args.length) {
84648458
pw.println("package: no package name specified");
84658459
pw.println("Use -h for help.");
8466-
return;
84678460
} else {
84688461
dumpPackage = args[opti];
84698462
opti++;
@@ -8472,22 +8465,25 @@ protected void dump(FileDescriptor fd, PrintWriter pw, String[] args) {
84728465
args.length - opti);
84738466
args = newArgs;
84748467
opti = 0;
8468+
more = true;
84758469
}
84768470
} else if ("services".equals(cmd) || "s".equals(cmd)) {
84778471
synchronized (this) {
84788472
dumpServicesLocked(fd, pw, args, opti, true, dumpClient, null);
84798473
}
8480-
return;
84818474
} else {
84828475
// Dumping a single activity?
84838476
if (!dumpActivity(fd, pw, cmd, args, opti, dumpAll)) {
84848477
pw.println("Bad activity command, or no activities match: " + cmd);
84858478
pw.println("Use -h for help.");
84868479
}
8480+
}
8481+
if (!more) {
8482+
Binder.restoreCallingIdentity(origId);
84878483
return;
84888484
}
84898485
}
8490-
8486+
84918487
// No piece of data specified, dump everything.
84928488
synchronized (this) {
84938489
boolean needSep;
@@ -8528,8 +8524,9 @@ protected void dump(FileDescriptor fd, PrintWriter pw, String[] args) {
85288524
}
85298525
dumpProcessesLocked(fd, pw, args, opti, dumpAll, dumpPackage);
85308526
}
8527+
Binder.restoreCallingIdentity(origId);
85318528
}
8532-
8529+
85338530
boolean dumpActivitiesLocked(FileDescriptor fd, PrintWriter pw, String[] args,
85348531
int opti, boolean dumpAll, boolean dumpClient, String dumpPackage) {
85358532
pw.println("ACTIVITY MANAGER ACTIVITIES (dumpsys activity activities)");

0 commit comments

Comments
 (0)