diff options
| -rw-r--r-- | cmds/dumpstate/dumpstate.c | 2 | ||||
| -rw-r--r-- | cmds/dumpstate/utils.c | 12 | ||||
| -rw-r--r-- | services/java/com/android/server/BootReceiver.java | 18 | ||||
| -rw-r--r-- | services/java/com/android/server/am/ActivityManagerService.java | 22 |
4 files changed, 36 insertions, 18 deletions
diff --git a/cmds/dumpstate/dumpstate.c b/cmds/dumpstate/dumpstate.c index 9300915fa458..78f90a1172fb 100644 --- a/cmds/dumpstate/dumpstate.c +++ b/cmds/dumpstate/dumpstate.c @@ -129,7 +129,7 @@ static void dumpstate() { dump_file("LAST PANIC CONSOLE", "/data/dontpanic/apanic_console"); dump_file("LAST PANIC THREADS", "/data/dontpanic/apanic_threads"); - printf("----- BACKLIGHTS -----\n"); + printf("------ BACKLIGHTS ------\n"); printf("LCD brightness="); dump_file(NULL, "/sys/class/leds/lcd-backlight/brightness"); printf("Button brightness="); diff --git a/cmds/dumpstate/utils.c b/cmds/dumpstate/utils.c index fda618cc4c52..39e14e4be5f4 100644 --- a/cmds/dumpstate/utils.c +++ b/cmds/dumpstate/utils.c @@ -43,13 +43,13 @@ int dump_file(const char *title, const char* path) { int fd = open(path, O_RDONLY); if (fd < 0) { int err = errno; - if (title) printf("----- %s (%s) -----\n", title, path); + if (title) printf("------ %s (%s) ------\n", title, path); printf("*** %s: %s\n", path, strerror(err)); if (title) printf("\n"); return -1; } - if (title) printf("----- %s (%s", title, path); + if (title) printf("------ %s (%s", title, path); if (title) { struct stat st; @@ -59,7 +59,7 @@ int dump_file(const char *title, const char* path) { strftime(stamp, sizeof(stamp), "%Y-%m-%d %H:%M:%S", localtime(&mtime)); printf(": %s", stamp); } - printf(") -----\n"); + printf(") ------\n"); } int newline = 0; @@ -97,13 +97,13 @@ int run_command(const char *title, int timeout_seconds, const char *command, ... va_list ap; va_start(ap, command); - if (title) printf("----- %s (%s", title, command); + if (title) printf("------ %s (%s", title, command); for (arg = 1; arg < sizeof(args) / sizeof(args[0]); ++arg) { args[arg] = va_arg(ap, const char *); if (args[arg] == NULL) break; if (title) printf(" %s", args[arg]); } - if (title) printf(") -----\n"); + if (title) printf(") ------\n"); fflush(stdout); execvp(command, (char**) args); @@ -159,7 +159,7 @@ void print_properties() { property_list(print_prop, NULL); qsort(&props, num_props, sizeof(props[0]), compare_prop); - printf("----- SYSTEM PROPERTIES -----\n"); + printf("------ SYSTEM PROPERTIES ------\n"); for (i = 0; i < num_props; ++i) { fputs(props[i], stdout); free(props[i]); diff --git a/services/java/com/android/server/BootReceiver.java b/services/java/com/android/server/BootReceiver.java index debbbb4ac109..fbb4411838f6 100644 --- a/services/java/com/android/server/BootReceiver.java +++ b/services/java/com/android/server/BootReceiver.java @@ -89,14 +89,14 @@ public class BootReceiver extends BroadcastReceiver { } ContentResolver cr = context.getContentResolver(); - logBootFile(cr, db, "/cache/recovery/log", "SYSTEM_RECOVERY_LOG"); - logBootFile(cr, db, "/proc/last_kmsg", "SYSTEM_LAST_KMSG"); - logBootFile(cr, db, "/data/dontpanic/apanic_console", "APANIC_CONSOLE"); - logBootFile(cr, db, "/data/dontpanic/apanic_threads", "APANIC_THREADS"); + logBootFile(cr, db, props, "/cache/recovery/log", "SYSTEM_RECOVERY_LOG"); + logBootFile(cr, db, props, "/proc/last_kmsg", "SYSTEM_LAST_KMSG"); + logBootFile(cr, db, props, "/data/dontpanic/apanic_console", "APANIC_CONSOLE"); + logBootFile(cr, db, props, "/data/dontpanic/apanic_threads", "APANIC_THREADS"); } - private void logBootFile(ContentResolver cr, DropBoxManager db, String filename, String tag) - throws IOException { + private void logBootFile(ContentResolver cr, DropBoxManager db, + CharSequence headers, String filename, String tag) throws IOException { if (cr == null || db == null || !db.isTagEnabled(tag)) return; // Logging disabled File file = new File(filename); @@ -108,10 +108,8 @@ public class BootReceiver extends BroadcastReceiver { if (lastTime == fileTime) return; // Already logged this particular file Settings.Secure.putLong(cr, setting, fileTime); - StringBuilder report = new StringBuilder(); - report.append("Build: ").append(Build.FINGERPRINT).append("\n"); - report.append("Kernel: "); - report.append(FileUtils.readTextFile(new File("/proc/version"), 1024, "...\n")); + StringBuilder report = new StringBuilder(headers); + report.append("\n"); report.append(FileUtils.readTextFile(new File(filename), LOG_SIZE, "[[TRUNCATED]]\n")); db.addText(tag, report.toString()); } diff --git a/services/java/com/android/server/am/ActivityManagerService.java b/services/java/com/android/server/am/ActivityManagerService.java index 44b662451bc9..c2c6e76e7d99 100644 --- a/services/java/com/android/server/am/ActivityManagerService.java +++ b/services/java/com/android/server/am/ActivityManagerService.java @@ -61,6 +61,7 @@ import android.content.pm.ConfigurationInfo; import android.content.pm.IPackageDataObserver; import android.content.pm.IPackageManager; import android.content.pm.InstrumentationInfo; +import android.content.pm.PackageInfo; import android.content.pm.PackageManager; import android.content.pm.PathPermission; import android.content.pm.ProviderInfo; @@ -8845,7 +8846,26 @@ public final class ActivityManagerService extends ActivityManagerNative implemen sb.append("Process: system_server\n"); } else { sb.append("Process: ").append(process.processName).append("\n"); - sb.append("Flags: 0x").append(Integer.toString(process.info.flags, 16)).append("\n"); + } + if (process != null) { + int flags = process.info.flags; + IPackageManager pm = ActivityThread.getPackageManager(); + sb.append("Flags: 0x").append(Integer.toString(flags, 16)).append("\n"); + for (String pkg : process.pkgList) { + sb.append("Package: ").append(pkg); + try { + PackageInfo pi = pm.getPackageInfo(pkg, 0); + if (pi != null) { + sb.append(" v").append(pi.versionCode); + if (pi.versionName != null) { + sb.append(" (").append(pi.versionName).append(")"); + } + } + } catch (RemoteException e) { + Log.e(TAG, "Error getting package info: " + pkg, e); + } + sb.append("\n"); + } } if (activity != null) { sb.append("Activity: ").append(activity.shortComponentName).append("\n"); |