diff options
author | Muhammad Qureshi <muhammadq@google.com> | 2020-01-10 14:03:13 -0800 |
---|---|---|
committer | Muhammad Qureshi <muhammadq@google.com> | 2020-01-17 08:36:52 -0800 |
commit | ad94425b153ebdd64427489232300fb7f556bdb3 (patch) | |
tree | c98caeff0954553bb8cf541bb5d94db9282f8244 /tools/stats_log_api_gen/java_writer.cpp | |
parent | df747d155ee8a3830fc9cf7dd46669f3472d2370 (diff) |
Add flag to stats-log-api-gen for WorkSource.
As part of getting rid of StatsLogInternal and moving every atom to be
logged from a module, this CL addresses 2 issues:
1. Add WorkSource logging to modules.
2. Gate WorkSource logging via a CLI flag to prevent WorkSource methods
from being included in modules that are Mainline modules and can't have
@hide calls.
Bug: 147541828
Test: m
Test: atest android.cts.statsd.atom.UidAtomTests
Change-Id: Icce2f6ed7298be5e5ceebfb05d87e6fa7cd6bdbb
Diffstat (limited to 'tools/stats_log_api_gen/java_writer.cpp')
-rw-r--r-- | tools/stats_log_api_gen/java_writer.cpp | 39 |
1 files changed, 12 insertions, 27 deletions
diff --git a/tools/stats_log_api_gen/java_writer.cpp b/tools/stats_log_api_gen/java_writer.cpp index b09dcd5efb9c..c29936b96c14 100644 --- a/tools/stats_log_api_gen/java_writer.cpp +++ b/tools/stats_log_api_gen/java_writer.cpp @@ -73,7 +73,7 @@ static int write_java_methods( java_type_name(chainField.javaType), chainField.name.c_str()); } } else if (*arg == JAVA_TYPE_KEY_VALUE_PAIR) { - fprintf(out, ", SparseArray<Object> valueMap"); + fprintf(out, ", android.util.SparseArray<Object> valueMap"); } else { fprintf(out, ", %s arg%d", java_type_name(*arg), argIndex); } @@ -142,16 +142,16 @@ static int write_java_methods( fprintf(out, "%s final int count = valueMap.size();\n", indent.c_str()); fprintf(out, - "%s SparseIntArray intMap = null;\n", + "%s android.util.SparseIntArray intMap = null;\n", indent.c_str()); fprintf(out, - "%s SparseLongArray longMap = null;\n", + "%s android.util.SparseLongArray longMap = null;\n", indent.c_str()); fprintf(out, - "%s SparseArray<String> stringMap = null;\n", + "%s android.util.SparseArray<String> stringMap = null;\n", indent.c_str()); fprintf(out, - "%s SparseArray<Float> floatMap = null;\n", + "%s android.util.SparseArray<Float> floatMap = null;\n", indent.c_str()); fprintf(out, "%s for (int i = 0; i < count; i++) {\n", indent.c_str()); @@ -165,7 +165,7 @@ static int write_java_methods( fprintf(out, "%s if (null == intMap) {\n", indent.c_str()); fprintf(out, - "%s intMap = new SparseIntArray();\n", indent.c_str()); + "%s intMap = new android.util.SparseIntArray();\n", indent.c_str()); fprintf(out, "%s }\n", indent.c_str()); fprintf(out, @@ -175,7 +175,7 @@ static int write_java_methods( fprintf(out, "%s if (null == longMap) {\n", indent.c_str()); fprintf(out, - "%s longMap = new SparseLongArray();\n", indent.c_str()); + "%s longMap = new android.util.SparseLongArray();\n", indent.c_str()); fprintf(out, "%s }\n", indent.c_str()); fprintf(out, @@ -185,7 +185,7 @@ static int write_java_methods( fprintf(out, "%s if (null == stringMap) {\n", indent.c_str()); fprintf(out, - "%s stringMap = new SparseArray<>();\n", indent.c_str()); + "%s stringMap = new android.util.SparseArray<>();\n", indent.c_str()); fprintf(out, "%s }\n", indent.c_str()); fprintf(out, @@ -195,7 +195,7 @@ static int write_java_methods( fprintf(out, "%s if (null == floatMap) {\n", indent.c_str()); fprintf(out, - "%s floatMap = new SparseArray<>();\n", indent.c_str()); + "%s floatMap = new android.util.SparseArray<>();\n", indent.c_str()); fprintf(out, "%s }\n", indent.c_str()); fprintf(out, @@ -253,7 +253,8 @@ static int write_java_methods( int write_stats_log_java(FILE* out, const Atoms& atoms, const AtomDecl &attributionDecl, const string& moduleName, const string& javaClass, - const string& javaPackage, const bool supportQ) { + const string& javaPackage, const bool supportQ, + const bool supportWorkSource) { // Print prelude fprintf(out, "// This file is autogenerated\n"); fprintf(out, "\n"); @@ -265,25 +266,9 @@ int write_stats_log_java(FILE* out, const Atoms& atoms, const AtomDecl &attribut fprintf(out, "import android.os.SystemClock;\n"); } - if (DEFAULT_MODULE_NAME == moduleName) { - // Mainline modules don't use WorkSource logging. - fprintf(out, "import android.os.WorkSource;\n"); - - // SparseArray is used for writing KeyValuePairs; not supported for Mainline modules. - fprintf(out, "import android.util.SparseArray;\n"); - fprintf(out, "import android.util.SparseIntArray;\n"); - fprintf(out, "import android.util.SparseLongArray;\n"); - } - fprintf(out, "import android.util.StatsEvent;\n"); fprintf(out, "import android.util.StatsLog;\n"); - if (DEFAULT_MODULE_NAME == moduleName) { - // List is used for WorkSource writing. Only needed for default module. - fprintf(out, "\n"); - fprintf(out, "import java.util.List;\n"); - } - fprintf(out, "\n"); fprintf(out, "\n"); fprintf(out, "/**\n"); @@ -305,7 +290,7 @@ int write_stats_log_java(FILE* out, const Atoms& atoms, const AtomDecl &attribut out, atoms.signatures_to_modules, attributionDecl, moduleName, supportQ); errors += write_java_non_chained_methods( out, atoms.non_chained_signatures_to_modules, moduleName); - if (DEFAULT_MODULE_NAME == moduleName) { + if (supportWorkSource) { errors += write_java_work_source_methods(out, atoms.signatures_to_modules, moduleName); } |