diff options
author | Stefan Niedermann <info@niedermann.it> | 2022-01-17 14:05:24 +0300 |
---|---|---|
committer | Stefan Niedermann <info@niedermann.it> | 2022-01-17 14:05:24 +0300 |
commit | 83e5789646de7717f2f3128b73574c9c4bd3bbc0 (patch) | |
tree | 316cce32975fced008604be1091096a4a52bf95a /app/src/main/java/it | |
parent | 7a1a8a2137c066f00bb7ac874706228bf7986347 (diff) |
Add unit tests for ServerCommunicationErrorHandler
Signed-off-by: Stefan Niedermann <info@niedermann.it>
Diffstat (limited to 'app/src/main/java/it')
-rw-r--r-- | app/src/main/java/it/niedermann/nextcloud/deck/api/ServerCommunicationErrorHandler.java | 24 |
1 files changed, 13 insertions, 11 deletions
diff --git a/app/src/main/java/it/niedermann/nextcloud/deck/api/ServerCommunicationErrorHandler.java b/app/src/main/java/it/niedermann/nextcloud/deck/api/ServerCommunicationErrorHandler.java index 7a12d2062..1dfa0e706 100644 --- a/app/src/main/java/it/niedermann/nextcloud/deck/api/ServerCommunicationErrorHandler.java +++ b/app/src/main/java/it/niedermann/nextcloud/deck/api/ServerCommunicationErrorHandler.java @@ -1,5 +1,7 @@ package it.niedermann.nextcloud.deck.api; +import androidx.annotation.NonNull; + import com.nextcloud.android.sso.exceptions.UnknownErrorException; import java.util.Objects; @@ -10,30 +12,30 @@ public class ServerCommunicationErrorHandler { public static Throwable translateError(Throwable error) { try { if (error.getClass() == UnknownErrorException.class) { - return handleSsoExceptions(error); + return handleSsoExceptions((UnknownErrorException) error); } else if (error.getClass() == ClassNotFoundException.class) { - return handleClassNotFoundError(error); + return handleClassNotFoundError((ClassNotFoundException) error); + } else { + return error; } } catch (NullPointerException e) { return error; } + } + private static Throwable handleSsoExceptions(@NonNull UnknownErrorException error) { + final String message = Objects.requireNonNull(error.getMessage(), "SSO handler got no ExceptionMessage").toLowerCase(); + if (message.contains("econnrefused") || message.contains("connection refused")) { + return new OfflineException(OfflineException.Reason.CONNECTION_REFUSED); + } return error; } - private static Throwable handleClassNotFoundError(Throwable error) { + private static Throwable handleClassNotFoundError(@NonNull ClassNotFoundException error) { final String message = Objects.requireNonNull(error.getMessage(), "ClassNotFound handler got no ExceptionMessage").toLowerCase(); if (message.contains("connecttimeoutexception")) { return new OfflineException(OfflineException.Reason.CONNECTION_TIMEOUT); } return error; } - - private static Throwable handleSsoExceptions(Throwable error) { - final String message = Objects.requireNonNull(error.getMessage(), "SSO handler got no ExceptionMessage").toLowerCase(); - if (message.contains("econnrefused") || message.contains("connection refused")) { - return new OfflineException(OfflineException.Reason.CONNECTION_REFUSED); - } - return error; - } } |