OSDN Git Service

am 4f133894: Exclude KXmlParser from LayoutLib.
[android-x86/frameworks-base.git] / tools / layoutlib / create / src / com / android / tools / layoutlib / create / CreateInfo.java
index 89cbaeb..f20b890 100644 (file)
@@ -23,6 +23,10 @@ import com.android.tools.layoutlib.java.IntegralToString;
 import com.android.tools.layoutlib.java.Objects;
 import com.android.tools.layoutlib.java.UnsafeByteSequence;
 
+import java.util.Arrays;
+import java.util.HashSet;
+import java.util.Set;
+
 /**
  * Describes the work to be done by {@link AsmGenerator}.
  */
@@ -98,6 +102,17 @@ public final class CreateInfo implements ICreateInfo {
     public String[] getJavaPkgClasses() {
       return JAVA_PKG_CLASSES;
     }
+
+    public Set<String> getExcludedClasses() {
+        String[] refactoredClasses = getJavaPkgClasses();
+        int count = refactoredClasses.length / 2 + EXCLUDED_CLASSES.length;
+        Set<String> excludedClasses = new HashSet<String>(count);
+        for (int i = 0; i < refactoredClasses.length; i+=2) {
+            excludedClasses.add(refactoredClasses[i]);
+        }
+        excludedClasses.addAll(Arrays.asList(EXCLUDED_CLASSES));
+        return excludedClasses;
+    }
     //-----
 
     /**
@@ -243,6 +258,11 @@ public final class CreateInfo implements ICreateInfo {
             "java.lang.UnsafeByteSequence",                    "com.android.tools.layoutlib.java.UnsafeByteSequence",
         };
 
+    private final static String[] EXCLUDED_CLASSES =
+        new String[] {
+            "org.kxml2.io.KXmlParser"
+        };
+
     /**
      * List of classes for which the methods returning them should be deleted.
      * The array contains a list of null terminated section starting with the name of the class