summaryrefslogtreecommitdiffstats
path: root/mobile/android/services/src/main/java/org/mozilla/gecko/background/fxa/FxAccountClientException.java
diff options
context:
space:
mode:
Diffstat (limited to 'mobile/android/services/src/main/java/org/mozilla/gecko/background/fxa/FxAccountClientException.java')
-rw-r--r--mobile/android/services/src/main/java/org/mozilla/gecko/background/fxa/FxAccountClientException.java133
1 files changed, 0 insertions, 133 deletions
diff --git a/mobile/android/services/src/main/java/org/mozilla/gecko/background/fxa/FxAccountClientException.java b/mobile/android/services/src/main/java/org/mozilla/gecko/background/fxa/FxAccountClientException.java
deleted file mode 100644
index 28ee5630e..000000000
--- a/mobile/android/services/src/main/java/org/mozilla/gecko/background/fxa/FxAccountClientException.java
+++ /dev/null
@@ -1,133 +0,0 @@
-/* This Source Code Form is subject to the terms of the Mozilla Public
- * License, v. 2.0. If a copy of the MPL was not distributed with this
- * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
-
-package org.mozilla.gecko.background.fxa;
-
-import org.mozilla.gecko.R;
-import org.mozilla.gecko.sync.ExtendedJSONObject;
-import org.mozilla.gecko.sync.HTTPFailureException;
-import org.mozilla.gecko.sync.net.SyncStorageResponse;
-
-import ch.boye.httpclientandroidlib.HttpResponse;
-import ch.boye.httpclientandroidlib.HttpStatus;
-
-/**
- * From <a href="https://github.com/mozilla/fxa-auth-server/blob/master/docs/api.md">https://github.com/mozilla/fxa-auth-server/blob/master/docs/api.md</a>.
- */
-public class FxAccountClientException extends Exception {
- private static final long serialVersionUID = 7953459541558266597L;
-
- public FxAccountClientException(String detailMessage) {
- super(detailMessage);
- }
-
- public FxAccountClientException(Exception e) {
- super(e);
- }
-
- public static class FxAccountClientRemoteException extends FxAccountClientException {
- private static final long serialVersionUID = 2209313149952001097L;
-
- public final HttpResponse response;
- public final long httpStatusCode;
- public final long apiErrorNumber;
- public final String error;
- public final String message;
- public final String info;
- public final ExtendedJSONObject body;
-
- public FxAccountClientRemoteException(HttpResponse response, long httpStatusCode, long apiErrorNumber, String error, String message, String info, ExtendedJSONObject body) {
- super(new HTTPFailureException(new SyncStorageResponse(response)));
- if (body == null) {
- throw new IllegalArgumentException("body must not be null");
- }
- this.response = response;
- this.httpStatusCode = httpStatusCode;
- this.apiErrorNumber = apiErrorNumber;
- this.error = error;
- this.message = message;
- this.info = info;
- this.body = body;
- }
-
- @Override
- public String toString() {
- return "<FxAccountClientRemoteException " + this.httpStatusCode + " [" + this.apiErrorNumber + "]: " + this.message + ">";
- }
-
- public boolean isInvalidAuthentication() {
- return httpStatusCode == HttpStatus.SC_UNAUTHORIZED;
- }
-
- public boolean isAccountAlreadyExists() {
- return apiErrorNumber == FxAccountRemoteError.ATTEMPT_TO_CREATE_AN_ACCOUNT_THAT_ALREADY_EXISTS;
- }
-
- public boolean isAccountDoesNotExist() {
- return apiErrorNumber == FxAccountRemoteError.ATTEMPT_TO_ACCESS_AN_ACCOUNT_THAT_DOES_NOT_EXIST;
- }
-
- public boolean isBadPassword() {
- return apiErrorNumber == FxAccountRemoteError.INCORRECT_PASSWORD;
- }
-
- public boolean isUnverified() {
- return apiErrorNumber == FxAccountRemoteError.ATTEMPT_TO_OPERATE_ON_AN_UNVERIFIED_ACCOUNT;
- }
-
- public boolean isUpgradeRequired() {
- return
- apiErrorNumber == FxAccountRemoteError.ENDPOINT_IS_NO_LONGER_SUPPORTED ||
- apiErrorNumber == FxAccountRemoteError.INCORRECT_LOGIN_METHOD_FOR_THIS_ACCOUNT ||
- apiErrorNumber == FxAccountRemoteError.INCORRECT_KEY_RETRIEVAL_METHOD_FOR_THIS_ACCOUNT ||
- apiErrorNumber == FxAccountRemoteError.INCORRECT_API_VERSION_FOR_THIS_ACCOUNT;
- }
-
- public boolean isTooManyRequests() {
- return apiErrorNumber == FxAccountRemoteError.CLIENT_HAS_SENT_TOO_MANY_REQUESTS;
- }
-
- public boolean isServerUnavailable() {
- return apiErrorNumber == FxAccountRemoteError.SERVICE_TEMPORARILY_UNAVAILABLE_DUE_TO_HIGH_LOAD;
- }
-
- public boolean isBadEmailCase() {
- return apiErrorNumber == FxAccountRemoteError.INCORRECT_EMAIL_CASE;
- }
-
- public boolean isAccountLocked() {
- return apiErrorNumber == FxAccountRemoteError.ACCOUNT_LOCKED;
- }
-
- public int getErrorMessageStringResource() {
- if (isUpgradeRequired()) {
- return R.string.fxaccount_remote_error_UPGRADE_REQUIRED;
- } else if (isAccountAlreadyExists()) {
- return R.string.fxaccount_remote_error_ATTEMPT_TO_CREATE_AN_ACCOUNT_THAT_ALREADY_EXISTS;
- } else if (isAccountDoesNotExist()) {
- return R.string.fxaccount_remote_error_ATTEMPT_TO_ACCESS_AN_ACCOUNT_THAT_DOES_NOT_EXIST;
- } else if (isBadPassword()) {
- return R.string.fxaccount_remote_error_INCORRECT_PASSWORD;
- } else if (isUnverified()) {
- return R.string.fxaccount_remote_error_ATTEMPT_TO_OPERATE_ON_AN_UNVERIFIED_ACCOUNT;
- } else if (isTooManyRequests()) {
- return R.string.fxaccount_remote_error_CLIENT_HAS_SENT_TOO_MANY_REQUESTS;
- } else if (isServerUnavailable()) {
- return R.string.fxaccount_remote_error_SERVICE_TEMPORARILY_UNAVAILABLE_TO_DUE_HIGH_LOAD;
- } else if (isAccountLocked()) {
- return R.string.fxaccount_remote_error_ACCOUNT_LOCKED;
- } else {
- return R.string.fxaccount_remote_error_UNKNOWN_ERROR;
- }
- }
- }
-
- public static class FxAccountClientMalformedResponseException extends FxAccountClientRemoteException {
- private static final long serialVersionUID = 2209313149952001098L;
-
- public FxAccountClientMalformedResponseException(HttpResponse response) {
- super(response, 0, FxAccountRemoteError.UNKNOWN_ERROR, "Response malformed", "Response malformed", "Response malformed", new ExtendedJSONObject());
- }
- }
-}