Merge "Fix broken XML parsing idiom."

This commit is contained in:
Narayan Kamath
2014-01-07 10:02:57 +00:00
committed by Gerrit Code Review
3 changed files with 19 additions and 3 deletions

View File

@@ -64,9 +64,14 @@ public final class CompatModePackages {
XmlPullParser parser = Xml.newPullParser(); XmlPullParser parser = Xml.newPullParser();
parser.setInput(fis, null); parser.setInput(fis, null);
int eventType = parser.getEventType(); int eventType = parser.getEventType();
while (eventType != XmlPullParser.START_TAG) { while (eventType != XmlPullParser.START_TAG &&
eventType != XmlPullParser.END_DOCUMENT) {
eventType = parser.next(); eventType = parser.next();
} }
if (eventType == XmlPullParser.END_DOCUMENT) {
return;
}
String tagName = parser.getName(); String tagName = parser.getName();
if ("compat-packages".equals(tagName)) { if ("compat-packages".equals(tagName)) {
eventType = parser.next(); eventType = parser.next();

View File

@@ -396,9 +396,14 @@ public final class UsageStatsService extends IUsageStats.Stub {
XmlPullParser parser = Xml.newPullParser(); XmlPullParser parser = Xml.newPullParser();
parser.setInput(fis, null); parser.setInput(fis, null);
int eventType = parser.getEventType(); int eventType = parser.getEventType();
while (eventType != XmlPullParser.START_TAG) { while (eventType != XmlPullParser.START_TAG &&
eventType != XmlPullParser.END_DOCUMENT) {
eventType = parser.next(); eventType = parser.next();
} }
if (eventType == XmlPullParser.END_DOCUMENT) {
return;
}
String tagName = parser.getName(); String tagName = parser.getName();
if ("usage-history".equals(tagName)) { if ("usage-history".equals(tagName)) {
String pkg = null; String pkg = null;

View File

@@ -1697,9 +1697,15 @@ public class SyncStorageEngine extends Handler {
XmlPullParser parser = Xml.newPullParser(); XmlPullParser parser = Xml.newPullParser();
parser.setInput(fis, null); parser.setInput(fis, null);
int eventType = parser.getEventType(); int eventType = parser.getEventType();
while (eventType != XmlPullParser.START_TAG) { while (eventType != XmlPullParser.START_TAG &&
eventType != XmlPullParser.END_DOCUMENT) {
eventType = parser.next(); eventType = parser.next();
} }
if (eventType == XmlPullParser.END_DOCUMENT) {
Log.i(TAG, "No initial accounts");
return;
}
String tagName = parser.getName(); String tagName = parser.getName();
if ("accounts".equals(tagName)) { if ("accounts".equals(tagName)) {
String listen = parser.getAttributeValue(null, XML_ATTR_LISTEN_FOR_TICKLES); String listen = parser.getAttributeValue(null, XML_ATTR_LISTEN_FOR_TICKLES);