Index: chrome/android/java/src/org/chromium/chrome/browser/sync/ui/SyncCustomizationFragment.java |
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/sync/ui/SyncCustomizationFragment.java b/chrome/android/java/src/org/chromium/chrome/browser/sync/ui/SyncCustomizationFragment.java |
index 9d98f967c366b4e69c675bb2ec0c06ddcee7ef24..5e1450f6b68a37e89241f1712772e2cba174c2df 100644 |
--- a/chrome/android/java/src/org/chromium/chrome/browser/sync/ui/SyncCustomizationFragment.java |
+++ b/chrome/android/java/src/org/chromium/chrome/browser/sync/ui/SyncCustomizationFragment.java |
@@ -79,16 +79,18 @@ public class SyncCustomizationFragment extends PreferenceFragment implements |
public static final String PREFERENCE_SYNC_RECENT_TABS = "sync_recent_tabs"; |
@VisibleForTesting |
public static final String PREFERENCE_ENCRYPTION = "encryption"; |
+ @VisibleForTesting |
+ public static final String PREF_SYNC_SWITCH = "sync_switch"; |
+ @VisibleForTesting |
+ public static final String PREFERENCE_SYNC_MANAGE_DATA = "sync_manage_data"; |
public static final String ARGUMENT_ACCOUNT = "account"; |
private static final int ERROR_COLOR = Color.RED; |
- @VisibleForTesting |
- public static final String PREF_SYNC_SWITCH = "sync_switch"; |
- private static final String PREFERENCE_SYNC_MANAGE_DATA = "sync_manage_data"; |
private ChromeSwitchPreference mSyncSwitchPreference; |
private AndroidSyncSettings mAndroidSyncSettings; |
+ private boolean mIsSyncInitialized; |
@VisibleForTesting |
public static final String[] PREFS_TO_SAVE = { |
@@ -120,6 +122,7 @@ public class SyncCustomizationFragment extends PreferenceFragment implements |
Bundle savedInstanceState) { |
mAndroidSyncSettings = AndroidSyncSettings.get(getActivity()); |
mProfileSyncService = ProfileSyncService.get(getActivity()); |
+ mIsSyncInitialized = mProfileSyncService.isSyncInitialized(); |
getActivity().setTitle(R.string.sign_in_sync); |
@@ -223,6 +226,7 @@ public class SyncCustomizationFragment extends PreferenceFragment implements |
@Override |
public void onResume() { |
super.onResume(); |
+ mIsSyncInitialized = mProfileSyncService.isSyncInitialized(); |
// This prevents sync from actually syncing until the dialog is closed. |
mProfileSyncService.setSetupInProgress(true); |
mProfileSyncService.addSyncStateChangedListener(this); |
@@ -570,8 +574,12 @@ public class SyncCustomizationFragment extends PreferenceFragment implements |
*/ |
@Override |
public void syncStateChanged() { |
- // Update all because Password syncability is also affected by the backend. |
- updateSyncStateFromSwitch(); |
+ boolean wasSyncInitialized = mIsSyncInitialized; |
+ mIsSyncInitialized = mProfileSyncService.isSyncInitialized(); |
+ if (mIsSyncInitialized != wasSyncInitialized) { |
+ // Update all because Password syncability is also affected by the backend. |
+ updateSyncStateFromSwitch(); |
+ } |
} |
/** |