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

Commit 6f65881d authored by Muhammad Qureshi's avatar Muhammad Qureshi
Browse files

Support new socket schema in native codegen

New code generation implementation is flag guarded by
STATS_SCHEMA_LEGACY

Support for Q schema can be added by passing --supportQ flag in
stats_log_api_gen. (Only needed for statslog_resolv.cpp)

Q schema is supported through StatsEventCompat.

Generated R schema statslog.h:
https://paste.googleplex.com/4986214782337024

Generated R schema statslog.cpp:
https://paste.googleplex.com/4856851575341056

Generated R schema statslog_resolv.h:
https://paste.googleplex.com/6062978921136128

Generated R schema statslog_resolv.cpp:
https://paste.googleplex.com/4752329251225600

Generated Q schema statslog.h:
https://paste.googleplex.com/4766729873915904

Generated Q schema statslog.cpp:
https://paste.googleplex.com/5018563779756032

Generated Q schema statslog_resolv.h:
https://paste.googleplex.com/5338897498243072

Generated Q schema statslog_resolv.cpp:
https://paste.googleplex.com/5191011011657728

Test: m -j
Test: flashes successfully
Test: adb logcat inspection
Change-Id: I5675a80c03ca3fbd5cd4a02c04a4b9cb89ec32ab
Merged-In: I5675a80c03ca3fbd5cd4a02c04a4b9cb89ec32ab
parent c29064e1
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -25,6 +25,8 @@ cc_binary_host {
        "java_writer.cpp",
        "java_writer_q.cpp",
        "main.cpp",
        "native_writer.cpp",
        "native_writer_q.cpp",
        "utils.cpp",
    ],
    cflags: [
+1 −2
Original line number Diff line number Diff line
@@ -27,8 +27,7 @@ namespace stats_log_api_gen {
using namespace std;

int write_atoms_info_cpp(FILE* out, const Atoms& atoms, const string& namespaceStr,
        const string& importHeader, const string& statslogHeader
);
        const string& importHeader, const string& statslogHeader);

int write_atoms_info_header(FILE* out, const Atoms& atoms, const string& namespaceStr);

+3 −1
Original line number Diff line number Diff line
@@ -83,7 +83,9 @@ static int write_java_methods(
        // Print method body.
        string indent("");
        if (DEFAULT_MODULE_NAME != moduleName) {
            fprintf(out, "        if (Build.VERSION.SDK_INT > Build.VERSION_CODES.Q) {\n");
            // 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");
            indent = "    ";
        }

+1 −2
Original line number Diff line number Diff line
@@ -32,8 +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);

}  // namespace stats_log_api_gen
}  // namespace android
+5 −7
Original line number Diff line number Diff line
@@ -37,21 +37,19 @@ int write_java_methods_q_schema(
        const map<vector<java_type_t>, set<string>>& signatures_to_modules,
        const AtomDecl &attributionDecl,
        const string& moduleName,
        const string& indent
);
        const string& indent);

void write_java_helpers_for_q_schema_methods(
        FILE * out,
        const AtomDecl &attributionDecl,
        const int requiredHelpers,
        const string& indent
);
        const string& indent);

#if defined(STATS_SCHEMA_LEGACY)
int write_stats_log_java_q(FILE* out, const Atoms& atoms, const AtomDecl &attributionDecl);

int write_stats_log_java_q_for_module(FILE* out, const Atoms& atoms, const AtomDecl &attributionDecl,
                                    const string& moduleName, const string& javaClass,
int write_stats_log_java_q_for_module(FILE* out, const Atoms& atoms,
        const AtomDecl &attributionDecl, const string& moduleName, const string& javaClass,
        const string& javaPackage);
#endif
}  // namespace stats_log_api_gen
Loading