]> nmode's Git Repositories - signal-cli/blob - lib/src/main/java/org/asamk/signal/manager/storage/identities/IdentityInfo.java
d00d455c8aec3acaac69ba8fb7cd27a0c1511c92
[signal-cli] / lib / src / main / java / org / asamk / signal / manager / storage / identities / IdentityInfo.java
1 package org.asamk.signal.manager.storage.identities;
2
3 import org.asamk.signal.manager.api.TrustLevel;
4 import org.signal.libsignal.protocol.IdentityKey;
5 import org.whispersystems.signalservice.api.push.ServiceId;
6
7 public class IdentityInfo {
8
9 private final String address;
10 private final IdentityKey identityKey;
11 private final TrustLevel trustLevel;
12 private final long addedTimestamp;
13
14 IdentityInfo(
15 final String address, IdentityKey identityKey, TrustLevel trustLevel, long addedTimestamp
16 ) {
17 this.address = address;
18 this.identityKey = identityKey;
19 this.trustLevel = trustLevel;
20 this.addedTimestamp = addedTimestamp;
21 }
22
23 public ServiceId getServiceId() {
24 return ServiceId.parseOrThrow(address);
25 }
26
27 public String getAddress() {
28 return address;
29 }
30
31 public IdentityKey getIdentityKey() {
32 return this.identityKey;
33 }
34
35 public TrustLevel getTrustLevel() {
36 return this.trustLevel;
37 }
38
39 boolean isTrusted() {
40 return trustLevel == TrustLevel.TRUSTED_UNVERIFIED || trustLevel == TrustLevel.TRUSTED_VERIFIED;
41 }
42
43 public long getDateAddedTimestamp() {
44 return this.addedTimestamp;
45 }
46 }