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

Commit 29e6e921 authored by Muhammad Qureshi's avatar Muhammad Qureshi Committed by Automerger Merge Worker
Browse files

Merge "Remove kAtomsWithAttributionChain from atoms_info" into rvc-dev am: 9a89a816

Change-Id: I73e3ed04de828727305608615a96fdf9b10f945a
parents 15bee703 9a89a816
Loading
Loading
Loading
Loading
+1 −2
Original line number Diff line number Diff line
@@ -139,8 +139,7 @@ void StatsLogProcessor::onPeriodicAlarmFired(
}

void StatsLogProcessor::mapIsolatedUidToHostUidIfNecessaryLocked(LogEvent* event) const {
    if (android::util::AtomsInfo::kAtomsWithAttributionChain.find(event->GetTagId()) !=
        android::util::AtomsInfo::kAtomsWithAttributionChain.end()) {
    if (event->getAttributionChainIndex() != -1) {
        for (auto& value : *(event->getMutableValues())) {
            if (value.mField.getPosAtDepth(0) > kAttributionField) {
                break;
+4 −7
Original line number Diff line number Diff line
@@ -49,11 +49,9 @@ using namespace std;
 */
void mapAndMergeIsolatedUidsToHostUid(vector<shared_ptr<LogEvent>>& data, const sp<UidMap>& uidMap,
                                      int tagId, const vector<int>& additiveFieldsVec) {
    bool hasAttributionChain = (android::util::AtomsInfo::kAtomsWithAttributionChain.find(tagId) !=
                                android::util::AtomsInfo::kAtomsWithAttributionChain.end());
    // To check if any LogEvent has a uid field, we can just check the first
    // LogEvent because all atoms with this tagId should have the uid
    // annotation.
    // Check the first LogEvent for attribution chain or a uid field as either all atoms with this
    // tagId have them or none of them do.
    const bool hasAttributionChain = data[0]->getAttributionChainIndex() != -1;
    bool hasUidField = (data[0]->getUidFieldIndex() != -1);

    if (!hasAttributionChain && !hasUidField) {
@@ -67,8 +65,7 @@ void mapAndMergeIsolatedUidsToHostUid(vector<shared_ptr<LogEvent>>& data, const
            ALOGE("Wrong atom. Expecting %d, got %d", tagId, event->GetTagId());
            return;
        }
        if (android::util::AtomsInfo::kAtomsWithAttributionChain.find(tagId) !=
            android::util::AtomsInfo::kAtomsWithAttributionChain.end()) {
        if (event->getAttributionChainIndex() != -1) {
            for (auto& value : *(event->getMutableValues())) {
                if (value.mField.getPosAtDepth(0) > kAttributionField) {
                    break;
+0 −17
Original line number Diff line number Diff line
@@ -27,7 +27,6 @@ namespace stats_log_api_gen {

static void write_atoms_info_header_body(FILE* out, const Atoms& atoms) {
    fprintf(out, "struct AtomsInfo {\n");
    fprintf(out, "  const static std::set<int> kAtomsWithAttributionChain;\n");
    fprintf(out, "  const static std::set<int> kWhitelistedAtoms;\n");
    fprintf(out, "};\n");
    fprintf(out, "const static int kMaxPushedAtomId = %d;\n\n", atoms.maxPushedAtomId);
@@ -35,22 +34,6 @@ static void write_atoms_info_header_body(FILE* out, const Atoms& atoms) {

static void write_atoms_info_cpp_body(FILE* out, const Atoms& atoms) {

    fprintf(out, "const std::set<int> AtomsInfo::kAtomsWithAttributionChain = {\n");
    for (AtomDeclSet::const_iterator atomIt = atoms.decls.begin(); atomIt != atoms.decls.end();
         atomIt++) {
        for (vector<AtomField>::const_iterator field = (*atomIt)->fields.begin();
             field != (*atomIt)->fields.end(); field++) {
            if (field->javaType == JAVA_TYPE_ATTRIBUTION_CHAIN) {
                const string constant = make_constant_name((*atomIt)->name);
                fprintf(out, "    %d, // %s\n", (*atomIt)->code, constant.c_str());
                break;
            }
        }
    }

    fprintf(out, "};\n");
    fprintf(out, "\n");

    fprintf(out, "const std::set<int> AtomsInfo::kWhitelistedAtoms = {\n");
    for (AtomDeclSet::const_iterator atomIt = atoms.decls.begin(); atomIt != atoms.decls.end();
         atomIt++) {