diff options
Diffstat (limited to 'tools/stats_log_api_gen/java_writer.cpp')
-rw-r--r-- | tools/stats_log_api_gen/java_writer.cpp | 22 |
1 files changed, 14 insertions, 8 deletions
diff --git a/tools/stats_log_api_gen/java_writer.cpp b/tools/stats_log_api_gen/java_writer.cpp index 663d49c0d229..7f0872c02613 100644 --- a/tools/stats_log_api_gen/java_writer.cpp +++ b/tools/stats_log_api_gen/java_writer.cpp @@ -48,7 +48,8 @@ static int write_java_methods( FILE* out, const map<vector<java_type_t>, set<string>>& signatures_to_modules, const AtomDecl &attributionDecl, - const string& moduleName + const string& moduleName, + const bool supportQ ) { for (auto signature_to_modules_it = signatures_to_modules.begin(); signature_to_modules_it != signatures_to_modules.end(); signature_to_modules_it++) { @@ -82,7 +83,7 @@ static int write_java_methods( // Print method body. string indent(""); - if (DEFAULT_MODULE_NAME != moduleName) { + if (supportQ) { // TODO(b/146235828): Use just SDK_INT check once it is incremented from Q. fprintf(out, " if (Build.VERSION.SDK_INT > Build.VERSION_CODES.Q ||\n"); fprintf(out, " Build.VERSION.CODENAME.equals(\"R\")) {\n"); @@ -195,7 +196,7 @@ static int write_java_methods( fprintf(out, "%s StatsLog.write(builder.build());\n", indent.c_str()); // Add support for writing using Q schema if this is not the default module. - if (DEFAULT_MODULE_NAME != moduleName) { + if (supportQ) { fprintf(out, " } else {\n"); fprintf(out, " QLogger.write(code"); argIndex = 1; @@ -227,15 +228,17 @@ 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 string& javaPackage, const bool supportQ) { // Print prelude fprintf(out, "// This file is autogenerated\n"); fprintf(out, "\n"); fprintf(out, "package %s;\n", javaPackage.c_str()); fprintf(out, "\n"); fprintf(out, "\n"); - fprintf(out, "import android.os.Build;\n"); - fprintf(out, "import android.os.SystemClock;\n"); + if (supportQ) { + fprintf(out, "import android.os.Build;\n"); + fprintf(out, "import android.os.SystemClock;\n"); + } if (DEFAULT_MODULE_NAME == moduleName) { // Mainline modules don't use WorkSource logging. @@ -273,12 +276,15 @@ int write_stats_log_java(FILE* out, const Atoms& atoms, const AtomDecl &attribut // Print write methods. fprintf(out, " // Write methods\n"); - errors += write_java_methods(out, atoms.signatures_to_modules, attributionDecl, moduleName); + errors += write_java_methods( + 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) { errors += write_java_work_source_methods(out, atoms.signatures_to_modules, moduleName); - } else { + } + + if (supportQ) { errors += write_java_q_logger_class( out, atoms.signatures_to_modules, attributionDecl, moduleName); } |