Adding batterystats history to proto dump.
It will only print out a dump for userdebug or eng builds.
This is the same change as the pi-dev one (http://ag/3909863), but due
to changes in master, that change has a merge conflict, so I have to
create a separate CL for master.
Bug: 77727638
Test: it builds
Change-Id: Ib74d4c664f23a61e6fc33f700ba6a3c6fad32c74
diff --git a/cmds/incidentd/src/Reporter.cpp b/cmds/incidentd/src/Reporter.cpp
index 297a071..b3bab0c 100644
--- a/cmds/incidentd/src/Reporter.cpp
+++ b/cmds/incidentd/src/Reporter.cpp
@@ -22,6 +22,7 @@
#include "report_directory.h"
#include "section_list.h"
+#include <android-base/properties.h>
#include <android/os/DropBoxManager.h>
#include <private/android_filesystem_config.h>
#include <utils/SystemClock.h>
@@ -31,6 +32,7 @@
#include <fcntl.h>
#include <sys/stat.h>
#include <sys/types.h>
+#include <string>
/**
* The directory where the incident reports are stored.
@@ -129,6 +131,8 @@
int mainDest = -1;
HeaderSection headers;
MetadataSection metadataSection;
+ std::string buildType = android::base::GetProperty("ro.build.type", "");
+ const bool isUserdebugOrEng = buildType == "userdebug" || buildType == "eng";
// See if we need the main file
for (ReportRequestSet::iterator it = batch.begin(); it != batch.end(); it++) {
@@ -175,6 +179,11 @@
// and report to those that care that we're doing it.
for (const Section** section = SECTION_LIST; *section; section++) {
const int id = (*section)->id;
+ if ((*section)->userdebugAndEngOnly && !isUserdebugOrEng) {
+ ALOGD("Skipping incident report section %d '%s' because it's limited to userdebug/eng",
+ id, (*section)->name.string());
+ continue;
+ }
if (this->batch.containsSection(id)) {
ALOGD("Taking incident report section %d '%s'", id, (*section)->name.string());
for (ReportRequestSet::iterator it = batch.begin(); it != batch.end(); it++) {