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

Issue 1138013008: [Sync] Make it impossible to get a reference to AndroidSyncSettings. (Closed)

Created:
5 years, 7 months ago by maxbogue
Modified:
5 years, 7 months ago
Reviewers:
nyquist, maniscalco
CC:
chromium-reviews, tim+watch_chromium.org, zea+watch_chromium.org, maxbogue+watch_chromium.org, pvalenzuela+watch_chromium.org, plaree+watch_chromium.org, maniscalco+watch_chromium.org
Base URL:
https://chromium.googlesource.com/chromium/src.git@master
Target Ref:
refs/pending/heads/master
Project:
chromium
Visibility:
Public.

Description

[Sync] Make it impossible to get a reference to AndroidSyncSettings. This change is motivated by some complex test flakiness issues that were discovered in http://crrev.com/1118833002. Making it impossible to store a reference means that if we overwrite it for tests, we know everyone is then using the overwritten version. The approach here is to make every public method static and take the context as an argument, so it can initialize the inner object if necessary. This CL is part 1/3 and leaves in deprecated versions of all the methods. In part 2/3 the downstream uses of AndroidSyncSettings will be changed, and in part 3/3 the deprecated methods will be removed upstream. BUG=480604 Committed: https://crrev.com/80344ba46a6299d852d068ebaf26d658847fc49d Cr-Commit-Position: refs/heads/master@{#330570}

Patch Set 1 #

Patch Set 2 : Add deprecated methods for downstream use. #

Patch Set 3 : Self-review. #

Total comments: 8

Patch Set 4 : Improve class comment. #

Patch Set 5 : Improve constructor comment. #

Total comments: 2

Patch Set 6 : Rebase and address nit. #

Unified diffs Side-by-side diffs Delta from patch set Stats (+201 lines, -140 lines) Patch
M chrome/android/java/src/org/chromium/chrome/browser/ChromeBrowserProvider.java View 1 chunk +1 line, -1 line 0 comments Download
M chrome/android/java/src/org/chromium/chrome/browser/invalidation/InvalidationController.java View 1 chunk +1 line, -1 line 0 comments Download
M chrome/android/java/src/org/chromium/chrome/browser/signin/AccountManagementFragment.java View 5 chunks +4 lines, -5 lines 0 comments Download
M chrome/android/java/src/org/chromium/chrome/browser/signin/SigninManager.java View 1 chunk +1 line, -1 line 0 comments Download
M chrome/android/java/src/org/chromium/chrome/browser/sync/DelayedSyncController.java View 1 2 1 chunk +1 line, -2 lines 0 comments Download
M chrome/android/java/src/org/chromium/chrome/browser/sync/SyncController.java View 7 chunks +10 lines, -12 lines 0 comments Download
M chrome/android/java/src/org/chromium/chrome/browser/sync/SyncNotificationController.java View 3 chunks +1 line, -3 lines 0 comments Download
M chrome/android/java/src/org/chromium/chrome/browser/sync/ui/SyncCustomizationFragment.java View 4 chunks +3 lines, -4 lines 0 comments Download
M chrome/android/javatests_shell/src/org/chromium/chrome/browser/invalidation/InvalidationControllerTest.java View 1 chunk +2 lines, -3 lines 0 comments Download
M chrome/android/javatests_shell/src/org/chromium/chrome/browser/sync/ChromiumSyncAdapterTest.java View 1 chunk +1 line, -1 line 0 comments Download
M chrome/android/sync_shell/javatests/src/org/chromium/chrome/browser/sync/SyncCustomizationFragmentTest.java View 1 2 3 4 5 4 chunks +5 lines, -7 lines 0 comments Download
M chrome/android/sync_shell/javatests/src/org/chromium/chrome/browser/sync/SyncTest.java View 1 2 3 4 5 1 chunk +1 line, -1 line 0 comments Download
M chrome/android/sync_shell/javatests/src/org/chromium/chrome/browser/sync/SyncTestBase.java View 1 2 3 4 5 1 chunk +1 line, -1 line 0 comments Download
M components/invalidation/android/java/src/org/chromium/components/invalidation/InvalidationClientService.java View 2 chunks +2 lines, -2 lines 0 comments Download
M sync/android/java/src/org/chromium/sync/AndroidSyncSettings.java View 1 2 3 4 5 6 chunks +106 lines, -42 lines 0 comments Download
M sync/android/java/src/org/chromium/sync/signin/ChromeSigninController.java View 2 chunks +2 lines, -5 lines 0 comments Download
M sync/android/javatests/src/org/chromium/sync/AndroidSyncSettingsTest.java View 15 chunks +59 lines, -49 lines 0 comments Download

Messages

Total messages: 14 (3 generated)
maxbogue
Hey Tommy and Nick, this is the change we discussed to resolve the flakiness issues ...
5 years, 7 months ago (2015-05-15 17:44:04 UTC) #2
maniscalco
https://codereview.chromium.org/1138013008/diff/40001/chrome/android/java/src/org/chromium/chrome/browser/sync/SyncNotificationController.java File chrome/android/java/src/org/chromium/chrome/browser/sync/SyncNotificationController.java (right): https://codereview.chromium.org/1138013008/diff/40001/chrome/android/java/src/org/chromium/chrome/browser/sync/SyncNotificationController.java#newcode63 chrome/android/java/src/org/chromium/chrome/browser/sync/SyncNotificationController.java:63: if (!AndroidSyncSettings.isSyncEnabled(mApplicationContext)) { Prior to this change, we were ...
5 years, 7 months ago (2015-05-15 23:17:53 UTC) #3
maxbogue
https://codereview.chromium.org/1138013008/diff/40001/chrome/android/java/src/org/chromium/chrome/browser/sync/SyncNotificationController.java File chrome/android/java/src/org/chromium/chrome/browser/sync/SyncNotificationController.java (right): https://codereview.chromium.org/1138013008/diff/40001/chrome/android/java/src/org/chromium/chrome/browser/sync/SyncNotificationController.java#newcode63 chrome/android/java/src/org/chromium/chrome/browser/sync/SyncNotificationController.java:63: if (!AndroidSyncSettings.isSyncEnabled(mApplicationContext)) { On 2015/05/15 23:17:53, maniscalco wrote: > ...
5 years, 7 months ago (2015-05-18 17:33:01 UTC) #4
maxbogue
https://codereview.chromium.org/1138013008/diff/40001/chrome/android/java/src/org/chromium/chrome/browser/sync/SyncNotificationController.java File chrome/android/java/src/org/chromium/chrome/browser/sync/SyncNotificationController.java (right): https://codereview.chromium.org/1138013008/diff/40001/chrome/android/java/src/org/chromium/chrome/browser/sync/SyncNotificationController.java#newcode63 chrome/android/java/src/org/chromium/chrome/browser/sync/SyncNotificationController.java:63: if (!AndroidSyncSettings.isSyncEnabled(mApplicationContext)) { On 2015/05/18 17:33:00, maxbogue wrote: > ...
5 years, 7 months ago (2015-05-18 18:07:27 UTC) #5
maniscalco
https://codereview.chromium.org/1138013008/diff/40001/chrome/android/java/src/org/chromium/chrome/browser/sync/SyncNotificationController.java File chrome/android/java/src/org/chromium/chrome/browser/sync/SyncNotificationController.java (right): https://codereview.chromium.org/1138013008/diff/40001/chrome/android/java/src/org/chromium/chrome/browser/sync/SyncNotificationController.java#newcode63 chrome/android/java/src/org/chromium/chrome/browser/sync/SyncNotificationController.java:63: if (!AndroidSyncSettings.isSyncEnabled(mApplicationContext)) { On 2015/05/18 18:07:26, maxbogue wrote: > ...
5 years, 7 months ago (2015-05-18 18:22:35 UTC) #6
maniscalco
lgtm
5 years, 7 months ago (2015-05-18 23:55:03 UTC) #7
nyquist
great! thanks! lgtm https://codereview.chromium.org/1138013008/diff/80001/sync/android/java/src/org/chromium/sync/AndroidSyncSettings.java File sync/android/java/src/org/chromium/sync/AndroidSyncSettings.java (right): https://codereview.chromium.org/1138013008/diff/80001/sync/android/java/src/org/chromium/sync/AndroidSyncSettings.java#newcode25 sync/android/java/src/org/chromium/sync/AndroidSyncSettings.java:25: * stored. This is important because ...
5 years, 7 months ago (2015-05-19 06:51:01 UTC) #8
maxbogue
Thanks for the speedy review, both of you! https://codereview.chromium.org/1138013008/diff/80001/sync/android/java/src/org/chromium/sync/AndroidSyncSettings.java File sync/android/java/src/org/chromium/sync/AndroidSyncSettings.java (right): https://codereview.chromium.org/1138013008/diff/80001/sync/android/java/src/org/chromium/sync/AndroidSyncSettings.java#newcode25 sync/android/java/src/org/chromium/sync/AndroidSyncSettings.java:25: * ...
5 years, 7 months ago (2015-05-19 17:58:23 UTC) #9
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1138013008/100001
5 years, 7 months ago (2015-05-19 17:59:36 UTC) #12
commit-bot: I haz the power
Committed patchset #6 (id:100001)
5 years, 7 months ago (2015-05-19 18:36:39 UTC) #13
commit-bot: I haz the power
5 years, 7 months ago (2015-05-19 18:38:19 UTC) #14
Message was sent while issue was closed.
Patchset 6 (id:??) landed as
https://crrev.com/80344ba46a6299d852d068ebaf26d658847fc49d
Cr-Commit-Position: refs/heads/master@{#330570}

Powered by Google App Engine
This is Rietveld 408576698