| Index: sync/test/android/javatests/src/org/chromium/sync/test/util/AccountHolder.java
|
| diff --git a/sync/test/android/javatests/src/org/chromium/sync/test/util/AccountHolder.java b/sync/test/android/javatests/src/org/chromium/sync/test/util/AccountHolder.java
|
| deleted file mode 100644
|
| index 34b52e912118b7bcd4b27759705bc811181fccc1..0000000000000000000000000000000000000000
|
| --- a/sync/test/android/javatests/src/org/chromium/sync/test/util/AccountHolder.java
|
| +++ /dev/null
|
| @@ -1,263 +0,0 @@
|
| -// 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.sync.test.util;
|
| -
|
| -import android.accounts.Account;
|
| -import android.os.Handler;
|
| -
|
| -import java.util.ArrayList;
|
| -import java.util.HashMap;
|
| -import java.util.HashSet;
|
| -import java.util.List;
|
| -import java.util.Map;
|
| -import java.util.Set;
|
| -
|
| -import javax.annotation.Nullable;
|
| -
|
| -/**
|
| - * This class is used by the {@link MockAccountManager} to hold information about a given
|
| - * account, such as its password and set of granted auth tokens.
|
| - */
|
| -public class AccountHolder {
|
| -
|
| - private final Account mAccount;
|
| -
|
| - private final String mPassword;
|
| -
|
| - private final Map<String, String> mAuthTokens;
|
| -
|
| - private final Map<String, Boolean> mHasBeenAccepted;
|
| -
|
| - private final boolean mAlwaysAccept;
|
| -
|
| - private Set<String> mFeatures;
|
| -
|
| - private final List<Runnable> mFeatureCallbacks = new ArrayList<>();
|
| -
|
| - private AccountHolder(Account account, String password, Map<String, String> authTokens,
|
| - Map<String, Boolean> hasBeenAccepted, boolean alwaysAccept,
|
| - @Nullable Set<String> features) {
|
| - if (account == null) {
|
| - throw new IllegalArgumentException("Account can not be null");
|
| - }
|
| - mAccount = account;
|
| - mPassword = password;
|
| - mAuthTokens = authTokens == null ? new HashMap<String, String>() : authTokens;
|
| - mHasBeenAccepted = hasBeenAccepted == null
|
| - ? new HashMap<String, Boolean>() : hasBeenAccepted;
|
| - mAlwaysAccept = alwaysAccept;
|
| - mFeatures = features;
|
| - }
|
| -
|
| - public Account getAccount() {
|
| - return mAccount;
|
| - }
|
| -
|
| - public String getPassword() {
|
| - return mPassword;
|
| - }
|
| -
|
| - public boolean hasAuthTokenRegistered(String authTokenType) {
|
| - return mAuthTokens.containsKey(authTokenType);
|
| - }
|
| -
|
| - public String getAuthToken(String authTokenType) {
|
| - return mAuthTokens.get(authTokenType);
|
| - }
|
| -
|
| - public boolean hasBeenAccepted(String authTokenType) {
|
| - return mAlwaysAccept || mHasBeenAccepted.containsKey(authTokenType)
|
| - && mHasBeenAccepted.get(authTokenType);
|
| - }
|
| -
|
| - /**
|
| - * Removes an auth token from the auth token map.
|
| - *
|
| - * @param authToken the auth token to remove
|
| - * @return true if the auth token was found
|
| - */
|
| - public boolean removeAuthToken(String authToken) {
|
| - String foundKey = null;
|
| - for (Map.Entry<String, String> tokenEntry : mAuthTokens.entrySet()) {
|
| - if (authToken.equals(tokenEntry.getValue())) {
|
| - foundKey = tokenEntry.getKey();
|
| - break;
|
| - }
|
| - }
|
| - if (foundKey == null) {
|
| - return false;
|
| - } else {
|
| - mAuthTokens.remove(foundKey);
|
| - return true;
|
| - }
|
| - }
|
| -
|
| - /**
|
| - * @return The set of account features. This method may only be called after the account
|
| - * features have been fetched.
|
| - */
|
| - public Set<String> getFeatures() {
|
| - assert mFeatures != null;
|
| - return mFeatures;
|
| - }
|
| -
|
| - /**
|
| - * Adds a callback to be run when the account features have been fetched. If that has already
|
| - * happened, the callback is run immediately.
|
| - *
|
| - * @param callback The callback to be run when the account features have been fetched.
|
| - */
|
| - public void addFeaturesCallback(Runnable callback) {
|
| - if (mFeatures == null) {
|
| - mFeatureCallbacks.add(callback);
|
| - return;
|
| - }
|
| -
|
| - new Handler().post(callback);
|
| - }
|
| -
|
| - /**
|
| - * Notifies this object that the account features have been fetched.
|
| - *
|
| - * @param features The set of account features.
|
| - */
|
| - public void didFetchFeatures(Set<String> features) {
|
| - assert features != null;
|
| - assert mFeatures == null;
|
| - mFeatures = features;
|
| - Handler handler = new Handler();
|
| - for (Runnable r : mFeatureCallbacks) {
|
| - handler.post(r);
|
| - }
|
| - mFeatureCallbacks.clear();
|
| - }
|
| -
|
| - @Override
|
| - public int hashCode() {
|
| - return mAccount.hashCode();
|
| - }
|
| -
|
| - @Override
|
| - public boolean equals(Object that) {
|
| - return that instanceof AccountHolder
|
| - && mAccount.equals(((AccountHolder) that).getAccount());
|
| - }
|
| -
|
| - public static Builder create() {
|
| - return new Builder();
|
| - }
|
| -
|
| - public AccountHolder withPassword(String password) {
|
| - return copy().password(password).build();
|
| - }
|
| -
|
| - public AccountHolder withAuthTokens(Map<String, String> authTokens) {
|
| - return copy().authTokens(authTokens).build();
|
| - }
|
| -
|
| - public AccountHolder withAuthToken(String authTokenType, String authToken) {
|
| - return copy().authToken(authTokenType, authToken).build();
|
| - }
|
| -
|
| - public AccountHolder withHasBeenAccepted(String authTokenType, boolean hasBeenAccepted) {
|
| - return copy().hasBeenAccepted(authTokenType, hasBeenAccepted).build();
|
| - }
|
| -
|
| - public AccountHolder withAlwaysAccept(boolean alwaysAccept) {
|
| - return copy().alwaysAccept(alwaysAccept).build();
|
| - }
|
| -
|
| - private Builder copy() {
|
| - return create().account(mAccount).password(mPassword).authTokens(mAuthTokens)
|
| - .hasBeenAcceptedMap(mHasBeenAccepted).alwaysAccept(mAlwaysAccept);
|
| - }
|
| -
|
| - /**
|
| - * Used to construct AccountHolder instances.
|
| - */
|
| - public static class Builder {
|
| -
|
| - private Account mTempAccount;
|
| -
|
| - private String mTempPassword;
|
| -
|
| - private Map<String, String> mTempAuthTokens;
|
| -
|
| - private Map<String, Boolean> mTempHasBeenAccepted;
|
| -
|
| - private boolean mTempAlwaysAccept;
|
| -
|
| - private Set<String> mFeatures = new HashSet<>();
|
| -
|
| - public Builder account(Account account) {
|
| - mTempAccount = account;
|
| - return this;
|
| - }
|
| -
|
| - public Builder password(String password) {
|
| - mTempPassword = password;
|
| - return this;
|
| - }
|
| -
|
| - public Builder authToken(String authTokenType, String authToken) {
|
| - if (mTempAuthTokens == null) {
|
| - mTempAuthTokens = new HashMap<String, String>();
|
| - }
|
| - mTempAuthTokens.put(authTokenType, authToken);
|
| - return this;
|
| - }
|
| -
|
| - public Builder authTokens(Map<String, String> authTokens) {
|
| - mTempAuthTokens = authTokens;
|
| - return this;
|
| - }
|
| -
|
| - public Builder hasBeenAccepted(String authTokenType, boolean hasBeenAccepted) {
|
| - if (mTempHasBeenAccepted == null) {
|
| - mTempHasBeenAccepted = new HashMap<String, Boolean>();
|
| - }
|
| - mTempHasBeenAccepted.put(authTokenType, hasBeenAccepted);
|
| - return this;
|
| - }
|
| -
|
| - public Builder hasBeenAcceptedMap(Map<String, Boolean> hasBeenAcceptedMap) {
|
| - mTempHasBeenAccepted = hasBeenAcceptedMap;
|
| - return this;
|
| - }
|
| -
|
| - public Builder alwaysAccept(boolean alwaysAccept) {
|
| - mTempAlwaysAccept = alwaysAccept;
|
| - return this;
|
| - }
|
| -
|
| - public Builder addFeature(String feature) {
|
| - if (mFeatures == null) {
|
| - mFeatures = new HashSet<>();
|
| - }
|
| - mFeatures.add(feature);
|
| - return this;
|
| - }
|
| -
|
| - /**
|
| - * Sets the set of features for this account.
|
| - *
|
| - * @param features The set of account features. Can be null to indicate that the account
|
| - * features have not been fetched yet. In this case,
|
| - * {@link AccountHolder#didFetchFeatures} should be called on the resulting
|
| - * {@link AccountHolder} before the features can be accessed.
|
| - * @return This object, for chaining method calls.
|
| - */
|
| - public Builder featureSet(Set<String> features) {
|
| - mFeatures = features;
|
| - return this;
|
| - }
|
| -
|
| - public AccountHolder build() {
|
| - return new AccountHolder(mTempAccount, mTempPassword, mTempAuthTokens,
|
| - mTempHasBeenAccepted, mTempAlwaysAccept, mFeatures);
|
| - }
|
| - }
|
| -
|
| -}
|
|
|