summaryrefslogtreecommitdiffstats
path: root/tools/layoutlib/bridge/src/com/android/layoutlib/bridge/impl/ParserFactory.java
diff options
context:
space:
mode:
authorWolfgang Wiedmeyer <wolfgit@wiedmeyer.de>2016-03-18 10:36:07 +0100
committerWolfgang Wiedmeyer <wolfgit@wiedmeyer.de>2016-03-18 10:36:07 +0100
commit813d4309fb2144b96ffcd644c71a30aadc50fd1e (patch)
tree532609cc34968f682701176114c484f5278b8349 /tools/layoutlib/bridge/src/com/android/layoutlib/bridge/impl/ParserFactory.java
parent8bc386657e4bd582ea0897410523e27230a8e157 (diff)
parentdf301d4a64fe0dfc812b39e3f7e2c2ca4b93c305 (diff)
downloadframeworks_base-replicant-6.0-alpha-0004.zip
frameworks_base-replicant-6.0-alpha-0004.tar.gz
frameworks_base-replicant-6.0-alpha-0004.tar.bz2
Merge branch 'cm-13.0' of https://github.com/CyanogenMod/android_frameworks_base into replicant-6.0replicant-6.0-alpha-0004
Diffstat (limited to 'tools/layoutlib/bridge/src/com/android/layoutlib/bridge/impl/ParserFactory.java')
-rw-r--r--tools/layoutlib/bridge/src/com/android/layoutlib/bridge/impl/ParserFactory.java19
1 files changed, 15 insertions, 4 deletions
diff --git a/tools/layoutlib/bridge/src/com/android/layoutlib/bridge/impl/ParserFactory.java b/tools/layoutlib/bridge/src/com/android/layoutlib/bridge/impl/ParserFactory.java
index 6e67f59..e273b2c 100644
--- a/tools/layoutlib/bridge/src/com/android/layoutlib/bridge/impl/ParserFactory.java
+++ b/tools/layoutlib/bridge/src/com/android/layoutlib/bridge/impl/ParserFactory.java
@@ -53,24 +53,35 @@ public class ParserFactory {
@NonNull
public static XmlPullParser create(@NonNull File f)
throws XmlPullParserException, FileNotFoundException {
- InputStream stream = new FileInputStream(f);
- return create(stream, f.getName(), f.length());
+ return create(f, false);
}
+ public static XmlPullParser create(@NonNull File f, boolean isLayout)
+ throws XmlPullParserException, FileNotFoundException {
+ InputStream stream = new FileInputStream(f);
+ return create(stream, f.getName(), f.length(), isLayout);
+ }
@NonNull
public static XmlPullParser create(@NonNull InputStream stream, @Nullable String name)
throws XmlPullParserException {
- return create(stream, name, -1);
+ return create(stream, name, -1, false);
}
@NonNull
private static XmlPullParser create(@NonNull InputStream stream, @Nullable String name,
- long size) throws XmlPullParserException {
+ long size, boolean isLayout) throws XmlPullParserException {
XmlPullParser parser = instantiateParser(name);
stream = readAndClose(stream, name, size);
parser.setInput(stream, ENCODING);
+ if (isLayout) {
+ try {
+ return new LayoutParserWrapper(parser).peekTillLayoutStart();
+ } catch (IOException e) {
+ throw new XmlPullParserException(null, parser, e);
+ }
+ }
return parser;
}