Commit a62609e2 authored by Side Yilmaz's avatar Side Yilmaz Committed by Commit Bot

Update deprecated |createImageFetcher| function in omnibox classes.

This CL replaces deprecated |createImageFetcher| function by using newer
one passing profile.|setProfile| function is triggered on start of
application and anytime when profile changes. Therefore, when tab model
selector change from regular to incognito mode (or vice versa),
|setProfile| is triggered and creates a new image fetcher with the
current profile, instead of using always regular profile as today.

Bug: 1041781, 1083923, 1075562
Change-Id: If5ed73b133457ca430e9caed9ddf278a3c6c75ff
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2302851Reviewed-by: default avatarShakti Sahu <shaktisahu@chromium.org>
Reviewed-by: default avatarBrandon Wylie <wylieb@chromium.org>
Reviewed-by: default avatarTomasz Wiszkowski <ender@google.com>
Commit-Queue: Side YILMAZ <sideyilmaz@chromium.org>
Cr-Commit-Position: refs/heads/master@{#799081}
parent 268b8fbd
...@@ -220,6 +220,7 @@ public class AutocompleteCoordinatorImpl implements AutocompleteCoordinator { ...@@ -220,6 +220,7 @@ public class AutocompleteCoordinatorImpl implements AutocompleteCoordinator {
@Override @Override
public void setAutocompleteProfile(Profile profile) { public void setAutocompleteProfile(Profile profile) {
mMediator.setAutocompleteProfile(profile); mMediator.setAutocompleteProfile(profile);
mQueryTileCoordinator.setProfile(profile);
} }
@Override @Override
......
...@@ -155,7 +155,7 @@ class DropdownItemViewInfoListBuilder { ...@@ -155,7 +155,7 @@ class DropdownItemViewInfoListBuilder {
mIconBridge = new LargeIconBridge(profile); mIconBridge = new LargeIconBridge(profile);
mImageFetcher = ImageFetcherFactory.createImageFetcher(ImageFetcherConfig.IN_MEMORY_ONLY, mImageFetcher = ImageFetcherFactory.createImageFetcher(ImageFetcherConfig.IN_MEMORY_ONLY,
GlobalDiscardableReferencePool.getReferencePool(), MAX_IMAGE_CACHE_SIZE); profile, GlobalDiscardableReferencePool.getReferencePool(), MAX_IMAGE_CACHE_SIZE);
} }
/** /**
......
...@@ -15,6 +15,7 @@ import org.chromium.base.task.PostTask; ...@@ -15,6 +15,7 @@ import org.chromium.base.task.PostTask;
import org.chromium.chrome.browser.image_fetcher.ImageFetcher; import org.chromium.chrome.browser.image_fetcher.ImageFetcher;
import org.chromium.chrome.browser.image_fetcher.ImageFetcherConfig; import org.chromium.chrome.browser.image_fetcher.ImageFetcherConfig;
import org.chromium.chrome.browser.image_fetcher.ImageFetcherFactory; import org.chromium.chrome.browser.image_fetcher.ImageFetcherFactory;
import org.chromium.chrome.browser.profiles.Profile;
import org.chromium.components.browser_ui.util.ConversionUtils; import org.chromium.components.browser_ui.util.ConversionUtils;
import org.chromium.components.browser_ui.util.GlobalDiscardableReferencePool; import org.chromium.components.browser_ui.util.GlobalDiscardableReferencePool;
import org.chromium.components.browser_ui.widget.image_tiles.ImageTile; import org.chromium.components.browser_ui.widget.image_tiles.ImageTile;
...@@ -95,6 +96,22 @@ public class OmniboxQueryTileCoordinator { ...@@ -95,6 +96,22 @@ public class OmniboxQueryTileCoordinator {
suggestionView.addView(tilesView); suggestionView.addView(tilesView);
} }
/**
* Triggered when current user profile is changed. This method creates image fetcher using
* current user profile.
* @param profile Current user profile.
*/
public void setProfile(Profile profile) {
if (mImageFetcher != null) {
mImageFetcher.destroy();
mImageFetcher = null;
}
mImageFetcher = ImageFetcherFactory.createImageFetcher(
ImageFetcherConfig.IN_MEMORY_WITH_DISK_CACHE, profile,
GlobalDiscardableReferencePool.getReferencePool(), MAX_IMAGE_CACHE_SIZE);
}
/** @return A {@link ImageTileCoordinator} instance. Creates if it doesn't exist yet. */ /** @return A {@link ImageTileCoordinator} instance. Creates if it doesn't exist yet. */
private ImageTileCoordinator getTileCoordinator() { private ImageTileCoordinator getTileCoordinator() {
if (mTileCoordinator == null) { if (mTileCoordinator == null) {
...@@ -125,17 +142,7 @@ public class OmniboxQueryTileCoordinator { ...@@ -125,17 +142,7 @@ public class OmniboxQueryTileCoordinator {
ImageFetcher.Params params = ImageFetcher.Params.createWithExpirationInterval( ImageFetcher.Params params = ImageFetcher.Params.createWithExpirationInterval(
queryTile.urls.get(0), ImageFetcher.QUERY_TILE_UMA_CLIENT_NAME, mTileWidth, queryTile.urls.get(0), ImageFetcher.QUERY_TILE_UMA_CLIENT_NAME, mTileWidth,
mTileWidth, QueryTileConstants.IMAGE_EXPIRATION_INTERVAL_MINUTES); mTileWidth, QueryTileConstants.IMAGE_EXPIRATION_INTERVAL_MINUTES);
getImageFetcher().fetchImage(params, bitmap -> callback.onResult(Arrays.asList(bitmap))); mImageFetcher.fetchImage(params, bitmap -> callback.onResult(Arrays.asList(bitmap)));
}
/** Create an ImageFetcher instance. Only created if needed. */
private ImageFetcher getImageFetcher() {
if (mImageFetcher == null) {
mImageFetcher = ImageFetcherFactory.createImageFetcher(
ImageFetcherConfig.IN_MEMORY_WITH_DISK_CACHE,
GlobalDiscardableReferencePool.getReferencePool(), MAX_IMAGE_CACHE_SIZE);
}
return mImageFetcher;
} }
private void onTileClicked(ImageTile tile) { private void onTileClicked(ImageTile tile) {
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment