summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--services/core/java/com/android/server/am/AppErrors.java12
1 files changed, 9 insertions, 3 deletions
diff --git a/services/core/java/com/android/server/am/AppErrors.java b/services/core/java/com/android/server/am/AppErrors.java
index ed492bc7344c..08c1de61d7fb 100644
--- a/services/core/java/com/android/server/am/AppErrors.java
+++ b/services/core/java/com/android/server/am/AppErrors.java
@@ -836,12 +836,18 @@ class AppErrors {
report.type = ApplicationErrorReport.TYPE_CRASH;
report.crashInfo = crashInfo;
} else if (errState.isNotResponding()) {
+ final ActivityManager.ProcessErrorStateInfo anrReport =
+ errState.getNotRespondingReport();
+ if (anrReport == null) {
+ // The ANR dump is still ongoing, ignore it for now.
+ return null;
+ }
report.type = ApplicationErrorReport.TYPE_ANR;
report.anrInfo = new ApplicationErrorReport.AnrInfo();
- report.anrInfo.activity = errState.getNotRespondingReport().tag;
- report.anrInfo.cause = errState.getNotRespondingReport().shortMsg;
- report.anrInfo.info = errState.getNotRespondingReport().longMsg;
+ report.anrInfo.activity = anrReport.tag;
+ report.anrInfo.cause = anrReport.shortMsg;
+ report.anrInfo.info = anrReport.longMsg;
}
return report;