diff options
-rw-r--r-- | cmds/incidentd/src/Section.cpp | 14 | ||||
-rw-r--r-- | cmds/incidentd/src/Section.h | 6 | ||||
-rw-r--r-- | cmds/incidentd/tests/Section_test.cpp | 8 | ||||
-rw-r--r-- | core/proto/android/os/incident.proto | 2 | ||||
-rw-r--r-- | libs/incident/proto/android/section.proto | 3 | ||||
-rw-r--r-- | tools/incident_section_gen/main.cpp | 3 |
6 files changed, 15 insertions, 21 deletions
diff --git a/cmds/incidentd/src/Section.cpp b/cmds/incidentd/src/Section.cpp index bdfcd98abd47..87799b38906c 100644 --- a/cmds/incidentd/src/Section.cpp +++ b/cmds/incidentd/src/Section.cpp @@ -151,11 +151,10 @@ DONE: } // ================================================================================ -Section::Section(int i, int64_t timeoutMs, bool userdebugAndEngOnly, bool deviceSpecific) +Section::Section(int i, int64_t timeoutMs, bool userdebugAndEngOnly) : id(i), timeoutMs(timeoutMs), - userdebugAndEngOnly(userdebugAndEngOnly), - deviceSpecific(deviceSpecific) {} + userdebugAndEngOnly(userdebugAndEngOnly) {} Section::~Section() {} @@ -240,9 +239,8 @@ status_t MetadataSection::Execute(ReportRequestSet* requests) const { // ================================================================================ static inline bool isSysfs(const char* filename) { return strncmp(filename, "/sys/", 5) == 0; } -FileSection::FileSection(int id, const char* filename, const bool deviceSpecific, - const int64_t timeoutMs) - : Section(id, timeoutMs, false, deviceSpecific), mFilename(filename) { +FileSection::FileSection(int id, const char* filename, const int64_t timeoutMs) + : Section(id, timeoutMs, false), mFilename(filename) { name = "file "; name += filename; mIsSysfs = isSysfs(filename); @@ -256,7 +254,9 @@ status_t FileSection::Execute(ReportRequestSet* requests) const { unique_fd fd(open(mFilename, O_RDONLY | O_CLOEXEC)); if (fd.get() == -1) { ALOGW("[%s] failed to open file", this->name.string()); - return this->deviceSpecific ? NO_ERROR : -errno; + // There may be some devices/architectures that won't have the file. + // Just return here without an error. + return NO_ERROR; } FdBuffer buffer; diff --git a/cmds/incidentd/src/Section.h b/cmds/incidentd/src/Section.h index a031a15fe7c9..302b4ef7ae34 100644 --- a/cmds/incidentd/src/Section.h +++ b/cmds/incidentd/src/Section.h @@ -41,11 +41,9 @@ public: const int id; const int64_t timeoutMs; // each section must have a timeout const bool userdebugAndEngOnly; - const bool deviceSpecific; String8 name; - Section(int id, int64_t timeoutMs = REMOTE_CALL_TIMEOUT_MS, bool userdebugAndEngOnly = false, - bool deviceSpecific = false); + Section(int id, int64_t timeoutMs = REMOTE_CALL_TIMEOUT_MS, bool userdebugAndEngOnly = false); virtual ~Section(); virtual status_t Execute(ReportRequestSet* requests) const = 0; @@ -78,7 +76,7 @@ public: */ class FileSection : public Section { public: - FileSection(int id, const char* filename, bool deviceSpecific = false, + FileSection(int id, const char* filename, int64_t timeoutMs = 5000 /* 5 seconds */); virtual ~FileSection(); diff --git a/cmds/incidentd/tests/Section_test.cpp b/cmds/incidentd/tests/Section_test.cpp index 3c338b3a36c8..9b684a060286 100644 --- a/cmds/incidentd/tests/Section_test.cpp +++ b/cmds/incidentd/tests/Section_test.cpp @@ -144,15 +144,15 @@ TEST_F(SectionTest, FileSection) { } TEST_F(SectionTest, FileSectionNotExist) { - FileSection fs1(NOOP_PARSER, "notexist", false, QUICK_TIMEOUT_MS); - ASSERT_EQ(NAME_NOT_FOUND, fs1.Execute(&requests)); + FileSection fs1(NOOP_PARSER, "notexist", QUICK_TIMEOUT_MS); + ASSERT_EQ(NO_ERROR, fs1.Execute(&requests)); - FileSection fs2(NOOP_PARSER, "notexist", true, QUICK_TIMEOUT_MS); + FileSection fs2(NOOP_PARSER, "notexist", QUICK_TIMEOUT_MS); ASSERT_EQ(NO_ERROR, fs2.Execute(&requests)); } TEST_F(SectionTest, FileSectionTimeout) { - FileSection fs(TIMEOUT_PARSER, tf.path, false, QUICK_TIMEOUT_MS); + FileSection fs(TIMEOUT_PARSER, tf.path, QUICK_TIMEOUT_MS); ASSERT_EQ(NO_ERROR, fs.Execute(&requests)); ASSERT_TRUE(requests.sectionStats(TIMEOUT_PARSER)->timed_out()); } diff --git a/core/proto/android/os/incident.proto b/core/proto/android/os/incident.proto index 3aea3a767f46..39e65cabda18 100644 --- a/core/proto/android/os/incident.proto +++ b/core/proto/android/os/incident.proto @@ -162,7 +162,6 @@ message IncidentProto { optional CpuFreqProto cpu_freq = 2004 [ (section).type = SECTION_FILE, - (section).device_specific = true, (section).args = "/sys/devices/system/cpu/cpufreq/all_time_in_state" ]; @@ -173,7 +172,6 @@ message IncidentProto { optional BatteryTypeProto battery_type = 2006 [ (section).type = SECTION_FILE, - (section).device_specific = true, (section).args = "/sys/class/power_supply/bms/battery_type" ]; diff --git a/libs/incident/proto/android/section.proto b/libs/incident/proto/android/section.proto index 45f3c91850e7..5afe22a3095f 100644 --- a/libs/incident/proto/android/section.proto +++ b/libs/incident/proto/android/section.proto @@ -51,10 +51,9 @@ enum SectionType { message SectionFlags { optional SectionType type = 1 [default = SECTION_NONE]; optional string args = 2; - optional bool device_specific = 3 [default = false]; // If true, then the section will only be generated for userdebug and eng // builds. - optional bool userdebug_and_eng_only = 4 [default = false]; + optional bool userdebug_and_eng_only = 3 [default = false]; } extend google.protobuf.FieldOptions { diff --git a/tools/incident_section_gen/main.cpp b/tools/incident_section_gen/main.cpp index 3689a8f2981e..1f77719ea4d5 100644 --- a/tools/incident_section_gen/main.cpp +++ b/tools/incident_section_gen/main.cpp @@ -412,8 +412,7 @@ static bool generateSectionListCpp(Descriptor const* descriptor) { case SECTION_NONE: continue; case SECTION_FILE: - printf(" new FileSection(%d, \"%s\", %s),\n", field->number(), s.args().c_str(), - s.device_specific() ? "true" : "false"); + printf(" new FileSection(%d, \"%s\"),\n", field->number(), s.args().c_str()); break; case SECTION_COMMAND: printf(" new CommandSection(%d,", field->number()); |