1
0
Fork 0
mirror of https://codeberg.org/Mercury-IM/Smack synced 2025-09-10 18:59:41 +02:00

Add support for "Caps Optimizations"

Smack's previous entity caps implementation assumed that an entity lost
its entity caps feature as soon as a presence without caps from that
entity was received. But according to XEP-0115 § 8.4, this is a
perfectly normal optimization technique. We now reset the caps state
after an available presence becomes unavailable.

Also introduce PresenceEventListener, which is required for this
feature.

Also make Roster.preApprove() take a BareJid as argument.

Fixes SMACK-723.
This commit is contained in:
Florian Schmaus 2016-06-30 17:01:46 +02:00
parent 4248fbbb89
commit d07ed60737
8 changed files with 280 additions and 22 deletions

View file

@ -73,7 +73,7 @@ public class SubscriptionPreApprovalTest extends InitSmackIm {
@Test(expected=FeatureNotSupportedException.class)
public void testPreApprovalNotSupported() throws Throwable {
final Jid contactJID = JidCreate.from("preapproval@example.com");
roster.preApprove(contactJID);
roster.preApprove(contactJID.asBareJid());
}
@Test