diff options
author | Wolfgang Wiedmeyer <wolfgit@wiedmeyer.de> | 2016-03-18 10:36:07 +0100 |
---|---|---|
committer | Wolfgang Wiedmeyer <wolfgit@wiedmeyer.de> | 2016-03-18 10:36:07 +0100 |
commit | 813d4309fb2144b96ffcd644c71a30aadc50fd1e (patch) | |
tree | 532609cc34968f682701176114c484f5278b8349 /tools/layoutlib/bridge/src/com/android/layoutlib/bridge/impl/ParserFactory.java | |
parent | 8bc386657e4bd582ea0897410523e27230a8e157 (diff) | |
parent | df301d4a64fe0dfc812b39e3f7e2c2ca4b93c305 (diff) | |
download | frameworks_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.java | 19 |
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; } |