| Index: chrome/android/java/src/org/chromium/chrome/browser/sync/GoogleServiceAuthError.java
|
| diff --git a/chrome/android/java/src/org/chromium/chrome/browser/sync/GoogleServiceAuthError.java b/chrome/android/java/src/org/chromium/chrome/browser/sync/GoogleServiceAuthError.java
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..4ac498fa14f11f10414ebd426ffc4aa486e2843d
|
| --- /dev/null
|
| +++ b/chrome/android/java/src/org/chromium/chrome/browser/sync/GoogleServiceAuthError.java
|
| @@ -0,0 +1,88 @@
|
| +// Copyright 2013 The Chromium Authors. All rights reserved.
|
| +// Use of this source code is governed by a BSD-style license that can be
|
| +// found in the LICENSE file.
|
| +
|
| +package org.chromium.chrome.browser.sync;
|
| +
|
| +import org.chromium.chrome.R;
|
| +
|
| +/**
|
| + * This class mirrors the native GoogleServiceAuthError class State enum from:
|
| + * google_apis/gaia/google_service_auth_error.h.
|
| + */
|
| +public class GoogleServiceAuthError {
|
| +
|
| + public enum State {
|
| + // The user is authenticated.
|
| + NONE(0, R.string.sync_error_generic),
|
| +
|
| + // The credentials supplied to GAIA were either invalid, or the locally
|
| + // cached credentials have expired.
|
| + INVALID_GAIA_CREDENTIALS(1, R.string.sync_error_ga),
|
| +
|
| + // The GAIA user is not authorized to use the service.
|
| + USER_NOT_SIGNED_UP(2, R.string.sync_error_generic),
|
| +
|
| + // Could not connect to server to verify credentials. This could be in
|
| + // response to either failure to connect to GAIA or failure to connect to
|
| + // the service needing GAIA tokens during authentication.
|
| + CONNECTION_FAILED(3, R.string.sync_error_connection),
|
| +
|
| + // The user needs to satisfy a CAPTCHA challenge to unlock their account.
|
| + // If no other information is available, this can be resolved by visiting
|
| + // https://www.google.com/accounts/DisplayUnlockCaptcha. Otherwise,
|
| + // captcha() will provide details about the associated challenge.
|
| + CAPTCHA_REQUIRED(4, R.string.sync_error_generic),
|
| +
|
| + // The user account has been deleted.
|
| + ACCOUNT_DELETED(5, R.string.sync_error_generic),
|
| +
|
| + // The user account has been disabled.
|
| + ACCOUNT_DISABLED(6, R.string.sync_error_generic),
|
| +
|
| + // The service is not available; try again later.
|
| + SERVICE_UNAVAILABLE(7, R.string.sync_error_service_unavailable),
|
| +
|
| + // The password is valid but we need two factor to get a token.
|
| + TWO_FACTOR(8, R.string.sync_error_generic),
|
| +
|
| + // The requestor of the authentication step cancelled the request
|
| + // prior to completion.
|
| + REQUEST_CANCELED(9, R.string.sync_error_generic),
|
| +
|
| + // The user has provided a HOSTED account, when this service requires
|
| + // a GOOGLE account.
|
| + HOSTED_NOT_ALLOWED(10, R.string.sync_error_domain);
|
| +
|
| + private final int mCode;
|
| + private final int mMessage;
|
| +
|
| + State(int code, int message) {
|
| + mCode = code;
|
| + mMessage = message;
|
| + }
|
| +
|
| + public static State fromCode(int code) {
|
| + for (State state : State.values()) {
|
| + if (state.mCode == code) {
|
| + return state;
|
| + }
|
| + }
|
| + throw new IllegalArgumentException("No state for code: " + code);
|
| + }
|
| +
|
| + public int getMessage() {
|
| + return mMessage;
|
| + }
|
| + }
|
| +
|
| + private final State mState;
|
| +
|
| + GoogleServiceAuthError(int code) {
|
| + mState = State.fromCode(code);
|
| + }
|
| +
|
| + State getState() {
|
| + return mState;
|
| + }
|
| +}
|
|
|