diff options
Diffstat (limited to 'tools/aapt2/dump/DumpManifest.cpp')
-rw-r--r-- | tools/aapt2/dump/DumpManifest.cpp | 13 |
1 files changed, 7 insertions, 6 deletions
diff --git a/tools/aapt2/dump/DumpManifest.cpp b/tools/aapt2/dump/DumpManifest.cpp index f2c6b15bc0cd..9574d275690b 100644 --- a/tools/aapt2/dump/DumpManifest.cpp +++ b/tools/aapt2/dump/DumpManifest.cpp @@ -1978,12 +1978,13 @@ bool ManifestExtractor::Dump(text::Printer* printer, IDiagnostics* diag) { filtered_uses_sdk_tags.emplace_back(uses_sdk); } } - filtered_uses_sdk_tags.pop_back(); - - root->Filter([&](const ManifestExtractor::Element* e) { - return std::find(filtered_uses_sdk_tags.begin(), filtered_uses_sdk_tags.end(), e) != - filtered_uses_sdk_tags.end(); - }); + if (filtered_uses_sdk_tags.size() >= 2U) { + filtered_uses_sdk_tags.pop_back(); + root->Filter([&](const ManifestExtractor::Element* e) { + return std::find(filtered_uses_sdk_tags.begin(), filtered_uses_sdk_tags.end(), e) != + filtered_uses_sdk_tags.end(); + }); + } // Print the elements in order seen Print(root.get(), printer); |