Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 5553f152 authored by Android (Google) Code Review's avatar Android (Google) Code Review
Browse files

Merge change 3936 into donut

* changes:
  add exception message to ApplicationErrorReport
parents 826a54dd f829a78f
Loading
Loading
Loading
Loading
+8 −0
Original line number Diff line number Diff line
@@ -150,6 +150,11 @@ public class ApplicationErrorReport implements Parcelable {
         */
        public String exceptionClassName;

        /**
         * Message stored in the exception.
         */
        public String exceptionMessage;

        /**
         * File which the exception was thrown from.
         */
@@ -181,6 +186,7 @@ public class ApplicationErrorReport implements Parcelable {
         */
        public CrashInfo(Parcel in) {
            exceptionClassName = in.readString();
            exceptionMessage = in.readString();
            throwFileName = in.readString();
            throwClassName = in.readString();
            throwMethodName = in.readString();
@@ -192,6 +198,7 @@ public class ApplicationErrorReport implements Parcelable {
         */
        public void writeToParcel(Parcel dest, int flags) {
            dest.writeString(exceptionClassName);
            dest.writeString(exceptionMessage);
            dest.writeString(throwFileName);
            dest.writeString(throwClassName);
            dest.writeString(throwMethodName);
@@ -203,6 +210,7 @@ public class ApplicationErrorReport implements Parcelable {
         */
        public void dump(Printer pw, String prefix) {
            pw.println(prefix + "exceptionClassName: " + exceptionClassName);
            pw.println(prefix + "exceptionMessage: " + exceptionMessage);
            pw.println(prefix + "throwFileName: " + throwFileName);
            pw.println(prefix + "throwClassName: " + throwClassName);
            pw.println(prefix + "throwMethodName: " + throwMethodName);
+9 −2
Original line number Diff line number Diff line
@@ -8218,12 +8218,19 @@ public final class ActivityManagerService extends ActivityManagerNative implemen
                report.time = crashData.getTime();
                report.crashInfo.stackTrace = throwData.toString();

                // extract the source of the exception, useful for report
                // clustering
                // Extract the source of the exception, useful for report
                // clustering. Also extract the "deepest" non-null exception
                // message.
                String exceptionMessage = throwData.getMessage();
                while (throwData.getCause() != null) {
                    throwData = throwData.getCause();
                    String msg = throwData.getMessage();
                    if (msg != null && msg.length() > 0) {
                       exceptionMessage = msg;
                    }
                }
                StackTraceElementData trace = throwData.getStackTrace()[0];
                report.crashInfo.exceptionMessage = exceptionMessage;
                report.crashInfo.exceptionClassName = throwData.getType();
                report.crashInfo.throwFileName = trace.getFileName();
                report.crashInfo.throwClassName = trace.getClassName();