/** {@inheritDoc} */ @Override public boolean accept(String className) { for (ClassNameFilter filter : mFilters) { if (!filter.accept(className)) { return false; } } return true; }
/** * Gets the names of all entries contained in given apk file, that match given filter. * * @throws IOException */ private void addEntriesFromApk(Set<String> entryNames, String apkPath, ClassNameFilter filter) throws IOException { DexFile dexFile = null; try { dexFile = new DexFile(apkPath); Enumeration<String> apkClassNames = getDexEntries(dexFile); while (apkClassNames.hasMoreElements()) { String apkClassName = apkClassNames.nextElement(); if (filter.accept(apkClassName)) { entryNames.add(apkClassName); } } } finally { if (dexFile != null) { dexFile.close(); } } }