diff --git a/bootstat/boot_reason_test.sh b/bootstat/boot_reason_test.sh index d78980878..52411d8da 100755 --- a/bootstat/boot_reason_test.sh +++ b/bootstat/boot_reason_test.sh @@ -162,7 +162,7 @@ bootstat: Canonical boot reason: ${i}" fi done adb logcat -b all -d | - grep bootstat | + grep bootstat[^e] | grep -v -F "bootstat: Service started: /system/bin/bootstat --record_boot_complete${match} bootstat: Failed to read /data/misc/bootstat/post_decrypt_time_elapsed: No such file or directory bootstat: Failed to parse boot time record: /data/misc/bootstat/post_decrypt_time_elapsed diff --git a/bootstat/bootstat.cpp b/bootstat/bootstat.cpp index 3b8b707ab..e7f9c1110 100644 --- a/bootstat/bootstat.cpp +++ b/bootstat/bootstat.cpp @@ -494,7 +494,8 @@ std::string BootReasonStrToReason(const std::string& boot_reason) { // String is either "reboot," or "shutdown,". // We will set if default reasons, only override with detail if thermal. - if (!isBluntRebootReason(content)) { + if ((android::base::StartsWith(content, ret.c_str()) && (content[ret.length()] == ',')) || + !isBluntRebootReason(content)) { // Ok, we want it, let's squash it if secondReason is known. pos = content.find(','); if (pos != std::string::npos) {