mirror of
https://github.com/vanitasvitae/Smack.git
synced 2025-12-14 06:51:08 +01:00
Support for XEP-0141: Data Forms Layout.
Data Forms layouts are a part of Data Forms and implemented as extensions, added to a Dataform. Fixes issue SMACK-612.
This commit is contained in:
parent
6e569701b3
commit
ff977825da
8 changed files with 726 additions and 0 deletions
|
|
@ -23,6 +23,8 @@ import org.jivesoftware.smack.provider.PacketExtensionProvider;
|
|||
import org.jivesoftware.smack.provider.RosterPacketProvider;
|
||||
import org.jivesoftware.smackx.xdata.FormField;
|
||||
import org.jivesoftware.smackx.xdata.packet.DataForm;
|
||||
import org.jivesoftware.smackx.xdatalayout.packet.DataLayout;
|
||||
import org.jivesoftware.smackx.xdatalayout.provider.DataLayoutProvider;
|
||||
import org.xmlpull.v1.XmlPullParser;
|
||||
import org.xmlpull.v1.XmlPullParserException;
|
||||
|
||||
|
|
@ -64,6 +66,10 @@ public class DataFormProvider extends PacketExtensionProvider<DataForm> {
|
|||
else if (parser.getName().equals(RosterPacket.ELEMENT) && parser.getNamespace().equals(RosterPacket.NAMESPACE)) {
|
||||
dataForm.addExtensionElement(RosterPacketProvider.INSTANCE.parse(parser));
|
||||
}
|
||||
// See XEP-141 Data Forms Layout
|
||||
else if (parser.getName().equals(DataLayout.ELEMENT) && parser.getNamespace().equals(DataLayout.NAMESPACE)) {
|
||||
dataForm.addExtensionElement(DataLayoutProvider.INSTANCE.parse(parser));
|
||||
}
|
||||
} else if (eventType == XmlPullParser.END_TAG) {
|
||||
if (parser.getName().equals(dataForm.getElementName())) {
|
||||
done = true;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue