Skip to content

Commit 436a1c9

Browse files
author
Simon Pinfold
committed
Added support for parsing and displaying response parameters in received messages
1 parent 77ec2ca commit 436a1c9

File tree

1 file changed

+17
-0
lines changed

1 file changed

+17
-0
lines changed

app/src/main/java/com/imgtec/hobbyist/flow/AsyncMessage.java

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -93,19 +93,36 @@ public void setNodesFromXml(String xml) {
9393
xpp = factory.newPullParser();
9494
xpp.setInput(new StringReader(xml));
9595
int eventType = xpp.getEventType();
96+
9697
while (eventType != XmlPullParser.END_DOCUMENT) {
9798
if (eventType == XmlPullParser.START_TAG) {
9899
final MessageType messageType = MessageType.retrieveMessageTypeFromXmlTag(xpp.getName());
100+
int start = xpp.getColumnNumber();
99101
if (messageType != null && !messageType.equals(MessageType.EMPTY)) {
100102
setType(messageType);
103+
} else if (xpp.getName().equals("responseparams")){
104+
eventType = xpp.next();
105+
106+
int end = start;
107+
while (true){
108+
if (eventType == XmlPullParser.END_TAG && xpp.getName().equals("responseparams")){
109+
break;
110+
}
111+
end = xpp.getColumnNumber();
112+
eventType = xpp.next();
113+
}
114+
115+
addNode("responseparams", xml.substring(start-1, end-1));
101116
} else {
102117
addNode(xpp.getName(), xpp.nextText());
103118
}
104119
}
120+
105121
eventType = xpp.next();
106122
}
107123
} catch (XmlPullParserException | IOException e) {
108124
DebugLogger.log(getClass().getSimpleName(), "parsing xml failed");
125+
e.printStackTrace();
109126
}
110127
}
111128

0 commit comments

Comments
 (0)