Merge change 3936 into donut
* changes: add exception message to ApplicationErrorReport
This commit is contained in:
@@ -150,6 +150,11 @@ public class ApplicationErrorReport implements Parcelable {
|
|||||||
*/
|
*/
|
||||||
public String exceptionClassName;
|
public String exceptionClassName;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Message stored in the exception.
|
||||||
|
*/
|
||||||
|
public String exceptionMessage;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* File which the exception was thrown from.
|
* File which the exception was thrown from.
|
||||||
*/
|
*/
|
||||||
@@ -181,6 +186,7 @@ public class ApplicationErrorReport implements Parcelable {
|
|||||||
*/
|
*/
|
||||||
public CrashInfo(Parcel in) {
|
public CrashInfo(Parcel in) {
|
||||||
exceptionClassName = in.readString();
|
exceptionClassName = in.readString();
|
||||||
|
exceptionMessage = in.readString();
|
||||||
throwFileName = in.readString();
|
throwFileName = in.readString();
|
||||||
throwClassName = in.readString();
|
throwClassName = in.readString();
|
||||||
throwMethodName = in.readString();
|
throwMethodName = in.readString();
|
||||||
@@ -192,6 +198,7 @@ public class ApplicationErrorReport implements Parcelable {
|
|||||||
*/
|
*/
|
||||||
public void writeToParcel(Parcel dest, int flags) {
|
public void writeToParcel(Parcel dest, int flags) {
|
||||||
dest.writeString(exceptionClassName);
|
dest.writeString(exceptionClassName);
|
||||||
|
dest.writeString(exceptionMessage);
|
||||||
dest.writeString(throwFileName);
|
dest.writeString(throwFileName);
|
||||||
dest.writeString(throwClassName);
|
dest.writeString(throwClassName);
|
||||||
dest.writeString(throwMethodName);
|
dest.writeString(throwMethodName);
|
||||||
@@ -203,6 +210,7 @@ public class ApplicationErrorReport implements Parcelable {
|
|||||||
*/
|
*/
|
||||||
public void dump(Printer pw, String prefix) {
|
public void dump(Printer pw, String prefix) {
|
||||||
pw.println(prefix + "exceptionClassName: " + exceptionClassName);
|
pw.println(prefix + "exceptionClassName: " + exceptionClassName);
|
||||||
|
pw.println(prefix + "exceptionMessage: " + exceptionMessage);
|
||||||
pw.println(prefix + "throwFileName: " + throwFileName);
|
pw.println(prefix + "throwFileName: " + throwFileName);
|
||||||
pw.println(prefix + "throwClassName: " + throwClassName);
|
pw.println(prefix + "throwClassName: " + throwClassName);
|
||||||
pw.println(prefix + "throwMethodName: " + throwMethodName);
|
pw.println(prefix + "throwMethodName: " + throwMethodName);
|
||||||
|
|||||||
@@ -8218,12 +8218,19 @@ public final class ActivityManagerService extends ActivityManagerNative implemen
|
|||||||
report.time = crashData.getTime();
|
report.time = crashData.getTime();
|
||||||
report.crashInfo.stackTrace = throwData.toString();
|
report.crashInfo.stackTrace = throwData.toString();
|
||||||
|
|
||||||
// extract the source of the exception, useful for report
|
// Extract the source of the exception, useful for report
|
||||||
// clustering
|
// clustering. Also extract the "deepest" non-null exception
|
||||||
|
// message.
|
||||||
|
String exceptionMessage = throwData.getMessage();
|
||||||
while (throwData.getCause() != null) {
|
while (throwData.getCause() != null) {
|
||||||
throwData = throwData.getCause();
|
throwData = throwData.getCause();
|
||||||
|
String msg = throwData.getMessage();
|
||||||
|
if (msg != null && msg.length() > 0) {
|
||||||
|
exceptionMessage = msg;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
StackTraceElementData trace = throwData.getStackTrace()[0];
|
StackTraceElementData trace = throwData.getStackTrace()[0];
|
||||||
|
report.crashInfo.exceptionMessage = exceptionMessage;
|
||||||
report.crashInfo.exceptionClassName = throwData.getType();
|
report.crashInfo.exceptionClassName = throwData.getType();
|
||||||
report.crashInfo.throwFileName = trace.getFileName();
|
report.crashInfo.throwFileName = trace.getFileName();
|
||||||
report.crashInfo.throwClassName = trace.getClassName();
|
report.crashInfo.throwClassName = trace.getClassName();
|
||||||
|
|||||||
Reference in New Issue
Block a user