diff options
author | 2024-03-14 00:58:18 +0000 | |
---|---|---|
committer | 2024-03-14 21:39:30 +0000 | |
commit | 60644476eec171e94c7ff471809620190d6a93d8 (patch) | |
tree | 022bcc973107b4876701240e9688a7e1904ece78 | |
parent | 982d9a382bc385660d72d3ec476960a91928bafe (diff) |
Adding more logging in VersionCollapser for better debugging
Bug: b/319844770
Test: Verified affected tests pass
Change-Id: If2cdb1184502e547a3a4890d8aa7c83b20cb0cf8
-rw-r--r-- | tools/aapt2/optimize/VersionCollapser.cpp | 23 |
1 files changed, 20 insertions, 3 deletions
diff --git a/tools/aapt2/optimize/VersionCollapser.cpp b/tools/aapt2/optimize/VersionCollapser.cpp index cd791bda250b..27fff9a05334 100644 --- a/tools/aapt2/optimize/VersionCollapser.cpp +++ b/tools/aapt2/optimize/VersionCollapser.cpp @@ -70,7 +70,7 @@ FilterIterator<Iterator, Pred> make_filter_iterator(Iterator begin, * exception is when there is no exact matching resource for the minSdk. The next smallest one will * be kept. */ -static void CollapseVersions(int min_sdk, ResourceEntry* entry) { +static void CollapseVersions(IAaptContext* context, int min_sdk, ResourceEntry* entry) { // First look for all sdks less than minSdk. for (auto iter = entry->values.rbegin(); iter != entry->values.rend(); ++iter) { @@ -102,7 +102,14 @@ static void CollapseVersions(int min_sdk, ResourceEntry* entry) { auto filter_iter = make_filter_iterator(iter + 1, entry->values.rend(), pred); while (filter_iter.HasNext()) { - filter_iter.Next() = {}; + auto& next = filter_iter.Next(); + if (context->IsVerbose()) { + context->GetDiagnostics()->Note(android::DiagMessage() + << "removing configuration " << next->config.to_string() + << " for entry: " << entry->name + << ", because its SDK version is smaller than minSdk"); + } + next = {}; } } } @@ -126,6 +133,12 @@ static void CollapseVersions(int min_sdk, ResourceEntry* entry) { util::make_unique<ResourceConfigValue>( config_value->config.CopyWithoutSdkVersion(), config_value->product); + if (context->IsVerbose()) { + context->GetDiagnostics()->Note(android::DiagMessage() + << "overriding resource: " << entry->name + << ", removing SDK version from configuration " + << config_value->config.to_string()); + } new_value->value = std::move(config_value->value); config_value = std::move(new_value); @@ -147,10 +160,14 @@ static void CollapseVersions(int min_sdk, ResourceEntry* entry) { bool VersionCollapser::Consume(IAaptContext* context, ResourceTable* table) { TRACE_NAME("VersionCollapser::Consume"); const int min_sdk = context->GetMinSdkVersion(); + if (context->IsVerbose()) { + context->GetDiagnostics()->Note(android::DiagMessage() + << "Running VersionCollapser with minSdk = " << min_sdk); + } for (auto& package : table->packages) { for (auto& type : package->types) { for (auto& entry : type->entries) { - CollapseVersions(min_sdk, entry.get()); + CollapseVersions(context, min_sdk, entry.get()); } } } |