]> nmode's Git Repositories - signal-cli/blob - lib/src/main/java/org/asamk/signal/manager/api/Identity.java
4f6f21f6c8b55501635b7b859060eb558488035c
[signal-cli] / lib / src / main / java / org / asamk / signal / manager / api / Identity.java
1 package org.asamk.signal.manager.api;
2
3 import org.asamk.signal.manager.TrustLevel;
4 import org.asamk.signal.manager.storage.recipients.RecipientAddress;
5 import org.whispersystems.libsignal.IdentityKey;
6
7 import java.util.Date;
8
9 public class Identity {
10
11 private final RecipientAddress recipient;
12 private final IdentityKey identityKey;
13 private final String safetyNumber;
14 private final byte[] scannableSafetyNumber;
15 private final TrustLevel trustLevel;
16 private final Date dateAdded;
17
18 public Identity(
19 final RecipientAddress recipient,
20 final IdentityKey identityKey,
21 final String safetyNumber,
22 final byte[] scannableSafetyNumber,
23 final TrustLevel trustLevel,
24 final Date dateAdded
25 ) {
26 this.recipient = recipient;
27 this.identityKey = identityKey;
28 this.safetyNumber = safetyNumber;
29 this.scannableSafetyNumber = scannableSafetyNumber;
30 this.trustLevel = trustLevel;
31 this.dateAdded = dateAdded;
32 }
33
34 public RecipientAddress getRecipient() {
35 return recipient;
36 }
37
38 public IdentityKey getIdentityKey() {
39 return this.identityKey;
40 }
41
42 public TrustLevel getTrustLevel() {
43 return this.trustLevel;
44 }
45
46 boolean isTrusted() {
47 return trustLevel == TrustLevel.TRUSTED_UNVERIFIED || trustLevel == TrustLevel.TRUSTED_VERIFIED;
48 }
49
50 public Date getDateAdded() {
51 return this.dateAdded;
52 }
53
54 public byte[] getFingerprint() {
55 return identityKey.getPublicKey().serialize();
56 }
57
58 public String getSafetyNumber() {
59 return safetyNumber;
60 }
61
62 public byte[] getScannableSafetyNumber() {
63 return scannableSafetyNumber;
64 }
65 }