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

Commit 2ec8e1b7 authored by Ryan Mitchell's avatar Ryan Mitchell
Browse files

Add <staging-public-group-final> to aapt2 (2/2)

Fixes BinaryResourceParser loading of alias chunk and makes changes
that did not get committed in 2fedba9a.

Bug: 183411356
Test: aapt2_test
Change-Id: Ieff9166100019f38ddcfe900014709b15db24e43
parent 2fedba9a
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -226,9 +226,9 @@ void AssetManager2::BuildDynamicRefTable() {
      // staging aliases can only be defined by the framework package (which is not a shared
      // library), the compile-time package id of the framework is the same across all packages
      // that compile against the framework.
      for (const auto& package : iter2->packages_) {
      for (const auto& package : iter->packages_) {
        for (const auto& entry : package.loaded_package_->GetAliasResourceIdMap()) {
          iter->dynamic_ref_table->addAlias(entry.first, entry.second);
          iter2->dynamic_ref_table->addAlias(entry.first, entry.second);
        }
      }
    }
+2 −2
Original line number Diff line number Diff line
@@ -255,7 +255,7 @@ bool BinaryResourceParser::ParsePackage(const ResChunk_header* chunk) {
        break;

      case android::RES_TABLE_STAGED_ALIAS_TYPE:
        if (!ParseOverlayable(parser.chunk())) {
        if (!ParseStagedAliases(parser.chunk())) {
          return false;
        }
        break;
@@ -518,7 +518,7 @@ bool BinaryResourceParser::ParseStagedAliases(const ResChunk_header* chunk) {
      return false;
    }

    // Set the staged if of the finalized resource.
    // Set the staged id of the finalized resource.
    const auto& resource_name = iter->second;
    const StagedId staged_id_def{.id = staged_id};
    if (!table_->AddResource(NewResourceBuilder(resource_name)