| OLD | NEW |
| 1 // Copyright 2013 The Chromium Authors. All rights reserved. | 1 // Copyright 2013 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 package org.chromium.sync.test.util; | 5 package org.chromium.components.sync.test.util; |
| 6 | 6 |
| 7 import android.accounts.Account; | 7 import android.accounts.Account; |
| 8 import android.os.Handler; | 8 import android.os.Handler; |
| 9 | 9 |
| 10 import java.util.ArrayList; | 10 import java.util.ArrayList; |
| 11 import java.util.HashMap; | 11 import java.util.HashMap; |
| 12 import java.util.HashSet; | 12 import java.util.HashSet; |
| 13 import java.util.List; | 13 import java.util.List; |
| 14 import java.util.Map; | 14 import java.util.Map; |
| 15 import java.util.Set; | 15 import java.util.Set; |
| 16 | 16 |
| 17 import javax.annotation.Nullable; | 17 import javax.annotation.Nullable; |
| 18 | 18 |
| 19 /** | 19 /** |
| 20 * This class is used by the {@link MockAccountManager} to hold information abou
t a given | 20 * This class is used by the {@link MockAccountManager} to hold information abou
t a given |
| 21 * account, such as its password and set of granted auth tokens. | 21 * account, such as its password and set of granted auth tokens. |
| 22 */ | 22 */ |
| 23 public class AccountHolder { | 23 public class AccountHolder { |
| 24 | |
| 25 private final Account mAccount; | 24 private final Account mAccount; |
| 26 | 25 |
| 27 private final String mPassword; | 26 private final String mPassword; |
| 28 | 27 |
| 29 private final Map<String, String> mAuthTokens; | 28 private final Map<String, String> mAuthTokens; |
| 30 | 29 |
| 31 private final Map<String, Boolean> mHasBeenAccepted; | 30 private final Map<String, Boolean> mHasBeenAccepted; |
| 32 | 31 |
| 33 private final boolean mAlwaysAccept; | 32 private final boolean mAlwaysAccept; |
| 34 | 33 |
| 35 private Set<String> mFeatures; | 34 private Set<String> mFeatures; |
| 36 | 35 |
| 37 private final List<Runnable> mFeatureCallbacks = new ArrayList<>(); | 36 private final List<Runnable> mFeatureCallbacks = new ArrayList<>(); |
| 38 | 37 |
| 39 private AccountHolder(Account account, String password, Map<String, String>
authTokens, | 38 private AccountHolder(Account account, String password, Map<String, String>
authTokens, |
| 40 Map<String, Boolean> hasBeenAccepted, boolean alwaysAccept, | 39 Map<String, Boolean> hasBeenAccepted, boolean alwaysAccept, |
| 41 @Nullable Set<String> features) { | 40 @Nullable Set<String> features) { |
| 42 if (account == null) { | 41 if (account == null) { |
| 43 throw new IllegalArgumentException("Account can not be null"); | 42 throw new IllegalArgumentException("Account can not be null"); |
| 44 } | 43 } |
| 45 mAccount = account; | 44 mAccount = account; |
| 46 mPassword = password; | 45 mPassword = password; |
| 47 mAuthTokens = authTokens == null ? new HashMap<String, String>() : authT
okens; | 46 mAuthTokens = authTokens == null ? new HashMap<String, String>() : authT
okens; |
| 48 mHasBeenAccepted = hasBeenAccepted == null | 47 mHasBeenAccepted = |
| 49 ? new HashMap<String, Boolean>() : hasBeenAccepted; | 48 hasBeenAccepted == null ? new HashMap<String, Boolean>() : hasBe
enAccepted; |
| 50 mAlwaysAccept = alwaysAccept; | 49 mAlwaysAccept = alwaysAccept; |
| 51 mFeatures = features; | 50 mFeatures = features; |
| 52 } | 51 } |
| 53 | 52 |
| 54 public Account getAccount() { | 53 public Account getAccount() { |
| 55 return mAccount; | 54 return mAccount; |
| 56 } | 55 } |
| 57 | 56 |
| 58 public String getPassword() { | 57 public String getPassword() { |
| 59 return mPassword; | 58 return mPassword; |
| 60 } | 59 } |
| 61 | 60 |
| 62 public boolean hasAuthTokenRegistered(String authTokenType) { | 61 public boolean hasAuthTokenRegistered(String authTokenType) { |
| 63 return mAuthTokens.containsKey(authTokenType); | 62 return mAuthTokens.containsKey(authTokenType); |
| 64 } | 63 } |
| 65 | 64 |
| 66 public String getAuthToken(String authTokenType) { | 65 public String getAuthToken(String authTokenType) { |
| 67 return mAuthTokens.get(authTokenType); | 66 return mAuthTokens.get(authTokenType); |
| 68 } | 67 } |
| 69 | 68 |
| 70 public boolean hasBeenAccepted(String authTokenType) { | 69 public boolean hasBeenAccepted(String authTokenType) { |
| 71 return mAlwaysAccept || mHasBeenAccepted.containsKey(authTokenType) | 70 return mAlwaysAccept |
| 71 || mHasBeenAccepted.containsKey(authTokenType) |
| 72 && mHasBeenAccepted.get(authTokenType); | 72 && mHasBeenAccepted.get(authTokenType); |
| 73 } | 73 } |
| 74 | 74 |
| 75 /** | 75 /** |
| 76 * Removes an auth token from the auth token map. | 76 * Removes an auth token from the auth token map. |
| 77 * | 77 * |
| 78 * @param authToken the auth token to remove | 78 * @param authToken the auth token to remove |
| 79 * @return true if the auth token was found | 79 * @return true if the auth token was found |
| 80 */ | 80 */ |
| 81 public boolean removeAuthToken(String authToken) { | 81 public boolean removeAuthToken(String authToken) { |
| (...skipping 81 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 163 | 163 |
| 164 public AccountHolder withHasBeenAccepted(String authTokenType, boolean hasBe
enAccepted) { | 164 public AccountHolder withHasBeenAccepted(String authTokenType, boolean hasBe
enAccepted) { |
| 165 return copy().hasBeenAccepted(authTokenType, hasBeenAccepted).build(); | 165 return copy().hasBeenAccepted(authTokenType, hasBeenAccepted).build(); |
| 166 } | 166 } |
| 167 | 167 |
| 168 public AccountHolder withAlwaysAccept(boolean alwaysAccept) { | 168 public AccountHolder withAlwaysAccept(boolean alwaysAccept) { |
| 169 return copy().alwaysAccept(alwaysAccept).build(); | 169 return copy().alwaysAccept(alwaysAccept).build(); |
| 170 } | 170 } |
| 171 | 171 |
| 172 private Builder copy() { | 172 private Builder copy() { |
| 173 return create().account(mAccount).password(mPassword).authTokens(mAuthTo
kens) | 173 return create() |
| 174 .hasBeenAcceptedMap(mHasBeenAccepted).alwaysAccept(mAlwaysAccept
); | 174 .account(mAccount) |
| 175 .password(mPassword) |
| 176 .authTokens(mAuthTokens) |
| 177 .hasBeenAcceptedMap(mHasBeenAccepted) |
| 178 .alwaysAccept(mAlwaysAccept); |
| 175 } | 179 } |
| 176 | 180 |
| 177 /** | 181 /** |
| 178 * Used to construct AccountHolder instances. | 182 * Used to construct AccountHolder instances. |
| 179 */ | 183 */ |
| 180 public static class Builder { | 184 public static class Builder { |
| 181 | |
| 182 private Account mTempAccount; | 185 private Account mTempAccount; |
| 183 | 186 |
| 184 private String mTempPassword; | 187 private String mTempPassword; |
| 185 | 188 |
| 186 private Map<String, String> mTempAuthTokens; | 189 private Map<String, String> mTempAuthTokens; |
| 187 | 190 |
| 188 private Map<String, Boolean> mTempHasBeenAccepted; | 191 private Map<String, Boolean> mTempHasBeenAccepted; |
| 189 | 192 |
| 190 private boolean mTempAlwaysAccept; | 193 private boolean mTempAlwaysAccept; |
| 191 | 194 |
| (...skipping 60 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 252 public Builder featureSet(Set<String> features) { | 255 public Builder featureSet(Set<String> features) { |
| 253 mFeatures = features; | 256 mFeatures = features; |
| 254 return this; | 257 return this; |
| 255 } | 258 } |
| 256 | 259 |
| 257 public AccountHolder build() { | 260 public AccountHolder build() { |
| 258 return new AccountHolder(mTempAccount, mTempPassword, mTempAuthToken
s, | 261 return new AccountHolder(mTempAccount, mTempPassword, mTempAuthToken
s, |
| 259 mTempHasBeenAccepted, mTempAlwaysAccept, mFeatures); | 262 mTempHasBeenAccepted, mTempAlwaysAccept, mFeatures); |
| 260 } | 263 } |
| 261 } | 264 } |
| 262 | |
| 263 } | 265 } |
| OLD | NEW |