summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--cmds/dumpstate/dumpstate.c8
-rw-r--r--services/java/com/android/server/am/ActivityManagerService.java23
2 files changed, 16 insertions, 15 deletions
diff --git a/cmds/dumpstate/dumpstate.c b/cmds/dumpstate/dumpstate.c
index 35f0249..3c0dee4 100644
--- a/cmds/dumpstate/dumpstate.c
+++ b/cmds/dumpstate/dumpstate.c
@@ -174,6 +174,14 @@ static void dumpstate() {
to increase its timeout. we really need to do the timeouts in
dumpsys itself... */
run_command("DUMPSYS", 60, "dumpsys", NULL);
+
+ printf("========================================================\n");
+ printf("== Application Services\n");
+ printf("========================================================\n");
+
+ /* Instead of a 60s timeout, we should give each service a 5 second timeout */
+ run_command("APP SERVICES", 60, "dumpsys", "activity", "service", NULL);
+
}
static void usage() {
diff --git a/services/java/com/android/server/am/ActivityManagerService.java b/services/java/com/android/server/am/ActivityManagerService.java
index b0ace2f..54a7aa1 100644
--- a/services/java/com/android/server/am/ActivityManagerService.java
+++ b/services/java/com/android/server/am/ActivityManagerService.java
@@ -7284,7 +7284,7 @@ public final class ActivityManagerService extends ActivityManagerNative
}
return;
} else if ("service".equals(cmd)) {
- dumpService(fd, pw, args, opti, dumpAll);
+ dumpService(fd, pw, args, opti);
return;
} else if ("services".equals(cmd) || "s".equals(cmd)) {
synchronized (this) {
@@ -7643,8 +7643,7 @@ public final class ActivityManagerService extends ActivityManagerNative
* - the first arg isn't the flattened component name of an existing service:
* dump all services whose component contains the first arg as a substring
*/
- protected void dumpService(FileDescriptor fd, PrintWriter pw, String[] args,
- int opti, boolean dumpAll) {
+ protected void dumpService(FileDescriptor fd, PrintWriter pw, String[] args, int opti) {
String[] newArgs;
String componentNameString;
ServiceRecord r;
@@ -7664,7 +7663,7 @@ public final class ActivityManagerService extends ActivityManagerNative
}
if (r != null) {
- dumpService(fd, pw, r, newArgs, dumpAll);
+ dumpService(fd, pw, r, newArgs);
} else {
ArrayList<ServiceRecord> services = new ArrayList<ServiceRecord>();
synchronized (this) {
@@ -7676,7 +7675,7 @@ public final class ActivityManagerService extends ActivityManagerNative
}
}
for (int i=0; i<services.size(); i++) {
- dumpService(fd, pw, services.get(i), newArgs, dumpAll);
+ dumpService(fd, pw, services.get(i), newArgs);
}
}
}
@@ -7685,16 +7684,10 @@ public final class ActivityManagerService extends ActivityManagerNative
* Invokes IApplicationThread.dumpService() on the thread of the specified service if
* there is a thread associated with the service.
*/
- private void dumpService(FileDescriptor fd, PrintWriter pw, ServiceRecord r, String[] args,
- boolean dumpAll) {
- pw.println(" Service " + r.name.flattenToString());
- if (dumpAll) {
- synchronized (this) {
- pw.print(" * "); pw.println(r);
- r.dump(pw, " ");
- }
- pw.println("");
- }
+ private void dumpService(FileDescriptor fd, PrintWriter pw, ServiceRecord r, String[] args) {
+ pw.println("------------------------------------------------------------"
+ + "-------------------");
+ pw.println("APP SERVICE: " + r.name.flattenToString());
if (r.app != null && r.app.thread != null) {
try {
// flush anything that is already in the PrintWriter since the thread is going