From 4e19c48a6e741c96956240e96046d5baaa77be3d Mon Sep 17 00:00:00 2001 From: Ryan Mitchell Date: Fri, 6 Dec 2019 12:20:21 -0800 Subject: Fix aapt2 JavaClassGenerator Maybe#value() call before check Previous refactor accidentally assumed all attributes would have resolvable symbols when generating the R class. Restore previous behavior of calling SkipSymbol before retrieving the attribute comment. Bug: 145685954 Test: m TeleService Change-Id: Ie8e1092556bc0b6a764462ffa0b99a876bcbd70e --- tools/aapt2/java/JavaClassGenerator.cpp | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) (limited to 'tools/aapt2/java/JavaClassGenerator.cpp') diff --git a/tools/aapt2/java/JavaClassGenerator.cpp b/tools/aapt2/java/JavaClassGenerator.cpp index 31d205e1b9c9..5b90d8d31db7 100644 --- a/tools/aapt2/java/JavaClassGenerator.cpp +++ b/tools/aapt2/java/JavaClassGenerator.cpp @@ -304,9 +304,11 @@ void JavaClassGenerator::ProcessStyleable(const ResourceNameRef& name, const Res auto documentation_remove_iter = std::remove_if(documentation_attrs.begin(), documentation_attrs.end(), [&](StyleableAttr entry) -> bool { - StringPiece attr_comment_line = entry.symbol.value().attribute->GetComment(); - return SkipSymbol(entry.symbol) || attr_comment_line.contains("@removed") - || attr_comment_line.contains("@hide"); + if (SkipSymbol(entry.symbol)) { + return true; + } + const StringPiece attr_comment_line = entry.symbol.value().attribute->GetComment(); + return attr_comment_line.contains("@removed") || attr_comment_line.contains("@hide"); }); documentation_attrs.erase(documentation_remove_iter, documentation_attrs.end()); -- cgit v1.2.3