Loading services/stats/StatsAidl.cpp +27 −2 Original line number Diff line number Diff line Loading @@ -69,6 +69,10 @@ ndk::ScopedAStatus StatsHal::reportVendorAtom(const VendorAtom& vendorAtom) { case VendorAtomValue::repeatedIntValue: { const std::optional<std::vector<int>>& repeatedIntValue = atomValue.get<VendorAtomValue::repeatedIntValue>(); if (!repeatedIntValue) { AStatsEvent_writeInt32Array(event, {}, 0); break; } AStatsEvent_writeInt32Array(event, repeatedIntValue->data(), repeatedIntValue->size()); break; Loading @@ -76,6 +80,10 @@ ndk::ScopedAStatus StatsHal::reportVendorAtom(const VendorAtom& vendorAtom) { case VendorAtomValue::repeatedLongValue: { const std::optional<std::vector<int64_t>>& repeatedLongValue = atomValue.get<VendorAtomValue::repeatedLongValue>(); if (!repeatedLongValue) { AStatsEvent_writeInt64Array(event, {}, 0); break; } AStatsEvent_writeInt64Array(event, repeatedLongValue->data(), repeatedLongValue->size()); break; Loading @@ -83,6 +91,10 @@ ndk::ScopedAStatus StatsHal::reportVendorAtom(const VendorAtom& vendorAtom) { case VendorAtomValue::repeatedFloatValue: { const std::optional<std::vector<float>>& repeatedFloatValue = atomValue.get<VendorAtomValue::repeatedFloatValue>(); if (!repeatedFloatValue) { AStatsEvent_writeFloatArray(event, {}, 0); break; } AStatsEvent_writeFloatArray(event, repeatedFloatValue->data(), repeatedFloatValue->size()); break; Loading @@ -90,12 +102,18 @@ ndk::ScopedAStatus StatsHal::reportVendorAtom(const VendorAtom& vendorAtom) { case VendorAtomValue::repeatedStringValue: { const std::optional<std::vector<std::optional<std::string>>>& repeatedStringValue = atomValue.get<VendorAtomValue::repeatedStringValue>(); if (!repeatedStringValue) { AStatsEvent_writeStringArray(event, {}, 0); break; } const std::vector<std::optional<std::string>>& repeatedStringVector = *repeatedStringValue; const char* cStringArray[repeatedStringVector.size()]; for (int i = 0; i < repeatedStringVector.size(); ++i) { cStringArray[i] = repeatedStringVector[i]->c_str(); cStringArray[i] = repeatedStringVector[i].has_value() ? repeatedStringVector[i]->c_str() : ""; } AStatsEvent_writeStringArray(event, cStringArray, repeatedStringVector.size()); Loading @@ -104,6 +122,10 @@ ndk::ScopedAStatus StatsHal::reportVendorAtom(const VendorAtom& vendorAtom) { case VendorAtomValue::repeatedBoolValue: { const std::optional<std::vector<bool>>& repeatedBoolValue = atomValue.get<VendorAtomValue::repeatedBoolValue>(); if (!repeatedBoolValue) { AStatsEvent_writeBoolArray(event, {}, 0); break; } const std::vector<bool>& repeatedBoolVector = *repeatedBoolValue; bool boolArray[repeatedBoolValue->size()]; Loading @@ -117,7 +139,10 @@ ndk::ScopedAStatus StatsHal::reportVendorAtom(const VendorAtom& vendorAtom) { case VendorAtomValue::byteArrayValue: { const std::optional<std::vector<uint8_t>>& byteArrayValue = atomValue.get<VendorAtomValue::byteArrayValue>(); if (!byteArrayValue) { AStatsEvent_writeByteArray(event, {}, 0); break; } AStatsEvent_writeByteArray(event, byteArrayValue->data(), byteArrayValue->size()); break; } Loading Loading
services/stats/StatsAidl.cpp +27 −2 Original line number Diff line number Diff line Loading @@ -69,6 +69,10 @@ ndk::ScopedAStatus StatsHal::reportVendorAtom(const VendorAtom& vendorAtom) { case VendorAtomValue::repeatedIntValue: { const std::optional<std::vector<int>>& repeatedIntValue = atomValue.get<VendorAtomValue::repeatedIntValue>(); if (!repeatedIntValue) { AStatsEvent_writeInt32Array(event, {}, 0); break; } AStatsEvent_writeInt32Array(event, repeatedIntValue->data(), repeatedIntValue->size()); break; Loading @@ -76,6 +80,10 @@ ndk::ScopedAStatus StatsHal::reportVendorAtom(const VendorAtom& vendorAtom) { case VendorAtomValue::repeatedLongValue: { const std::optional<std::vector<int64_t>>& repeatedLongValue = atomValue.get<VendorAtomValue::repeatedLongValue>(); if (!repeatedLongValue) { AStatsEvent_writeInt64Array(event, {}, 0); break; } AStatsEvent_writeInt64Array(event, repeatedLongValue->data(), repeatedLongValue->size()); break; Loading @@ -83,6 +91,10 @@ ndk::ScopedAStatus StatsHal::reportVendorAtom(const VendorAtom& vendorAtom) { case VendorAtomValue::repeatedFloatValue: { const std::optional<std::vector<float>>& repeatedFloatValue = atomValue.get<VendorAtomValue::repeatedFloatValue>(); if (!repeatedFloatValue) { AStatsEvent_writeFloatArray(event, {}, 0); break; } AStatsEvent_writeFloatArray(event, repeatedFloatValue->data(), repeatedFloatValue->size()); break; Loading @@ -90,12 +102,18 @@ ndk::ScopedAStatus StatsHal::reportVendorAtom(const VendorAtom& vendorAtom) { case VendorAtomValue::repeatedStringValue: { const std::optional<std::vector<std::optional<std::string>>>& repeatedStringValue = atomValue.get<VendorAtomValue::repeatedStringValue>(); if (!repeatedStringValue) { AStatsEvent_writeStringArray(event, {}, 0); break; } const std::vector<std::optional<std::string>>& repeatedStringVector = *repeatedStringValue; const char* cStringArray[repeatedStringVector.size()]; for (int i = 0; i < repeatedStringVector.size(); ++i) { cStringArray[i] = repeatedStringVector[i]->c_str(); cStringArray[i] = repeatedStringVector[i].has_value() ? repeatedStringVector[i]->c_str() : ""; } AStatsEvent_writeStringArray(event, cStringArray, repeatedStringVector.size()); Loading @@ -104,6 +122,10 @@ ndk::ScopedAStatus StatsHal::reportVendorAtom(const VendorAtom& vendorAtom) { case VendorAtomValue::repeatedBoolValue: { const std::optional<std::vector<bool>>& repeatedBoolValue = atomValue.get<VendorAtomValue::repeatedBoolValue>(); if (!repeatedBoolValue) { AStatsEvent_writeBoolArray(event, {}, 0); break; } const std::vector<bool>& repeatedBoolVector = *repeatedBoolValue; bool boolArray[repeatedBoolValue->size()]; Loading @@ -117,7 +139,10 @@ ndk::ScopedAStatus StatsHal::reportVendorAtom(const VendorAtom& vendorAtom) { case VendorAtomValue::byteArrayValue: { const std::optional<std::vector<uint8_t>>& byteArrayValue = atomValue.get<VendorAtomValue::byteArrayValue>(); if (!byteArrayValue) { AStatsEvent_writeByteArray(event, {}, 0); break; } AStatsEvent_writeByteArray(event, byteArrayValue->data(), byteArrayValue->size()); break; } Loading