Commit 0d52ee1f authored by Tobias Sargeant's avatar Tobias Sargeant Committed by Commit Bot

Add board build info to android crash reports.

Board data is useful for grouping crashes that are specific to particular
hardware. It is available in manual crash reports, but is not currently
included in silent feedback reports.

Bug: 812226
Change-Id: I2d9a7290ec66c6abe1a3a69885150cd03c3c4d2e
Reviewed-on: https://chromium-review.googlesource.com/919083
Commit-Queue: Tobias Sargeant <tobiasjs@chromium.org>
Reviewed-by: default avatarRobert Sesek <rsesek@chromium.org>
Reviewed-by: default avatarYaron Friedman <yfriedman@chromium.org>
Reviewed-by: default avatarTed Choc <tedchoc@chromium.org>
Reviewed-by: default avatarRichard Coles <torne@chromium.org>
Cr-Commit-Position: refs/heads/master@{#541554}
parent 224e17f1
...@@ -61,18 +61,19 @@ BuildInfo::BuildInfo(const std::vector<std::string>& params) ...@@ -61,18 +61,19 @@ BuildInfo::BuildInfo(const std::vector<std::string>& params)
model_(StrDupParam(params, 4)), model_(StrDupParam(params, 4)),
sdk_int_(SdkIntParam(params, 5)), sdk_int_(SdkIntParam(params, 5)),
build_type_(StrDupParam(params, 6)), build_type_(StrDupParam(params, 6)),
host_package_name_(StrDupParam(params, 7)), board_(StrDupParam(params, 7)),
host_version_code_(StrDupParam(params, 8)), host_package_name_(StrDupParam(params, 8)),
host_package_label_(StrDupParam(params, 9)), host_version_code_(StrDupParam(params, 9)),
package_name_(StrDupParam(params, 10)), host_package_label_(StrDupParam(params, 10)),
package_version_code_(StrDupParam(params, 11)), package_name_(StrDupParam(params, 11)),
package_version_name_(StrDupParam(params, 12)), package_version_code_(StrDupParam(params, 12)),
android_build_fp_(StrDupParam(params, 13)), package_version_name_(StrDupParam(params, 13)),
gms_version_code_(StrDupParam(params, 14)), android_build_fp_(StrDupParam(params, 14)),
installer_package_name_(StrDupParam(params, 15)), gms_version_code_(StrDupParam(params, 15)),
abi_name_(StrDupParam(params, 16)), installer_package_name_(StrDupParam(params, 16)),
firebase_app_id_(StrDupParam(params, 17)), abi_name_(StrDupParam(params, 17)),
extracted_file_suffix_(params[18]), firebase_app_id_(StrDupParam(params, 18)),
extracted_file_suffix_(params[19]),
java_exception_info_(NULL) {} java_exception_info_(NULL) {}
// static // static
......
...@@ -107,6 +107,8 @@ class BASE_EXPORT BuildInfo { ...@@ -107,6 +107,8 @@ class BASE_EXPORT BuildInfo {
return build_type_; return build_type_;
} }
const char* board() const { return board_; }
const char* installer_package_name() const { return installer_package_name_; } const char* installer_package_name() const { return installer_package_name_; }
const char* abi_name() const { return abi_name_; } const char* abi_name() const { return abi_name_; }
...@@ -141,6 +143,7 @@ class BASE_EXPORT BuildInfo { ...@@ -141,6 +143,7 @@ class BASE_EXPORT BuildInfo {
const char* const model_; const char* const model_;
const int sdk_int_; const int sdk_int_;
const char* const build_type_; const char* const build_type_;
const char* const board_;
const char* const host_package_name_; const char* const host_package_name_;
const char* const host_version_code_; const char* const host_version_code_;
const char* const host_package_label_; const char* const host_package_label_;
......
...@@ -54,7 +54,7 @@ public class BuildInfo { ...@@ -54,7 +54,7 @@ public class BuildInfo {
String hostPackageName = ContextUtils.getApplicationContext().getPackageName(); String hostPackageName = ContextUtils.getApplicationContext().getPackageName();
return new String[] { return new String[] {
Build.BRAND, Build.DEVICE, Build.ID, Build.MANUFACTURER, Build.MODEL, Build.BRAND, Build.DEVICE, Build.ID, Build.MANUFACTURER, Build.MODEL,
String.valueOf(Build.VERSION.SDK_INT), Build.TYPE, hostPackageName, String.valueOf(Build.VERSION.SDK_INT), Build.TYPE, Build.BOARD, hostPackageName,
String.valueOf(buildInfo.hostVersionCode), buildInfo.hostPackageLabel, String.valueOf(buildInfo.hostVersionCode), buildInfo.hostPackageLabel,
buildInfo.packageName, String.valueOf(buildInfo.versionCode), buildInfo.versionName, buildInfo.packageName, String.valueOf(buildInfo.versionCode), buildInfo.versionName,
buildInfo.androidBuildFingerprint, buildInfo.gmsVersionCode, buildInfo.androidBuildFingerprint, buildInfo.gmsVersionCode,
......
...@@ -45,6 +45,7 @@ public class PureJavaExceptionReporter { ...@@ -45,6 +45,7 @@ public class PureJavaExceptionReporter {
public static final String PACKAGE = "package"; public static final String PACKAGE = "package";
public static final String MODEL = "model"; public static final String MODEL = "model";
public static final String BRAND = "brand"; public static final String BRAND = "brand";
public static final String BOARD = "board";
public static final String EXCEPTION_INFO = "exception_info"; public static final String EXCEPTION_INFO = "exception_info";
public static final String PROCESS_TYPE = "ptype"; public static final String PROCESS_TYPE = "ptype";
public static final String EARLY_JAVA_EXCEPTION = "early_java_exception"; public static final String EARLY_JAVA_EXCEPTION = "early_java_exception";
...@@ -126,6 +127,7 @@ public class PureJavaExceptionReporter { ...@@ -126,6 +127,7 @@ public class PureJavaExceptionReporter {
addPairedString(ANDROID_BUILD_ID, Build.ID); addPairedString(ANDROID_BUILD_ID, Build.ID);
addPairedString(MODEL, Build.MODEL); addPairedString(MODEL, Build.MODEL);
addPairedString(BRAND, Build.BRAND); addPairedString(BRAND, Build.BRAND);
addPairedString(BOARD, Build.BOARD);
addPairedString(ANDROID_BUILD_FP, buildInfo.androidBuildFingerprint); addPairedString(ANDROID_BUILD_FP, buildInfo.androidBuildFingerprint);
addPairedString(GMS_CORE_VERSION, buildInfo.gmsVersionCode); addPairedString(GMS_CORE_VERSION, buildInfo.gmsVersionCode);
addPairedString(INSTALLER_PACKAGE_NAME, buildInfo.installerPackageName); addPairedString(INSTALLER_PACKAGE_NAME, buildInfo.installerPackageName);
......
...@@ -55,8 +55,9 @@ public class PureJavaExceptionReporterTest { ...@@ -55,8 +55,9 @@ public class PureJavaExceptionReporterTest {
PureJavaExceptionReporter.DEVICE, PureJavaExceptionReporter.GMS_CORE_VERSION, PureJavaExceptionReporter.DEVICE, PureJavaExceptionReporter.GMS_CORE_VERSION,
PureJavaExceptionReporter.INSTALLER_PACKAGE_NAME, PureJavaExceptionReporter.ABI_NAME, PureJavaExceptionReporter.INSTALLER_PACKAGE_NAME, PureJavaExceptionReporter.ABI_NAME,
PureJavaExceptionReporter.PACKAGE, PureJavaExceptionReporter.MODEL, PureJavaExceptionReporter.PACKAGE, PureJavaExceptionReporter.MODEL,
PureJavaExceptionReporter.BRAND, PureJavaExceptionReporter.EXCEPTION_INFO, PureJavaExceptionReporter.BRAND, PureJavaExceptionReporter.BOARD,
PureJavaExceptionReporter.PROCESS_TYPE, PureJavaExceptionReporter.EARLY_JAVA_EXCEPTION}; PureJavaExceptionReporter.EXCEPTION_INFO, PureJavaExceptionReporter.PROCESS_TYPE,
PureJavaExceptionReporter.EARLY_JAVA_EXCEPTION};
private String readFileToString(File file) { private String readFileToString(File file) {
StringBuilder sb = new StringBuilder(); StringBuilder sb = new StringBuilder();
......
...@@ -1710,6 +1710,7 @@ void HandleCrashDump(const BreakpadInfo& info) { ...@@ -1710,6 +1710,7 @@ void HandleCrashDump(const BreakpadInfo& info) {
static const char abi_name[] = "abi_name"; static const char abi_name[] = "abi_name";
static const char model[] = "model"; static const char model[] = "model";
static const char brand[] = "brand"; static const char brand[] = "brand";
static const char board[] = "board";
static const char exception_info[] = "exception_info"; static const char exception_info[] = "exception_info";
base::android::BuildInfo* android_build_info = base::android::BuildInfo* android_build_info =
...@@ -1726,6 +1727,8 @@ void HandleCrashDump(const BreakpadInfo& info) { ...@@ -1726,6 +1727,8 @@ void HandleCrashDump(const BreakpadInfo& info) {
writer.AddBoundary(); writer.AddBoundary();
writer.AddPairString(brand, android_build_info->brand()); writer.AddPairString(brand, android_build_info->brand());
writer.AddBoundary(); writer.AddBoundary();
writer.AddPairString(board, android_build_info->board());
writer.AddBoundary();
writer.AddPairString(gms_core_version, writer.AddPairString(gms_core_version,
android_build_info->gms_version_code()); android_build_info->gms_version_code());
writer.AddBoundary(); writer.AddBoundary();
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment