diff --git a/app/src/main/java/com/fastaccess/provider/rest/RestProvider.java b/app/src/main/java/com/fastaccess/provider/rest/RestProvider.java index da402001..d3647355 100644 --- a/app/src/main/java/com/fastaccess/provider/rest/RestProvider.java +++ b/app/src/main/java/com/fastaccess/provider/rest/RestProvider.java @@ -148,11 +148,13 @@ public class RestProvider { } @Nullable public static GitHubErrorResponse getErrorResponse(@NonNull Throwable throwable) { - RetrofitException error = (RetrofitException) throwable; - try { - return error.getErrorBodyAs(GitHubErrorResponse.class); - } catch (IOException e) { - e.printStackTrace(); + if (throwable instanceof RetrofitException) { + RetrofitException error = (RetrofitException) throwable; + try { + return error.getErrorBodyAs(GitHubErrorResponse.class); + } catch (IOException e) { + e.printStackTrace(); + } } return null; } diff --git a/app/src/main/java/com/fastaccess/provider/rest/handler/RxErrorHandlingCallAdapterFactory.java b/app/src/main/java/com/fastaccess/provider/rest/handler/RxErrorHandlingCallAdapterFactory.java index d85b8469..9c589a7e 100644 --- a/app/src/main/java/com/fastaccess/provider/rest/handler/RxErrorHandlingCallAdapterFactory.java +++ b/app/src/main/java/com/fastaccess/provider/rest/handler/RxErrorHandlingCallAdapterFactory.java @@ -3,6 +3,7 @@ package com.fastaccess.provider.rest.handler; import java.io.IOException; import java.lang.annotation.Annotation; import java.lang.reflect.Type; +import java.net.SocketTimeoutException; import retrofit2.Call; import retrofit2.CallAdapter; @@ -53,6 +54,9 @@ public class RxErrorHandlingCallAdapterFactory extends CallAdapter.Factory { } private RetrofitException asRetrofitException(Throwable throwable) { + if (throwable instanceof SocketTimeoutException) { + return RetrofitException.unexpectedError(throwable); + } if (throwable instanceof HttpException) { HttpException httpException = (HttpException) throwable; Response response = httpException.response(); diff --git a/app/src/main/java/com/fastaccess/ui/modules/login/LoginPresenter.java b/app/src/main/java/com/fastaccess/ui/modules/login/LoginPresenter.java index 9235bb7a..15a99d9a 100644 --- a/app/src/main/java/com/fastaccess/ui/modules/login/LoginPresenter.java +++ b/app/src/main/java/com/fastaccess/ui/modules/login/LoginPresenter.java @@ -39,7 +39,7 @@ class LoginPresenter extends BasePresenter implements LoginMvp.Pr } } } - super.onError(throwable); + sendToView(view -> view.showErrorMessage(throwable.getMessage())); } @Override public void onTokenResponse(@Nullable AccessTokenModel modelResponse) {