diff --git a/cmds/statsd/src/logd/LogEvent.cpp b/cmds/statsd/src/logd/LogEvent.cpp index 10b1059796a02..8ec0173ce461b 100644 --- a/cmds/statsd/src/logd/LogEvent.cpp +++ b/cmds/statsd/src/logd/LogEvent.cpp @@ -227,8 +227,8 @@ void LogEvent::parseAttributionChain(int32_t* pos, int32_t depth, bool* last, } // Check if at least one node was successfully parsed. if (mValues.size() - 1 > firstUidInChainIndex) { - mAttributionChainStartIndex = firstUidInChainIndex; - mAttributionChainEndIndex = mValues.size() - 1; + mAttributionChainStartIndex = static_cast(firstUidInChainIndex); + mAttributionChainEndIndex = static_cast(mValues.size() - 1); } parseAnnotations(numAnnotations, firstUidInChainIndex); @@ -249,7 +249,7 @@ void LogEvent::parseIsUidAnnotation(uint8_t annotationType) { } bool isUid = readNextValue(); - if (isUid) mUidFieldIndex = mValues.size() - 1; + if (isUid) mUidFieldIndex = static_cast(mValues.size() - 1); mValues[mValues.size() - 1].mAnnotations.setUidField(isUid); } @@ -290,7 +290,7 @@ void LogEvent::parseExclusiveStateAnnotation(uint8_t annotationType) { } const bool exclusiveState = readNextValue(); - mExclusiveStateFieldIndex = mValues.size() - 1; + mExclusiveStateFieldIndex = static_cast(mValues.size() - 1); mValues[getExclusiveStateFieldIndex()].mAnnotations.setExclusiveState(exclusiveState); } @@ -408,7 +408,7 @@ bool LogEvent::parseBuffer(uint8_t* buf, size_t len) { parseAttributionChain(pos, /*depth=*/0, last, getNumAnnotations(typeInfo)); break; case ERROR_TYPE: - mErrorBitmask = readNextValue(); + /* mErrorBitmask =*/ readNextValue(); mValid = false; break; default: @@ -577,8 +577,8 @@ bool LogEvent::hasAttributionChain(std::pair* indexRange) const { } if (nullptr != indexRange) { - indexRange->first = mAttributionChainStartIndex; - indexRange->second = mAttributionChainEndIndex; + indexRange->first = static_cast(mAttributionChainStartIndex); + indexRange->second = static_cast(mAttributionChainEndIndex); } return true; diff --git a/cmds/statsd/src/logd/LogEvent.h b/cmds/statsd/src/logd/LogEvent.h index 731b9661067a3..53fb5d93e3acd 100644 --- a/cmds/statsd/src/logd/LogEvent.h +++ b/cmds/statsd/src/logd/LogEvent.h @@ -160,7 +160,7 @@ public: // } // Note that atomIndex is 1-indexed. inline int getUidFieldIndex() { - return mUidFieldIndex; + return static_cast(mUidFieldIndex); } // Returns whether this LogEvent has an AttributionChain. @@ -179,7 +179,7 @@ public: // } // Note that atomIndex is 1-indexed. inline int getExclusiveStateFieldIndex() const { - return mExclusiveStateFieldIndex; + return static_cast(mExclusiveStateFieldIndex); } // If a reset state is not sent in the StatsEvent, returns -1. Note that a @@ -212,10 +212,6 @@ public: return mValid; } - int32_t getErrorBitmask() const { - return mErrorBitmask; - } - private: /** * Only use this if copy is absolutely needed. @@ -316,16 +312,16 @@ private: // The pid of the logging client (defaults to -1). int32_t mLogPid = -1; - // Bitmask of errors sent by StatsEvent/AStatsEvent. - int32_t mErrorBitmask = 0; - // Annotations bool mTruncateTimestamp = false; - int mUidFieldIndex = -1; - int mAttributionChainStartIndex = -1; - int mAttributionChainEndIndex = -1; - int mExclusiveStateFieldIndex = -1; int mResetState = -1; + + // Indexes within the FieldValue vector can be stored in 7 bits because + // that's the assumption enforced by the encoding used in FieldValue. + int8_t mUidFieldIndex = -1; + int8_t mAttributionChainStartIndex = -1; + int8_t mAttributionChainEndIndex = -1; + int8_t mExclusiveStateFieldIndex = -1; }; void writeExperimentIdsToProto(const std::vector& experimentIds, std::vector* protoOut);