From 265f09429d84ecc8ff0f5fdd6eb5eae9f3b5134b Mon Sep 17 00:00:00 2001 From: corysmith Date: Tue, 14 Aug 2018 10:13:43 -0700 Subject: Optimize the shrinking pass to prevent timeouts. RELNOTES: None PiperOrigin-RevId: 208666806 --- .../devtools/build/android/aapt2/ProtoResourceUsageAnalyzer.java | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/tools/android/java/com/google/devtools/build/android/aapt2/ProtoResourceUsageAnalyzer.java b/src/tools/android/java/com/google/devtools/build/android/aapt2/ProtoResourceUsageAnalyzer.java index a1cd448827..c91ef65754 100644 --- a/src/tools/android/java/com/google/devtools/build/android/aapt2/ProtoResourceUsageAnalyzer.java +++ b/src/tools/android/java/com/google/devtools/build/android/aapt2/ProtoResourceUsageAnalyzer.java @@ -139,7 +139,10 @@ public class ProtoResourceUsageAnalyzer extends ResourceUsageAnalyzer { resource.references.forEach( r -> { referenceLog.put(r, resource); - queue.add(r); + // add if it has not been marked reachable, therefore processed. + if (!reachable.contains(r)) { + queue.add(r); + } }); } // if we see it, it is reachable. -- cgit v1.2.3