From ba23a6677e7a335078fb6fced9a75524e10b2de6 Mon Sep 17 00:00:00 2001 From: Kenny Root Date: Tue, 23 Jul 2013 22:33:50 -0700 Subject: [PATCH] Exclude magic inner-class name from preload Add a magic subclass name that will exclude inner classes that are meant to prevent object instatiation but allow class preloading. This will allow classes that have undesired side-effects to delay initialization until the side-effects are no longer disruptive. Bug: 9984058 Change-Id: I46b0784760d84a2a2da1f9f41d87ee7f70a3fc16 --- tools/preload/Policy.java | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/tools/preload/Policy.java b/tools/preload/Policy.java index ca0291bb9a67..af46820cd460 100644 --- a/tools/preload/Policy.java +++ b/tools/preload/Policy.java @@ -81,8 +81,9 @@ public class Policy { return SERVICES.contains(processName); } - /**Reports if the given class should be preloaded. */ + /** Reports if the given class should be preloaded. */ public static boolean isPreloadable(LoadedClass clazz) { - return clazz.systemClass && !EXCLUDED_CLASSES.contains(clazz.name); + return clazz.systemClass && !EXCLUDED_CLASSES.contains(clazz.name) + && !clazz.name.endsWith("$NoPreloadHolder"); } } -- 2.11.0