| 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 62deb41a6c885e3b68ab02f5e6d64c4eb929258d..915deb2f536eb8592e5c089bbb7f886075894fc7 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
|
| @@ -119,6 +119,13 @@ public class AccountManagementFragment extends PreferenceFragment
|
| public void onCreate(Bundle savedState) {
|
| super.onCreate(savedState);
|
|
|
| + // Prevent sync from starting if it hasn't already to give the user a chance to change
|
| + // their sync settings.
|
| + ProfileSyncService syncService = ProfileSyncService.get();
|
| + if (syncService != null) {
|
| + syncService.setSetupInProgress(true);
|
| + }
|
| +
|
| mGaiaServiceType = AccountManagementScreenHelper.GAIA_SERVICE_TYPE_NONE;
|
| if (getArguments() != null) {
|
| mGaiaServiceType =
|
| @@ -156,6 +163,17 @@ public class AccountManagementFragment extends PreferenceFragment
|
| }
|
| }
|
|
|
| + @Override
|
| + public void onDestroy() {
|
| + super.onDestroy();
|
| +
|
| + // Allow sync to begin syncing if it hasn't yet.
|
| + ProfileSyncService syncService = ProfileSyncService.get();
|
| + if (syncService != null) {
|
| + syncService.setSetupInProgress(false);
|
| + }
|
| + }
|
| +
|
| /**
|
| * Initiate fetching the user accounts data (images and the full name).
|
| * Fetched data will be sent to observers of ProfileDownloader.
|
| @@ -489,7 +507,9 @@ public class AccountManagementFragment extends PreferenceFragment
|
| @Override
|
| public void syncStateChanged() {
|
| SyncPreference pref = (SyncPreference) findPreference(PREF_SYNC_SETTINGS);
|
| - pref.updateSyncSummaryAndIcon();
|
| + if (pref != null) {
|
| + pref.updateSyncSummaryAndIcon();
|
| + }
|
|
|
| // TODO(crbug/557784): Show notification for sync error
|
| }
|
|
|