| Index: chrome/android/java/src/org/chromium/chrome/browser/signin/AccountManagementFragment.java
|
| diff --git a/chrome/android/java/src/org/chromium/chrome/browser/signin/AccountManagementFragment.java b/chrome/android/java/src/org/chromium/chrome/browser/signin/AccountManagementFragment.java
|
| index 915deb2f536eb8592e5c089bbb7f886075894fc7..b61bc023823e5e044144d371db9ea5b34387fdaa 100644
|
| --- a/chrome/android/java/src/org/chromium/chrome/browser/signin/AccountManagementFragment.java
|
| +++ b/chrome/android/java/src/org/chromium/chrome/browser/signin/AccountManagementFragment.java
|
| @@ -51,6 +51,7 @@ import org.chromium.chrome.browser.signin.SignOutDialogFragment.SignOutDialogLis
|
| import org.chromium.chrome.browser.signin.SigninManager.SignInStateObserver;
|
| import org.chromium.chrome.browser.sync.ProfileSyncService;
|
| import org.chromium.chrome.browser.sync.ProfileSyncService.SyncStateChangedListener;
|
| +import org.chromium.chrome.browser.sync.ui.ConfirmManagedSyncDataDialog;
|
| import org.chromium.chrome.browser.sync.ui.SyncCustomizationFragment;
|
| import org.chromium.sync.AndroidSyncSettings;
|
| import org.chromium.sync.signin.AccountManagerHelper;
|
| @@ -70,7 +71,8 @@ import java.util.HashMap;
|
| */
|
| public class AccountManagementFragment extends PreferenceFragment
|
| implements SignOutDialogListener, ProfileDownloader.Observer,
|
| - SyncStateChangedListener, SignInStateObserver {
|
| + SyncStateChangedListener, SignInStateObserver,
|
| + ConfirmManagedSyncDataDialog.Listener {
|
| public static final String SIGN_OUT_DIALOG_TAG = "sign_out_dialog_tag";
|
| private static final String CLEAR_DATA_PROGRESS_DIALOG_TAG = "clear_data_progress";
|
|
|
| @@ -250,13 +252,24 @@ public class AccountManagementFragment extends PreferenceFragment
|
| ProfileAccountManagementMetrics.TOGGLE_SIGNOUT,
|
| mGaiaServiceType);
|
|
|
| - SignOutDialogFragment signOutFragment = new SignOutDialogFragment();
|
| - Bundle args = new Bundle();
|
| - args.putInt(SHOW_GAIA_SERVICE_TYPE_EXTRA, mGaiaServiceType);
|
| - signOutFragment.setArguments(args);
|
| + String managementDomain =
|
| + SigninManager.get(getContext()).getManagementDomain();
|
| + if (managementDomain != null) {
|
| + // Show the 'You are signing out of a managed account' dialog.
|
| + ConfirmManagedSyncDataDialog.showSignOutFromManagedAccountDialog(
|
| + AccountManagementFragment.this, getFragmentManager(),
|
| + getResources(), managementDomain);
|
| + } else {
|
| + // Show the 'You are signing out' dialog.
|
| + SignOutDialogFragment signOutFragment = new SignOutDialogFragment();
|
| + Bundle args = new Bundle();
|
| + args.putInt(SHOW_GAIA_SERVICE_TYPE_EXTRA, mGaiaServiceType);
|
| + signOutFragment.setArguments(args);
|
| +
|
| + signOutFragment.setTargetFragment(AccountManagementFragment.this, 0);
|
| + signOutFragment.show(getFragmentManager(), SIGN_OUT_DIALOG_TAG);
|
| + }
|
|
|
| - signOutFragment.setTargetFragment(AccountManagementFragment.this, 0);
|
| - signOutFragment.show(getFragmentManager(), SIGN_OUT_DIALOG_TAG);
|
| return true;
|
| }
|
|
|
| @@ -502,6 +515,17 @@ public class AccountManagementFragment extends PreferenceFragment
|
| }
|
| }
|
|
|
| + // ConfirmManagedSyncDataDialog.Listener implementation
|
| + @Override
|
| + public void onConfirm() {
|
| + onSignOutClicked();
|
| + }
|
| +
|
| + @Override
|
| + public void onCancel() {
|
| + onSignOutDialogDismissed(false);
|
| + }
|
| +
|
| // ProfileSyncServiceListener implementation:
|
|
|
| @Override
|
|
|