| OLD | NEW |
| 1 // Copyright 2015 The Chromium Authors. All rights reserved. | 1 // Copyright 2015 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.chrome.browser.signin; | 5 package org.chromium.chrome.browser.signin; |
| 6 | 6 |
| 7 import android.app.Activity; | 7 import android.app.Activity; |
| 8 import android.app.FragmentManager; |
| 8 import android.content.Context; | 9 import android.content.Context; |
| 9 import android.graphics.Bitmap; | 10 import android.graphics.Bitmap; |
| 10 import android.text.TextUtils; | 11 import android.text.TextUtils; |
| 11 import android.text.method.LinkMovementMethod; | 12 import android.text.method.LinkMovementMethod; |
| 12 import android.util.AttributeSet; | 13 import android.util.AttributeSet; |
| 13 import android.view.View; | 14 import android.view.View; |
| 14 import android.widget.Button; | 15 import android.widget.Button; |
| 15 import android.widget.FrameLayout; | 16 import android.widget.FrameLayout; |
| 16 import android.widget.ImageView; | 17 import android.widget.ImageView; |
| 17 import android.widget.TextView; | 18 import android.widget.TextView; |
| (...skipping 56 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 74 public void onFailedToSetForcedAccount(String forcedAccountName); | 75 public void onFailedToSetForcedAccount(String forcedAccountName); |
| 75 } | 76 } |
| 76 | 77 |
| 77 // TODO(peconn): Investigate expanding the Delegate to simplify the Listener
implementations. | 78 // TODO(peconn): Investigate expanding the Delegate to simplify the Listener
implementations. |
| 78 | 79 |
| 79 /** | 80 /** |
| 80 * Provides UI objects for new UI component creation. | 81 * Provides UI objects for new UI component creation. |
| 81 */ | 82 */ |
| 82 public interface Delegate { | 83 public interface Delegate { |
| 83 /** | 84 /** |
| 84 * Provides an Activity for the view to create dialogs. | 85 * Provides an Activity for the View to check GMSCore version. |
| 85 */ | 86 */ |
| 86 public Activity getActivity(); | 87 public Activity getActivity(); |
| 88 |
| 89 /** |
| 90 * Provides a FragmentManager for the View to create dialogs. This is do
ne through a |
| 91 * different mechanism than getActivity().getFragmentManager() as a pote
ntial fix to |
| 92 * https://crbug.com/646978 on the theory that getActivity() and getFrag
mentManager() |
| 93 * return null at different times. |
| 94 */ |
| 95 public FragmentManager getFragmentManager(); |
| 87 } | 96 } |
| 88 | 97 |
| 89 private static final String TAG = "AccountSigninView"; | 98 private static final String TAG = "AccountSigninView"; |
| 90 | 99 |
| 91 private static final String SETTINGS_LINK_OPEN = "<LINK1>"; | 100 private static final String SETTINGS_LINK_OPEN = "<LINK1>"; |
| 92 private static final String SETTINGS_LINK_CLOSE = "</LINK1>"; | 101 private static final String SETTINGS_LINK_CLOSE = "</LINK1>"; |
| 93 | 102 |
| 94 private AccountManagerHelper mAccountManagerHelper; | 103 private AccountManagerHelper mAccountManagerHelper; |
| 95 private List<String> mAccountNames; | 104 private List<String> mAccountNames; |
| 96 private AccountSigninChooseView mSigninChooseView; | 105 private AccountSigninChooseView mSigninChooseView; |
| (...skipping 152 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 249 | 258 |
| 250 mProfileData.update(); | 259 mProfileData.update(); |
| 251 | 260 |
| 252 // Determine how the accounts have changed. Each list should only have u
nique elements. | 261 // Determine how the accounts have changed. Each list should only have u
nique elements. |
| 253 if (oldAccountNames == null || oldAccountNames.isEmpty()) return; | 262 if (oldAccountNames == null || oldAccountNames.isEmpty()) return; |
| 254 | 263 |
| 255 if (!mAccountNames.get(accountToSelect).equals(oldAccountNames.get(oldSe
lectedAccount))) { | 264 if (!mAccountNames.get(accountToSelect).equals(oldAccountNames.get(oldSe
lectedAccount))) { |
| 256 // Any dialogs that may have been showing are now invalid (they were
created for the | 265 // Any dialogs that may have been showing are now invalid (they were
created for the |
| 257 // previously selected account). | 266 // previously selected account). |
| 258 ConfirmSyncDataStateMachine | 267 ConfirmSyncDataStateMachine |
| 259 .cancelAllDialogs(mDelegate.getActivity().getFragmentManager
()); | 268 .cancelAllDialogs(mDelegate.getFragmentManager()); |
| 260 | 269 |
| 261 if (mAccountNames.containsAll(oldAccountNames)) { | 270 if (mAccountNames.containsAll(oldAccountNames)) { |
| 262 // A new account has been added and no accounts have been delete
d. We will have | 271 // A new account has been added and no accounts have been delete
d. We will have |
| 263 // changed the account selection to the newly added account, so
shortcut to the | 272 // changed the account selection to the newly added account, so
shortcut to the |
| 264 // confirm signin page. | 273 // confirm signin page. |
| 265 showConfirmSigninPageAccountTrackerServiceCheck(); | 274 showConfirmSigninPageAccountTrackerServiceCheck(); |
| 266 } | 275 } |
| 267 } | 276 } |
| 268 } | 277 } |
| 269 | 278 |
| (...skipping 109 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 379 @Override | 388 @Override |
| 380 public void onSystemAccountsChanged() {} | 389 public void onSystemAccountsChanged() {} |
| 381 }); | 390 }); |
| 382 } | 391 } |
| 383 } | 392 } |
| 384 | 393 |
| 385 private void showConfirmSigninPagePreviousAccountCheck() { | 394 private void showConfirmSigninPagePreviousAccountCheck() { |
| 386 String accountName = getSelectedAccountName(); | 395 String accountName = getSelectedAccountName(); |
| 387 ConfirmSyncDataStateMachine.run(PrefServiceBridge.getInstance().getSyncL
astAccountName(), | 396 ConfirmSyncDataStateMachine.run(PrefServiceBridge.getInstance().getSyncL
astAccountName(), |
| 388 accountName, ImportSyncType.PREVIOUS_DATA_FOUND, | 397 accountName, ImportSyncType.PREVIOUS_DATA_FOUND, |
| 389 mDelegate.getActivity().getFragmentManager(), | 398 mDelegate.getFragmentManager(), |
| 390 getContext(), new ConfirmImportSyncDataDialog.Listener() { | 399 getContext(), new ConfirmImportSyncDataDialog.Listener() { |
| 391 @Override | 400 @Override |
| 392 public void onConfirm(boolean wipeData) { | 401 public void onConfirm(boolean wipeData) { |
| 393 SigninManager.wipeSyncUserDataIfRequired(wipeData) | 402 SigninManager.wipeSyncUserDataIfRequired(wipeData) |
| 394 .then(new Callback<Void>() { | 403 .then(new Callback<Void>() { |
| 395 @Override | 404 @Override |
| 396 public void onResult(Void v) { | 405 public void onResult(Void v) { |
| 397 showConfirmSigninPage(); | 406 showConfirmSigninPage(); |
| 398 } | 407 } |
| 399 }); | 408 }); |
| (...skipping 137 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 537 * @return Whether the view is in "no choice, just a confirmation" forced-ac
count mode. | 546 * @return Whether the view is in "no choice, just a confirmation" forced-ac
count mode. |
| 538 */ | 547 */ |
| 539 public boolean isInForcedAccountMode() { | 548 public boolean isInForcedAccountMode() { |
| 540 return mForcedAccountName != null; | 549 return mForcedAccountName != null; |
| 541 } | 550 } |
| 542 | 551 |
| 543 private String getSelectedAccountName() { | 552 private String getSelectedAccountName() { |
| 544 return mAccountNames.get(mSigninChooseView.getSelectedAccountPosition())
; | 553 return mAccountNames.get(mSigninChooseView.getSelectedAccountPosition())
; |
| 545 } | 554 } |
| 546 } | 555 } |
| OLD | NEW |