I've been trying to listen for PEP event from my server using asmack. I modify the avatar event publish event a little bit on my server side. My android client didn't show the packet on the debugger. I'm using asmack library from https://github.com/Flowdalic/asmack/
<message from='jenggotz@192.168.202.121' to='jenggotz@192.168.202.121/2346608911361516490425217' type='headline'>
<event xmlns='http://jabber.org/protocol/pubsub#event'>
<items node='urn:xmpp:avatar:metadata'>
<item id='111f4b3c50d7b0df729d299bc6f8e9ef9066971f'>
<metadata xmlns='my:avatar:metadata'>0,0,0</metadata>
</item>
</items>
</event>
<addresses xmlns='http://jabber.org/protocol/address'>
<address type='replyto' jid='jenggotz@192.168.202.121/2346608911361516490425217'/>
</addresses>
</message>
I've registered the provider for the event before connecting.
ProviderManager pm = ProviderManager.getInstance();
PEPProvider prov = new AwawaProvider();
prov.registerPEPParserExtension("urn:xmpp:avatar:metadata",new AvatarProvider());
pm.addExtensionProvider("event","http://jabber.org/protocol/pubsub#event",prov);
AwawaProvider is just an extension of PEPProvider, but I call android logging function on parseExtension.
publicclass AwawaProvider extends PEPProvider { @Override public PacketExtension parseExtension(XmlPullParser arg0) throws Exception { Log.e("PEPAWA", "AS"); return super.parseExtension(arg0); }}
But the log didn't show it and my stanza didn't shown on the debug log. So I conclude that I don't register my provider in the right way. When I try to get ExtensionProviders on ProviderManager, it shows that I already put it in. Did I miss something in my code?
Thanks in advance