diff --git a/tools/stats_log_api_gen/java_writer.cpp b/tools/stats_log_api_gen/java_writer.cpp index 663d49c0d2299..7f0872c02613b 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, set>& 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); } diff --git a/tools/stats_log_api_gen/java_writer.h b/tools/stats_log_api_gen/java_writer.h index 61dea6ac3a096..9324b23e4025a 100644 --- a/tools/stats_log_api_gen/java_writer.h +++ b/tools/stats_log_api_gen/java_writer.h @@ -32,7 +32,7 @@ using namespace std; 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); } // namespace stats_log_api_gen } // namespace android diff --git a/tools/stats_log_api_gen/main.cpp b/tools/stats_log_api_gen/main.cpp index efe64418c2de1..00a3704848230 100644 --- a/tools/stats_log_api_gen/main.cpp +++ b/tools/stats_log_api_gen/main.cpp @@ -749,7 +749,7 @@ run(int argc, char const*const* argv) javaPackage = "android.util"; } errorCount = android::stats_log_api_gen::write_stats_log_java( - out, atoms, attributionDecl, moduleName, javaClass, javaPackage); + out, atoms, attributionDecl, moduleName, javaClass, javaPackage, supportQ); #endif fclose(out);