From 208275b6a92d2ee2749b56e56604b4aa19a8ca93 Mon Sep 17 00:00:00 2001 From: Greyson Parrelli Date: Thu, 23 Apr 2020 11:24:23 -0400 Subject: [PATCH] Improve logging for PinState. --- .../org/thoughtcrime/securesms/pin/PinState.java | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/app/src/main/java/org/thoughtcrime/securesms/pin/PinState.java b/app/src/main/java/org/thoughtcrime/securesms/pin/PinState.java index 581597670f..648e047842 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/pin/PinState.java +++ b/app/src/main/java/org/thoughtcrime/securesms/pin/PinState.java @@ -329,7 +329,13 @@ public final class PinState { } } - throw new IllegalStateException("Expected: " + Arrays.toString(allowed) + ", Actual: " + currentState); + switch (currentState) { + case NO_REGISTRATION_LOCK: throw new InvalidState_NoRegistrationLock(); + case REGISTRATION_LOCK_V1: throw new InvalidState_RegistrationLockV1(); + case PIN_WITH_REGISTRATION_LOCK_ENABLED: throw new InvalidState_PinWithRegistrationLockEnabled(); + case PIN_WITH_REGISTRATION_LOCK_DISABLED: throw new InvalidState_PinWithRegistrationLockDisabled(); + default: throw new IllegalStateException("Expected: " + Arrays.toString(allowed) + ", Actual: " + currentState); + } } private static @NonNull State getState() { @@ -428,4 +434,9 @@ public final class PinState { super(message); } } + + private static class InvalidState_NoRegistrationLock extends IllegalStateException {} + private static class InvalidState_RegistrationLockV1 extends IllegalStateException {} + private static class InvalidState_PinWithRegistrationLockEnabled extends IllegalStateException {} + private static class InvalidState_PinWithRegistrationLockDisabled extends IllegalStateException {} }