private static OmemoDeviceListElement fetchDeviceList ( XMPPConnection connection , BareJid contact ) throws InterruptedException , PubSubException . NotALeafNodeException , SmackException . NoResponseException , SmackException . NotConnectedException , XMPPException . XMPPErrorException , PubSubException . NotAPubSubNodeException { PubSubManager pm = PubSubManager . getInstanceFor ( connection , contact ) ; String nodeName = OmemoConstants . PEP_NODE_DEVICE_LIST ; LeafNode node = pm . getLeafNode ( nodeName ) ; if ( node == null ) { return null ; } List < PayloadItem < OmemoDeviceListElement > > items = node . getItems ( ) ; if ( items . isEmpty ( ) ) { return null ; } return items . get ( items . size ( ) - 1 ) . getPayload ( ) ; }
Retrieve the OMEMO device list of a contact .