encryptToDevice property

bool get encryptToDevice

Implementation

bool get encryptToDevice {
  if (blocked) return false;

  if (identifier == null || ed25519Key == null) return false;

  switch (client.shareKeysWith) {
    case ShareKeysWith.all:
      return true;
    case ShareKeysWith.crossVerifiedIfEnabled:
      if (client.userDeviceKeys[userId]?.masterKey == null) return true;
      return hasValidSignatureChain(verifiedByTheirMasterKey: true);
    case ShareKeysWith.crossVerified:
      return hasValidSignatureChain(verifiedByTheirMasterKey: true);
    case ShareKeysWith.directlyVerifiedOnly:
      return directVerified;
  }
}