Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1580)

Unified Diff: chrome/android/java/src/org/chromium/chrome/browser/signin/SigninManager.java

Issue 1745563002: Revert of Created the dialog offering the user to merge their account data or keep it (Closed) Base URL: maybelle.lon.corp.google.com:/usr/local/google/code/clankium/src@sync_settings
Patch Set: Created 4 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: chrome/android/java/src/org/chromium/chrome/browser/signin/SigninManager.java
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/signin/SigninManager.java b/chrome/android/java/src/org/chromium/chrome/browser/signin/SigninManager.java
index 2a3a18a3f6f83ec2892e900cf5e6a9e8444520d9..5d2bcd99193dba66e781bf2cc24ab0c85430129a 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/signin/SigninManager.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/signin/SigninManager.java
@@ -23,6 +23,7 @@
import org.chromium.base.metrics.RecordUserAction;
import org.chromium.chrome.browser.externalauth.ExternalAuthUtils;
import org.chromium.chrome.browser.externalauth.UserRecoverableErrorHandler;
+import org.chromium.signin.InvestigatedScenario;
import org.chromium.sync.signin.AccountManagerHelper;
import org.chromium.sync.signin.ChromeSigninController;
@@ -291,7 +292,7 @@
public void onSystemAccountsSeedingComplete() {
if (mSignInState != null && mSignInState.blockedOnAccountSeeding) {
mSignInState.blockedOnAccountSeeding = false;
- progressSignInFlowCheckPolicy();
+ progressSignInFlowInvestigateScenario();
}
}
@@ -365,7 +366,7 @@
private void progressSignInFlowSeedSystemAccounts() {
if (AccountTrackerService.get(mContext).checkAndSeedSystemAccounts()) {
- progressSignInFlowCheckPolicy();
+ progressSignInFlowInvestigateScenario();
} else if (AccountIdProvider.getInstance().canBeUsed(mContext)) {
mSignInState.blockedOnAccountSeeding = true;
} else {
@@ -380,16 +381,51 @@
}
/**
+ * If sign-in is interactive and the user is changing accounts, display a confirmation dialog.
+ */
+ private void progressSignInFlowInvestigateScenario() {
+ if (!mSignInState.isInteractive()) {
+ progressSignInFlowCheckPolicy();
+ return;
+ }
+
+ if (mSignInState.isActivityDestroyed()) {
+ abortSignIn();
+ return;
+ }
+
+ // TODO(skym): Warn for high risk upgrade scenario, crbug.com/572754.
+ if (SigninInvestigator.investigate(mSignInState.account.name)
+ == InvestigatedScenario.DIFFERENT_ACCOUNT) {
+ mSignInState.displayedDialog =
+ ConfirmAccountChangeFragment.newInstance(mSignInState.account.name);
+ mSignInState.displayedDialog.show(
+ mSignInState.activity.getFragmentManager(), CONFIRM_ACCOUNT_CHANGED_DIALOG_TAG);
+ } else {
+ // Do not display dialog, just sign-in.
+ progressSignInFlowCheckPolicy();
+ }
+ }
+
+ /**
+ * Called from ConfirmAccountChangeFragment if the new account name was confirmed.
+ */
+ void progressInteractiveSignInFlowAccountConfirmed() {
+ if (mSignInState == null || mSignInState.displayedDialog == null) {
+ // Stop if sign-in was cancelled or this is a duplicate click event.
+ return;
+ }
+ mSignInState.displayedDialog = null;
+
+ progressSignInFlowCheckPolicy();
+ }
+
+ /**
* Continues the signin flow by checking if there is a policy that the account is subject to.
*/
private void progressSignInFlowCheckPolicy() {
if (mSignInState == null) {
Log.w(TAG, "Ignoring sign in progress request as no pending sign in.");
- return;
- }
-
- if (mSignInState.isActivityDestroyed()) {
- abortSignIn();
return;
}
@@ -429,7 +465,6 @@
return;
}
- // TODO(peconn): Move this and other UI interactions into AccountSigninView.
Log.d(TAG, "Account has policy management");
mSignInState.displayedDialog = ConfirmManagedSigninFragment.newInstance(managementDomain);
mSignInState.displayedDialog.show(

Powered by Google App Engine
This is Rietveld 408576698