]> nmode's Git Repositories - signal-cli/blob - lib/src/main/java/org/asamk/signal/manager/TrustLevel.java
Update libsignal-service-java
[signal-cli] / lib / src / main / java / org / asamk / signal / manager / TrustLevel.java
1 package org.asamk.signal.manager;
2
3 import org.whispersystems.signalservice.api.messages.multidevice.VerifiedMessage;
4
5 public enum TrustLevel {
6 UNTRUSTED,
7 TRUSTED_UNVERIFIED,
8 TRUSTED_VERIFIED;
9
10 private static TrustLevel[] cachedValues = null;
11
12 public static TrustLevel fromInt(int i) {
13 if (TrustLevel.cachedValues == null) {
14 TrustLevel.cachedValues = TrustLevel.values();
15 }
16 return TrustLevel.cachedValues[i];
17 }
18
19 public static TrustLevel fromVerifiedState(VerifiedMessage.VerifiedState verifiedState) {
20 switch (verifiedState) {
21 case DEFAULT:
22 return TRUSTED_UNVERIFIED;
23 case UNVERIFIED:
24 return UNTRUSTED;
25 case VERIFIED:
26 return TRUSTED_VERIFIED;
27 }
28 throw new RuntimeException("Unknown verified state: " + verifiedState);
29 }
30
31 public VerifiedMessage.VerifiedState toVerifiedState() {
32 switch (this) {
33 case TRUSTED_UNVERIFIED:
34 return VerifiedMessage.VerifiedState.DEFAULT;
35 case UNTRUSTED:
36 return VerifiedMessage.VerifiedState.UNVERIFIED;
37 case TRUSTED_VERIFIED:
38 return VerifiedMessage.VerifiedState.VERIFIED;
39 }
40 throw new RuntimeException("Unknown verified state: " + this);
41 }
42 }