code: public boolean contactSupportsOmemo(BareJid contact)
              throws InterruptedException, PubSubException.NotALeafNodeException, XMPPException.XMPPErrorException,
              SmackException.NotConnectedException, SmackException.NoResponseException {
          synchronized (LOCK) {
              OmemoCachedDeviceList deviceList = getOmemoService().refreshDeviceList(connection(), getOwnDevice(), contact);
              return !deviceList.getActiveDevices().isEmpty();
          }
      }
docs: Returns true, if the contact has any active devices published in a deviceList.
  
  @param contact contact
  @return true if contact has at least one OMEMO capable device.
  @throws SmackException.NotConnectedException
  @throws InterruptedException
  @throws SmackException.NoResponseException
  @throws PubSubException.NotALeafNodeException
  @throws XMPPException.XMPPErrorException