@Override public CarbonExtension parse(XmlPullParser parser, int initialDepth) throws Exception { Direction dir = Direction.valueOf(parser.getName()); Forwarded fwd = null; boolean done = false; while (!done) { int eventType = parser.next(); if (eventType == XmlPullParser.START_TAG && parser.getName().equals("forwarded")) { fwd = FORWARDED_PROVIDER.parse(parser); } else if (eventType == XmlPullParser.END_TAG && dir == Direction.valueOf(parser.getName())) done = true; } if (fwd == null) throw new SmackException("sent/received must contain exactly one <forwarded> tag"); return new CarbonExtension(dir, fwd); } }
@Override public CarbonExtension parse(XmlPullParser parser, int initialDepth) throws Exception { Direction dir = Direction.valueOf(parser.getName()); Forwarded fwd = null; boolean done = false; while (!done) { int eventType = parser.next(); if (eventType == XmlPullParser.START_TAG && parser.getName().equals("forwarded")) { fwd = FORWARDED_PROVIDER.parse(parser); } else if (eventType == XmlPullParser.END_TAG && dir == Direction.valueOf(parser.getName())) done = true; } if (fwd == null) throw new SmackException("sent/received must contain exactly one <forwarded> tag"); return new CarbonExtension(dir, fwd); } }