code: public OmemoFingerprint getFingerprint(OmemoDevice device)
              throws CannotEstablishOmemoSessionException, SmackException.NotLoggedInException,
              CorruptedOmemoKeyException, SmackException.NotConnectedException, InterruptedException,
              SmackException.NoResponseException {
          synchronized (LOCK) {
              if (getOwnJid() == null) {
                  throw new SmackException.NotLoggedInException();
              }
  
              if (device.equals(getOwnDevice())) {
                  return getOwnFingerprint();
              }
  
              return getOmemoService().getOmemoStoreBackend().getFingerprintAndMaybeBuildSession(new LoggedInOmemoManager(this), device);
          }
      }
docs: Get the fingerprint of a contacts device.
  @param device contacts OmemoDevice
  @return fingerprint
  @throws CannotEstablishOmemoSessionException if we have no session yet, and are unable to create one.
  @throws SmackException.NotLoggedInException
  @throws CorruptedOmemoKeyException if the copy of the fingerprint we have is corrupted.
  @throws SmackException.NotConnectedException
  @throws InterruptedException
  @throws SmackException.NoResponseException