summaryrefslogtreecommitdiff
path: root/tools/stats_log_api_gen/Collation.cpp
diff options
context:
space:
mode:
authorYangster-mac <yanglu@google.com>2018-08-18 12:38:11 -0700
committerYang Lu <yanglu@google.com>2018-08-19 22:37:59 +0000
commit48b3d62bfece0fa0238f629220a799faa46fb58b (patch)
treeba2c08655c4b30a5b77a7be3b9b7b355a98bcbc4 /tools/stats_log_api_gen/Collation.cpp
parent6e68dc711ea8f0ddacf45bc1ac7280401c908399 (diff)
Create log event from key value maps.
BUG: b/112816333 Test: statsd test. Change-Id: Ib66f06186abfacd77807436379e1e142a5b87c99
Diffstat (limited to 'tools/stats_log_api_gen/Collation.cpp')
-rw-r--r--tools/stats_log_api_gen/Collation.cpp13
1 files changed, 13 insertions, 0 deletions
diff --git a/tools/stats_log_api_gen/Collation.cpp b/tools/stats_log_api_gen/Collation.cpp
index ebdcdfdd6c50..40ee490fc186 100644
--- a/tools/stats_log_api_gen/Collation.cpp
+++ b/tools/stats_log_api_gen/Collation.cpp
@@ -116,6 +116,9 @@ java_type(const FieldDescriptor* field)
if (field->message_type()->full_name() ==
"android.os.statsd.AttributionNode") {
return JAVA_TYPE_ATTRIBUTION_CHAIN;
+ } else if (field->message_type()->full_name() ==
+ "android.os.statsd.KeyValuePair") {
+ return JAVA_TYPE_KEY_VALUE_PAIR;
} else {
return JAVA_TYPE_OBJECT;
}
@@ -181,6 +184,16 @@ int collate_atom(const Descriptor *atom, AtomDecl *atomDecl,
expectedNumber++;
}
+ // Skips the key value pair atom.
+ for (map<int, const FieldDescriptor *>::const_iterator it = fields.begin();
+ it != fields.end(); it++) {
+ const FieldDescriptor *field = it->second;
+ java_type_t javaType = java_type(field);
+ if (javaType == JAVA_TYPE_KEY_VALUE_PAIR) {
+ return 0;
+ }
+ }
+
// Check that only allowed types are present. Remove any invalid ones.
for (map<int, const FieldDescriptor *>::const_iterator it = fields.begin();
it != fields.end(); it++) {