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/Section.cpp b/cmds/incidentd/src/Section.cpp
index 78876a3..bdfcd98 100644
--- a/cmds/incidentd/src/Section.cpp
+++ b/cmds/incidentd/src/Section.cpp
@@ -151,8 +151,11 @@
 }
 
 // ================================================================================
-Section::Section(int i, int64_t timeoutMs, bool deviceSpecific)
-    : id(i), timeoutMs(timeoutMs), deviceSpecific(deviceSpecific) {}
+Section::Section(int i, int64_t timeoutMs, bool userdebugAndEngOnly, bool deviceSpecific)
+    : id(i),
+      timeoutMs(timeoutMs),
+      userdebugAndEngOnly(userdebugAndEngOnly),
+      deviceSpecific(deviceSpecific) {}
 
 Section::~Section() {}
 
@@ -239,7 +242,7 @@
 
 FileSection::FileSection(int id, const char* filename, const bool deviceSpecific,
                          const int64_t timeoutMs)
-    : Section(id, timeoutMs, deviceSpecific), mFilename(filename) {
+    : Section(id, timeoutMs, false, deviceSpecific), mFilename(filename) {
     name = "file ";
     name += filename;
     mIsSysfs = isSysfs(filename);
@@ -399,8 +402,8 @@
 WorkerThreadData::~WorkerThreadData() {}
 
 // ================================================================================
-WorkerThreadSection::WorkerThreadSection(int id, const int64_t timeoutMs)
-    : Section(id, timeoutMs) {}
+WorkerThreadSection::WorkerThreadSection(int id, const int64_t timeoutMs, bool userdebugAndEngOnly)
+    : Section(id, timeoutMs, userdebugAndEngOnly) {}
 
 WorkerThreadSection::~WorkerThreadSection() {}
 
@@ -575,8 +578,8 @@
 }
 
 // ================================================================================
-DumpsysSection::DumpsysSection(int id, const char* service, ...)
-    : WorkerThreadSection(id), mService(service) {
+DumpsysSection::DumpsysSection(int id, bool userdebugAndEngOnly, const char* service, ...)
+    : WorkerThreadSection(id, REMOTE_CALL_TIMEOUT_MS, userdebugAndEngOnly), mService(service) {
     name = "dumpsys ";
     name += service;