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

Issue 1874423002: 🍰 Migrate app shared preferences to ContextUtils. (Closed)

Created:
4 years, 8 months ago by Peter Wen
Modified:
4 years, 7 months ago
Reviewers:
nyquist, Cait (Slow), Torne
CC:
chromium-reviews, asanka, mcwilliams+watch_chromium.org, sadrul, posciak+watch_chromium.org, browser-components-watch_chromium.org, bondd+autofillwatch_chromium.org, noyau+watch_chromium.org, dmazzoni+watch_chromium.org, wifiprefetch-reviews_google.com, cbentzel+watch_chromium.org, aboxhall+watch_chromium.org, je_julie, dfalcantara+watch_chromium.org, vabr+watchlistautofill_chromium.org, kalyank, rouslan+autofill_chromium.org, yuzo+watch_chromium.org, dgn+watch_chromium.org, media-router+watch_chromium.org, lizeb+watch-custom-tabs_chromium.org, asvitkine+watch_chromium.org, feature-media-reviews_chromium.org, tfarina, nektar+watch_chromium.org, jdonnelly+autofillwatch_chromium.org, dtseng+watch_chromium.org, estade+watch_chromium.org
Base URL:
https://chromium.googlesource.com/chromium/src.git@master
Target Ref:
refs/pending/heads/master
Project:
chromium
Visibility:
Public.

Description

Migrate app shared preferences to ContextUtils. Calls to PreferenceManager.getDefaultSharedPreferences will start to cause disk I/O in android N if called with different context objects, even if the context objects (activity, service, application) are all part of Chrome, which results in the same SharedPreferences object. Unifying these callers to use ContextUtils.getAppSharedPreferences makes it clear that the intention is to get the application-wide shared preferences. This will be the de facto way of accessing shared preferences in the future. BUG=599284 Committed: https://crrev.com/2d287cf0ce7e5393d5f2d7a826c5b285768e1192 Cr-Commit-Position: refs/heads/master@{#392355}

Patch Set 1 #

Total comments: 2

Patch Set 2 : Remove parameter. #

Patch Set 3 : Rebase on unified ContextUtils. #

Patch Set 4 : Switch to ContextUtils and remove pure import changes. #

Patch Set 5 : Fix tests. #

Patch Set 6 : Remove two more empty changes. #

Patch Set 7 : Fix findbugs. #

Total comments: 2

Patch Set 8 : Use lazy holder. #

Total comments: 2

Patch Set 9 : Use application context for tests. #

Patch Set 10 : Rebase. #

Unified diffs Side-by-side diffs Delta from patch set Stats (+225 lines, -208 lines) Patch
M base/android/java/src/org/chromium/base/ContextUtils.java View 1 2 3 4 5 6 7 4 chunks +32 lines, -1 line 0 comments Download
M base/android/java/src/org/chromium/base/ResourceExtractor.java View 1 2 3 2 chunks +1 line, -3 lines 0 comments Download
M chrome/android/java/src/org/chromium/chrome/browser/BackgroundSyncLauncher.java View 1 3 chunks +3 lines, -3 lines 0 comments Download
M chrome/android/java/src/org/chromium/chrome/browser/ChromeActivity.java View 1 2 3 4 5 6 7 8 9 3 chunks +2 lines, -3 lines 0 comments Download
M chrome/android/java/src/org/chromium/chrome/browser/ChromeApplication.java View 1 2 3 4 5 6 7 8 9 6 chunks +7 lines, -5 lines 0 comments Download
M chrome/android/java/src/org/chromium/chrome/browser/accessibility/FontSizePrefs.java View 1 2 3 2 chunks +2 lines, -2 lines 0 comments Download
M chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkPromoHeader.java View 1 2 3 4 5 6 7 8 9 5 chunks +6 lines, -6 lines 0 comments Download
M chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkSearchView.java View 1 2 3 3 chunks +3 lines, -3 lines 0 comments Download
M chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkUtils.java View 1 2 3 4 5 6 7 8 9 5 chunks +5 lines, -5 lines 0 comments Download
M chrome/android/java/src/org/chromium/chrome/browser/crash/MinidumpUploadCallable.java View 1 2 chunks +2 lines, -2 lines 0 comments Download
M chrome/android/java/src/org/chromium/chrome/browser/datausage/DataUseTabUIManager.java View 1 2 3 4 5 6 7 8 9 3 chunks +3 lines, -3 lines 0 comments Download
M chrome/android/java/src/org/chromium/chrome/browser/download/DownloadManagerService.java View 1 2 3 2 chunks +2 lines, -3 lines 0 comments Download
M chrome/android/java/src/org/chromium/chrome/browser/download/DownloadNotificationService.java View 1 2 3 4 5 6 7 8 9 2 chunks +2 lines, -2 lines 0 comments Download
M chrome/android/java/src/org/chromium/chrome/browser/firstrun/FirstRunSignInProcessor.java View 1 2 3 7 chunks +7 lines, -7 lines 0 comments Download
M chrome/android/java/src/org/chromium/chrome/browser/firstrun/FirstRunStatus.java View 1 3 chunks +4 lines, -3 lines 0 comments Download
M chrome/android/java/src/org/chromium/chrome/browser/firstrun/ToSAckedReceiver.java View 1 3 chunks +3 lines, -3 lines 0 comments Download
M chrome/android/java/src/org/chromium/chrome/browser/identity/UuidBasedUniqueIdentificationGenerator.java View 1 2 chunks +2 lines, -3 lines 0 comments Download
M chrome/android/java/src/org/chromium/chrome/browser/init/ChromeBrowserInitializer.java View 1 2 3 4 5 6 7 8 9 2 chunks +2 lines, -3 lines 0 comments Download
M chrome/android/java/src/org/chromium/chrome/browser/invalidation/DelayedInvalidationsController.java View 1 5 chunks +5 lines, -5 lines 0 comments Download
M chrome/android/java/src/org/chromium/chrome/browser/media/MediaCaptureNotificationService.java View 1 4 chunks +4 lines, -4 lines 0 comments Download
M chrome/android/java/src/org/chromium/chrome/browser/metrics/StartupMetrics.java View 1 2 3 4 2 chunks +2 lines, -5 lines 0 comments Download
M chrome/android/java/src/org/chromium/chrome/browser/metrics/UmaSessionStats.java View 1 2 3 4 5 6 7 8 9 2 chunks +2 lines, -2 lines 0 comments Download
M chrome/android/java/src/org/chromium/chrome/browser/net/spdyproxy/DataReductionProxySettings.java View 1 2 4 chunks +4 lines, -4 lines 0 comments Download
M chrome/android/java/src/org/chromium/chrome/browser/ntp/RecentTabsManager.java View 1 2 3 3 chunks +3 lines, -3 lines 0 comments Download
M chrome/android/java/src/org/chromium/chrome/browser/omnibox/geo/GeolocationSnackbarController.java View 1 3 chunks +3 lines, -3 lines 0 comments Download
M chrome/android/java/src/org/chromium/chrome/browser/partnercustomizations/HomepageManager.java View 1 2 chunks +2 lines, -2 lines 0 comments Download
M chrome/android/java/src/org/chromium/chrome/browser/physicalweb/ListUrlsActivity.java View 1 2 3 4 5 6 7 8 9 3 chunks +2 lines, -2 lines 0 comments Download
M chrome/android/java/src/org/chromium/chrome/browser/physicalweb/PhysicalWeb.java View 1 2 3 chunks +3 lines, -3 lines 0 comments Download
M chrome/android/java/src/org/chromium/chrome/browser/physicalweb/PhysicalWebUma.java View 1 2 4 chunks +4 lines, -5 lines 0 comments Download
M chrome/android/java/src/org/chromium/chrome/browser/physicalweb/UrlManager.java View 1 2 3 4 5 6 7 8 9 8 chunks +7 lines, -9 lines 0 comments Download
M chrome/android/java/src/org/chromium/chrome/browser/precache/PrecacheController.java View 1 2 3 4 5 6 7 8 9 4 chunks +3 lines, -3 lines 0 comments Download
M chrome/android/java/src/org/chromium/chrome/browser/preferences/ChromePreferenceManager.java View 1 2 2 chunks +2 lines, -2 lines 0 comments Download
M chrome/android/java/src/org/chromium/chrome/browser/preferences/DocumentModeManager.java View 1 2 chunks +2 lines, -2 lines 0 comments Download
M chrome/android/java/src/org/chromium/chrome/browser/preferences/PrefServiceBridge.java View 1 2 3 4 5 6 7 8 9 3 chunks +3 lines, -3 lines 0 comments Download
M chrome/android/java/src/org/chromium/chrome/browser/preferences/SearchEngineAdapter.java View 1 3 chunks +2 lines, -2 lines 0 comments Download
M chrome/android/java/src/org/chromium/chrome/browser/preferences/datareduction/DataReductionPromoScreen.java View 1 2 3 4 5 6 7 8 9 4 chunks +4 lines, -4 lines 0 comments Download
M chrome/android/java/src/org/chromium/chrome/browser/preferences/privacy/OtherFormsOfHistoryDialogFragment.java View 1 4 chunks +3 lines, -3 lines 0 comments Download
M chrome/android/java/src/org/chromium/chrome/browser/preferences/privacy/PrivacyPreferencesManager.java View 1 2 3 4 5 6 7 8 9 3 chunks +3 lines, -4 lines 0 comments Download
M chrome/android/java/src/org/chromium/chrome/browser/provider/ChromeBrowserProvider.java View 1 2 3 4 5 6 7 4 chunks +3 lines, -5 lines 0 comments Download
M chrome/android/java/src/org/chromium/chrome/browser/rlz/RevenueStats.java View 1 3 chunks +3 lines, -3 lines 0 comments Download
M chrome/android/java/src/org/chromium/chrome/browser/share/ShareHelper.java View 1 4 chunks +3 lines, -3 lines 0 comments Download
M chrome/android/java/src/org/chromium/chrome/browser/signin/AccountManagementFragment.java View 1 2 3 4 chunks +4 lines, -4 lines 0 comments Download
M chrome/android/java/src/org/chromium/chrome/browser/signin/OAuth2TokenService.java View 1 3 chunks +3 lines, -3 lines 0 comments Download
M chrome/android/java/src/org/chromium/chrome/browser/signin/SigninHelper.java View 1 2 3 8 chunks +14 lines, -14 lines 0 comments Download
M chrome/android/java/src/org/chromium/chrome/browser/tab/TabIdManager.java View 1 2 chunks +2 lines, -2 lines 0 comments Download
M chrome/android/java/src/org/chromium/chrome/browser/tabmodel/DocumentModeAssassin.java View 1 2 3 2 chunks +2 lines, -2 lines 0 comments Download
M chrome/android/java/src/org/chromium/chrome/browser/tabmodel/TabPersistentStore.java View 1 2 chunks +2 lines, -2 lines 0 comments Download
M chrome/android/java/src/org/chromium/chrome/browser/toolbar/TabSwitcherCallout.java View 1 2 3 3 chunks +3 lines, -3 lines 0 comments Download
M chrome/android/javatests/src/org/chromium/chrome/browser/accessibility/FontSizePrefsTest.java View 1 3 chunks +3 lines, -5 lines 0 comments Download
M chrome/android/javatests/src/org/chromium/chrome/browser/contextualsearch/ContextualSearchManagerTest.java View 1 2 2 chunks +2 lines, -2 lines 0 comments Download
M chrome/android/javatests/src/org/chromium/chrome/browser/download/DownloadManagerServiceTest.java View 1 2 2 chunks +2 lines, -2 lines 0 comments Download
M chrome/android/javatests/src/org/chromium/chrome/browser/download/DownloadNotificationServiceTest.java View 1 4 chunks +4 lines, -4 lines 0 comments Download
M chrome/android/javatests/src/org/chromium/chrome/browser/partnercustomizations/PartnerHomepageIntegrationTest.java View 1 2 chunks +2 lines, -3 lines 0 comments Download
M chrome/android/javatests/src/org/chromium/chrome/browser/physicalweb/ListUrlsActivityTest.java View 1 2 3 4 5 6 7 8 9 2 chunks +2 lines, -3 lines 0 comments Download
M chrome/android/javatests/src/org/chromium/chrome/browser/physicalweb/UrlManagerTest.java View 1 2 3 4 5 6 7 8 9 2 chunks +2 lines, -2 lines 0 comments Download
M chrome/android/javatests/src/org/chromium/chrome/browser/precache/PrecacheControllerTest.java View 1 2 chunks +2 lines, -2 lines 0 comments Download
M chrome/android/javatests/src/org/chromium/chrome/browser/preferences/privacy/PrivacyPreferencesManagerNativeTest.java View 1 2 3 4 5 6 7 8 9 2 chunks +2 lines, -2 lines 0 comments Download
M chrome/android/javatests/src/org/chromium/chrome/browser/preferences/privacy/PrivacyPreferencesManagerTest.java View 1 2 3 4 3 chunks +3 lines, -2 lines 0 comments Download
M chrome/android/javatests/src/org/chromium/chrome/browser/tab/TabIdManagerTest.java View 1 3 chunks +3 lines, -3 lines 0 comments Download
M chrome/android/javatests/src/org/chromium/chrome/browser/tabmodel/DocumentModeAssassinTest.java View 1 2 chunks +2 lines, -2 lines 0 comments Download
M chrome/android/javatests/src/org/chromium/chrome/browser/webapps/WebappModeTest.java View 1 2 3 4 5 6 2 chunks +2 lines, -3 lines 0 comments Download
M chrome/test/android/javatests/src/org/chromium/chrome/test/util/browser/signin/SigninTestUtil.java View 1 2 chunks +2 lines, -2 lines 0 comments Download
M components/invalidation/impl/android/javatests/src/org/chromium/components/invalidation/InvalidationClientServiceTest.java View 1 2 3 4 5 6 7 8 2 chunks +2 lines, -0 lines 0 comments Download

Messages

Total messages: 34 (13 generated)
Peter Wen
🍔
4 years, 8 months ago (2016-04-11 21:03:25 UTC) #3
Torne
m https://codereview.chromium.org/1874423002/diff/1/base/android/java/src/org/chromium/base/ContextUtils.java File base/android/java/src/org/chromium/base/ContextUtils.java (right): https://codereview.chromium.org/1874423002/diff/1/base/android/java/src/org/chromium/base/ContextUtils.java#newcode60 base/android/java/src/org/chromium/base/ContextUtils.java:60: public static SharedPreferences getAppSharedPreferences(Context context) { Is it ...
4 years, 8 months ago (2016-04-12 10:05:56 UTC) #4
Peter Wen
Should be ready for a more thorough review now. :) https://codereview.chromium.org/1874423002/diff/1/base/android/java/src/org/chromium/base/ContextUtils.java File base/android/java/src/org/chromium/base/ContextUtils.java (right): https://codereview.chromium.org/1874423002/diff/1/base/android/java/src/org/chromium/base/ContextUtils.java#newcode60 ...
4 years, 7 months ago (2016-04-28 18:50:19 UTC) #5
Torne
https://codereview.chromium.org/1874423002/diff/120001/base/android/java/src/org/chromium/base/ContextUtils.java File base/android/java/src/org/chromium/base/ContextUtils.java (right): https://codereview.chromium.org/1874423002/diff/120001/base/android/java/src/org/chromium/base/ContextUtils.java#newcode73 base/android/java/src/org/chromium/base/ContextUtils.java:73: // No need for synchronization since sApplicationContext never changes. ...
4 years, 7 months ago (2016-04-29 12:10:45 UTC) #6
Peter Wen
PTAL. :) https://codereview.chromium.org/1874423002/diff/120001/base/android/java/src/org/chromium/base/ContextUtils.java File base/android/java/src/org/chromium/base/ContextUtils.java (right): https://codereview.chromium.org/1874423002/diff/120001/base/android/java/src/org/chromium/base/ContextUtils.java#newcode73 base/android/java/src/org/chromium/base/ContextUtils.java:73: // No need for synchronization since sApplicationContext ...
4 years, 7 months ago (2016-05-02 22:05:52 UTC) #7
Torne
https://codereview.chromium.org/1874423002/diff/140001/base/android/java/src/org/chromium/base/ContextUtils.java File base/android/java/src/org/chromium/base/ContextUtils.java (right): https://codereview.chromium.org/1874423002/diff/140001/base/android/java/src/org/chromium/base/ContextUtils.java#newcode102 base/android/java/src/org/chromium/base/ContextUtils.java:102: Holder.sSharedPreferences = fetchAppSharedPreferences(); By having this backdoor for tests ...
4 years, 7 months ago (2016-05-03 12:46:41 UTC) #8
Peter Wen
https://codereview.chromium.org/1874423002/diff/140001/base/android/java/src/org/chromium/base/ContextUtils.java File base/android/java/src/org/chromium/base/ContextUtils.java (right): https://codereview.chromium.org/1874423002/diff/140001/base/android/java/src/org/chromium/base/ContextUtils.java#newcode102 base/android/java/src/org/chromium/base/ContextUtils.java:102: Holder.sSharedPreferences = fetchAppSharedPreferences(); On 2016/05/03 12:46:41, Torne wrote: > ...
4 years, 7 months ago (2016-05-03 12:58:14 UTC) #9
Torne
LGTM then; it's just unfortunate to have it not be final.
4 years, 7 months ago (2016-05-03 13:11:17 UTC) #10
Peter Wen
+caitkp for components/ OWNERS. +nyquist for chrome/android and chrome/test/android OWNERS.
4 years, 7 months ago (2016-05-03 13:16:45 UTC) #12
Cait (Slow)
components/ lgtm
4 years, 7 months ago (2016-05-04 18:36:33 UTC) #13
nyquist
chrome lgtm, and bonus points for including //blimp in this :-) One question; is there ...
4 years, 7 months ago (2016-05-05 17:21:40 UTC) #14
Torne
On 2016/05/05 17:21:40, nyquist wrote: > chrome lgtm, and bonus points for including //blimp in ...
4 years, 7 months ago (2016-05-05 17:28:55 UTC) #15
Peter Wen
On 2016/05/05 17:28:55, Torne wrote: > On 2016/05/05 17:21:40, nyquist wrote: > > chrome lgtm, ...
4 years, 7 months ago (2016-05-05 17:36:42 UTC) #16
commit-bot: I haz the power
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1874423002/160001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1874423002/160001
4 years, 7 months ago (2016-05-05 17:40:16 UTC) #18
commit-bot: I haz the power
Dry run: Try jobs failed on following builders: ios-device on tryserver.chromium.mac (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.mac/builders/ios-device/builds/1219) ios-device-gn on ...
4 years, 7 months ago (2016-05-05 17:44:16 UTC) #20
commit-bot: I haz the power
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1874423002/180001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1874423002/180001
4 years, 7 months ago (2016-05-09 15:42:04 UTC) #22
commit-bot: I haz the power
Dry run: This issue passed the CQ dry run.
4 years, 7 months ago (2016-05-09 16:49:47 UTC) #24
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1874423002/180001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1874423002/180001
4 years, 7 months ago (2016-05-09 17:14:29 UTC) #27
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1874423002/180001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1874423002/180001
4 years, 7 months ago (2016-05-09 17:40:46 UTC) #30
commit-bot: I haz the power
Committed patchset #10 (id:180001)
4 years, 7 months ago (2016-05-09 17:46:43 UTC) #32
commit-bot: I haz the power
4 years, 7 months ago (2016-05-09 17:48:13 UTC) #34
Message was sent while issue was closed.
Patchset 10 (id:??) landed as
https://crrev.com/2d287cf0ce7e5393d5f2d7a826c5b285768e1192
Cr-Commit-Position: refs/heads/master@{#392355}

Powered by Google App Engine
This is Rietveld 408576698