Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit d40b62f4 authored by Muhammad Qureshi's avatar Muhammad Qureshi Committed by Android (Google) Code Review
Browse files

Merge "Add --supportQ flag to java StatsLog codegen"

parents c25a9dd7 167ba844
Loading
Loading
Loading
Loading
+14 −8
Original line number Original line Diff line number Diff line
@@ -48,7 +48,8 @@ static int write_java_methods(
        FILE* out,
        FILE* out,
        const map<vector<java_type_t>, set<string>>& signatures_to_modules,
        const map<vector<java_type_t>, set<string>>& signatures_to_modules,
        const AtomDecl &attributionDecl,
        const AtomDecl &attributionDecl,
        const string& moduleName
        const string& moduleName,
        const bool supportQ
        ) {
        ) {
    for (auto signature_to_modules_it = signatures_to_modules.begin();
    for (auto signature_to_modules_it = signatures_to_modules.begin();
            signature_to_modules_it != signatures_to_modules.end(); signature_to_modules_it++) {
            signature_to_modules_it != signatures_to_modules.end(); signature_to_modules_it++) {
@@ -82,7 +83,7 @@ static int write_java_methods(


        // Print method body.
        // Print method body.
        string indent("");
        string indent("");
        if (DEFAULT_MODULE_NAME != moduleName) {
        if (supportQ) {
            // TODO(b/146235828): Use just SDK_INT check once it is incremented from Q.
            // 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, "        if (Build.VERSION.SDK_INT > Build.VERSION_CODES.Q ||\n");
            fprintf(out, "                Build.VERSION.CODENAME.equals(\"R\")) {\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());
        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.
        // 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, "        } else {\n");
            fprintf(out, "            QLogger.write(code");
            fprintf(out, "            QLogger.write(code");
            argIndex = 1;
            argIndex = 1;
@@ -227,15 +228,17 @@ static int write_java_methods(


int write_stats_log_java(FILE* out, const Atoms& atoms, const AtomDecl &attributionDecl,
int write_stats_log_java(FILE* out, const Atoms& atoms, const AtomDecl &attributionDecl,
                                    const string& moduleName, const string& javaClass,
                                    const string& moduleName, const string& javaClass,
                                    const string& javaPackage) {
                                    const string& javaPackage, const bool supportQ) {
    // Print prelude
    // Print prelude
    fprintf(out, "// This file is autogenerated\n");
    fprintf(out, "// This file is autogenerated\n");
    fprintf(out, "\n");
    fprintf(out, "\n");
    fprintf(out, "package %s;\n", javaPackage.c_str());
    fprintf(out, "package %s;\n", javaPackage.c_str());
    fprintf(out, "\n");
    fprintf(out, "\n");
    fprintf(out, "\n");
    fprintf(out, "\n");
    if (supportQ) {
        fprintf(out, "import android.os.Build;\n");
        fprintf(out, "import android.os.Build;\n");
        fprintf(out, "import android.os.SystemClock;\n");
        fprintf(out, "import android.os.SystemClock;\n");
    }


    if (DEFAULT_MODULE_NAME == moduleName) {
    if (DEFAULT_MODULE_NAME == moduleName) {
        // Mainline modules don't use WorkSource logging.
        // 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.
    // Print write methods.
    fprintf(out, "    // Write methods\n");
    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(
    errors += write_java_non_chained_methods(
            out, atoms.non_chained_signatures_to_modules, moduleName);
            out, atoms.non_chained_signatures_to_modules, moduleName);
    if (DEFAULT_MODULE_NAME == moduleName) {
    if (DEFAULT_MODULE_NAME == moduleName) {
        errors += write_java_work_source_methods(out, atoms.signatures_to_modules, moduleName);
        errors += write_java_work_source_methods(out, atoms.signatures_to_modules, moduleName);
    } else {
    }

    if (supportQ) {
        errors += write_java_q_logger_class(
        errors += write_java_q_logger_class(
                out, atoms.signatures_to_modules, attributionDecl, moduleName);
                out, atoms.signatures_to_modules, attributionDecl, moduleName);
    }
    }
+1 −1
Original line number Original line Diff line number Diff line
@@ -32,7 +32,7 @@ using namespace std;


int write_stats_log_java(FILE* out, const Atoms& atoms, const AtomDecl &attributionDecl,
int write_stats_log_java(FILE* out, const Atoms& atoms, const AtomDecl &attributionDecl,
                                    const string& moduleName, const string& javaClass,
                                    const string& moduleName, const string& javaClass,
                                    const string& javaPackage);
                                    const string& javaPackage, const bool supportQ);


}  // namespace stats_log_api_gen
}  // namespace stats_log_api_gen
}  // namespace android
}  // namespace android
+1 −1
Original line number Original line Diff line number Diff line
@@ -749,7 +749,7 @@ run(int argc, char const*const* argv)
            javaPackage = "android.util";
            javaPackage = "android.util";
        }
        }
        errorCount = android::stats_log_api_gen::write_stats_log_java(
        errorCount = android::stats_log_api_gen::write_stats_log_java(
                out, atoms, attributionDecl, moduleName, javaClass, javaPackage);
                out, atoms, attributionDecl, moduleName, javaClass, javaPackage, supportQ);
#endif
#endif


        fclose(out);
        fclose(out);