summaryrefslogtreecommitdiff
path: root/src/proguard/DataEntryReaderFactory.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/proguard/DataEntryReaderFactory.java')
-rw-r--r--src/proguard/DataEntryReaderFactory.java44
1 files changed, 31 insertions, 13 deletions
diff --git a/src/proguard/DataEntryReaderFactory.java b/src/proguard/DataEntryReaderFactory.java
index 3bf6f56..57f3faa 100644
--- a/src/proguard/DataEntryReaderFactory.java
+++ b/src/proguard/DataEntryReaderFactory.java
@@ -2,7 +2,7 @@
* ProGuard -- shrinking, optimization, obfuscation, and preverification
* of Java bytecode.
*
- * Copyright (c) 2002-2013 Eric Lafortune (eric@graphics.cornell.edu)
+ * Copyright (c) 2002-2014 Eric Lafortune (eric@graphics.cornell.edu)
*
* This program is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License as published by the Free
@@ -48,26 +48,34 @@ public class DataEntryReaderFactory
ClassPathEntry classPathEntry,
DataEntryReader reader)
{
+ boolean isApk = classPathEntry.isApk();
boolean isJar = classPathEntry.isJar();
+ boolean isAar = classPathEntry.isAar();
boolean isWar = classPathEntry.isWar();
boolean isEar = classPathEntry.isEar();
boolean isZip = classPathEntry.isZip();
List filter = classPathEntry.getFilter();
+ List apkFilter = classPathEntry.getApkFilter();
List jarFilter = classPathEntry.getJarFilter();
+ List aarFilter = classPathEntry.getAarFilter();
List warFilter = classPathEntry.getWarFilter();
List earFilter = classPathEntry.getEarFilter();
List zipFilter = classPathEntry.getZipFilter();
System.out.println(messagePrefix +
- (isJar ? "jar" :
+ (isApk ? "apk" :
+ isJar ? "jar" :
+ isAar ? "aar" :
isWar ? "war" :
isEar ? "ear" :
isZip ? "zip" :
"directory") +
" [" + classPathEntry.getName() + "]" +
(filter != null ||
+ apkFilter != null ||
jarFilter != null ||
+ aarFilter != null ||
warFilter != null ||
earFilter != null ||
zipFilter != null ? " (filtered)" : ""));
@@ -81,20 +89,30 @@ public class DataEntryReaderFactory
reader);
}
- // Unzip any jars, if necessary.
- reader = wrapInJarReader(reader, isJar, jarFilter, ".jar");
- if (!isJar)
+ // Unzip any apks, if necessary.
+ reader = wrapInJarReader(reader, isApk, apkFilter, ".apk");
+ if (!isApk)
{
- // Unzip any wars, if necessary.
- reader = wrapInJarReader(reader, isWar, warFilter, ".war");
- if (!isWar)
+ // Unzip any jars, if necessary.
+ reader = wrapInJarReader(reader, isJar, jarFilter, ".jar");
+ if (!isJar)
{
- // Unzip any ears, if necessary.
- reader = wrapInJarReader(reader, isEar, earFilter, ".ear");
- if (!isEar)
+ // Unzip any aars, if necessary.
+ reader = wrapInJarReader(reader, isAar, aarFilter, ".aar");
+ if (!isAar)
{
- // Unzip any zips, if necessary.
- reader = wrapInJarReader(reader, isZip, zipFilter, ".zip");
+ // Unzip any wars, if necessary.
+ reader = wrapInJarReader(reader, isWar, warFilter, ".war");
+ if (!isWar)
+ {
+ // Unzip any ears, if necessary.
+ reader = wrapInJarReader(reader, isEar, earFilter, ".ear");
+ if (!isEar)
+ {
+ // Unzip any zips, if necessary.
+ reader = wrapInJarReader(reader, isZip, zipFilter, ".zip");
+ }
+ }
}
}
}