summaryrefslogtreecommitdiff
path: root/tools/aapt2/java/ProguardRules.cpp
diff options
context:
space:
mode:
authorJeremy Woods <jbwoods@google.com>2020-02-28 19:42:38 -0800
committerJeremy Woods <jbwoods@google.com>2020-03-05 13:06:26 -0800
commit4bdc698d9f8fb4f85464d554cabeb954104ec0a3 (patch)
tree46743fa8eb5aa50519e0a7c087bdc06d159ae378 /tools/aapt2/java/ProguardRules.cpp
parent3d2b3a114badb65e70d5c8be02eeeb4ebde1d954 (diff)
Generate "keep" rules for android:name and class attributes
We should keep classes that are in the android:name or class xml attributes. Test: m -j aapt2_tests Bug: 142601969 Change-Id: Ia67365bd702bae75d38b9572d68e9930e856e0f8
Diffstat (limited to 'tools/aapt2/java/ProguardRules.cpp')
-rw-r--r--tools/aapt2/java/ProguardRules.cpp9
1 files changed, 2 insertions, 7 deletions
diff --git a/tools/aapt2/java/ProguardRules.cpp b/tools/aapt2/java/ProguardRules.cpp
index 806f4e37e22a..ff7f5c12404c 100644
--- a/tools/aapt2/java/ProguardRules.cpp
+++ b/tools/aapt2/java/ProguardRules.cpp
@@ -115,15 +115,10 @@ class LayoutVisitor : public BaseVisitor {
void Visit(xml::Element* node) override {
bool is_view = false;
- bool is_fragment = false;
if (node->namespace_uri.empty()) {
if (node->name == "view") {
is_view = true;
- } else if (node->name == "fragment") {
- is_fragment = true;
}
- } else if (node->namespace_uri == xml::kSchemaAndroid) {
- is_fragment = node->name == "fragment";
}
for (const auto& attr : node->attributes) {
@@ -132,12 +127,12 @@ class LayoutVisitor : public BaseVisitor {
if (is_view) {
AddClass(node->line_number, attr.value,
"android.content.Context, android.util.AttributeSet");
- } else if (is_fragment) {
+ } else {
AddClass(node->line_number, attr.value, "");
}
}
} else if (attr.namespace_uri == xml::kSchemaAndroid && attr.name == "name") {
- if (is_fragment && util::IsJavaClassName(attr.value)) {
+ if (util::IsJavaClassName(attr.value)) {
AddClass(node->line_number, attr.value, "");
}
} else if (attr.namespace_uri == xml::kSchemaAndroid && attr.name == "onClick") {