diff options
author | Mike Ma <yanmin@google.com> | 2020-03-03 17:58:35 -0800 |
---|---|---|
committer | Mike Ma <yanmin@google.com> | 2020-03-05 12:42:50 -0800 |
commit | b6f7c4725253de798cd7487f671c66663614a158 (patch) | |
tree | 0c23162f1db918f57f51cd9feb56b13550bc55c0 /libs/incident | |
parent | f7ed9bc589774fcc911321bae5c6521397e95aef (diff) |
Add an option to zip incident report
Incident reports are getting bigger as we add more sections. Add an
option (-z, default off) to zip incident report.
Bug: 150160547
Test: atest incidentd_test
Test: adb shell incident -z -p EXPLICIT | gunzip | ./out/soong/host/linux-x86/bin/aprotoc --decode=android.os.IncidentProto --proto_path=./ --proto_path=external/protobuf/src frameworks/base/core/proto/android/os/incident.proto
Change-Id: I7c8ff1d91df842c200462ee29f15feae68e62739
Diffstat (limited to 'libs/incident')
-rw-r--r-- | libs/incident/include_priv/android/os/IncidentReportArgs.h | 3 | ||||
-rw-r--r-- | libs/incident/src/IncidentReportArgs.cpp | 26 |
2 files changed, 27 insertions, 2 deletions
diff --git a/libs/incident/include_priv/android/os/IncidentReportArgs.h b/libs/incident/include_priv/android/os/IncidentReportArgs.h index 0e6159032e45..ec3aabb3b49d 100644 --- a/libs/incident/include_priv/android/os/IncidentReportArgs.h +++ b/libs/incident/include_priv/android/os/IncidentReportArgs.h @@ -53,6 +53,7 @@ public: void setReceiverPkg(const string& pkg); void setReceiverCls(const string& cls); void addHeader(const vector<uint8_t>& headerProto); + void setGzip(bool gzip); inline bool all() const { return mAll; } bool containsSection(int section, bool specific) const; @@ -61,6 +62,7 @@ public: inline const string& receiverPkg() const { return mReceiverPkg; } inline const string& receiverCls() const { return mReceiverCls; } inline const vector<vector<uint8_t>>& headers() const { return mHeaders; } + inline bool gzip() const {return mGzip; } void merge(const IncidentReportArgs& that); @@ -71,6 +73,7 @@ private: int mPrivacyPolicy; string mReceiverPkg; string mReceiverCls; + bool mGzip; }; } diff --git a/libs/incident/src/IncidentReportArgs.cpp b/libs/incident/src/IncidentReportArgs.cpp index 9d8a98338ef0..db495cfbf7e1 100644 --- a/libs/incident/src/IncidentReportArgs.cpp +++ b/libs/incident/src/IncidentReportArgs.cpp @@ -26,7 +26,8 @@ namespace os { IncidentReportArgs::IncidentReportArgs() :mSections(), mAll(false), - mPrivacyPolicy(-1) + mPrivacyPolicy(-1), + mGzip(false) { } @@ -36,7 +37,8 @@ IncidentReportArgs::IncidentReportArgs(const IncidentReportArgs& that) mAll(that.mAll), mPrivacyPolicy(that.mPrivacyPolicy), mReceiverPkg(that.mReceiverPkg), - mReceiverCls(that.mReceiverCls) + mReceiverCls(that.mReceiverCls), + mGzip(that.mGzip) { } @@ -93,6 +95,11 @@ IncidentReportArgs::writeToParcel(Parcel* out) const return err; } + err = out->writeInt32(mGzip); + if (err != NO_ERROR) { + return err; + } + return NO_ERROR; } @@ -149,6 +156,15 @@ IncidentReportArgs::readFromParcel(const Parcel* in) mReceiverPkg = String8(in->readString16()).string(); mReceiverCls = String8(in->readString16()).string(); + int32_t gzip; + err = in->readInt32(&gzip); + if (err != NO_ERROR) { + return err; + } + if (gzip != 0) { + mGzip = gzip; + } + return OK; } @@ -193,6 +209,12 @@ IncidentReportArgs::addHeader(const vector<uint8_t>& headerProto) mHeaders.push_back(headerProto); } +void +IncidentReportArgs::setGzip(bool gzip) +{ + mGzip = gzip; +} + bool IncidentReportArgs::containsSection(int section, bool specific) const { |