package org.asamk.signal; import org.whispersystems.signalservice.api.messages.multidevice.VerifiedMessage; public enum TrustLevel { UNTRUSTED, TRUSTED_UNVERIFIED, TRUSTED_VERIFIED; private static TrustLevel[] cachedValues = null; public static TrustLevel fromInt(int i) { if (TrustLevel.cachedValues == null) { TrustLevel.cachedValues = TrustLevel.values(); } return TrustLevel.cachedValues[i]; } public static TrustLevel fromVerifiedState(VerifiedMessage.VerifiedState verifiedState) { switch (verifiedState) { case DEFAULT: return TRUSTED_UNVERIFIED; case UNVERIFIED: return UNTRUSTED; case VERIFIED: return TRUSTED_VERIFIED; } throw new RuntimeException("Unknown verified state: " + verifiedState); } public VerifiedMessage.VerifiedState toVerifiedState() { switch (this) { case TRUSTED_UNVERIFIED: return VerifiedMessage.VerifiedState.DEFAULT; case UNTRUSTED: return VerifiedMessage.VerifiedState.UNVERIFIED; case TRUSTED_VERIFIED: return VerifiedMessage.VerifiedState.VERIFIED; } throw new RuntimeException("Unknown verified state: " + this); } }