Commit 86f6e13b authored by Theresa Wellington's avatar Theresa Wellington Committed by Commit Bot

Remove AppHooks dependency from FeatureHighlightProvider

Remove FeatureHighlightProvider's dependency on AppHooks in preparation
for moving to //components/browser_ui/widgets/.

BUG=1010176

Change-Id: Idea815e073fd757140b9ed2b60434dc561b60ac3
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2016325
Commit-Queue: Theresa  <twellington@chromium.org>
Reviewed-by: default avatarMatthew Jones <mdjones@chromium.org>
Cr-Commit-Position: refs/heads/master@{#738611}
parent 3b6866da
......@@ -13,6 +13,7 @@ import androidx.annotation.StringRes;
import org.chromium.base.ApiCompatibilityUtils;
import org.chromium.chrome.R;
import org.chromium.chrome.browser.AppHooks;
import org.chromium.chrome.browser.ChromeActivity;
import org.chromium.chrome.browser.ThemeColorProvider;
import org.chromium.chrome.browser.ThemeColorProvider.ThemeColorObserver;
......@@ -46,6 +47,8 @@ class BrowsingModeBottomToolbarMediator implements ThemeColorObserver {
/** A provider that notifies components when the theme color changes.*/
private ThemeColorProvider mThemeColorProvider;
private FeatureHighlightProvider mFeatureHighlightProvider;
/**
* Build a new mediator that handles events from outside the bottom toolbar.
* @param model The {@link BrowsingModeBottomToolbarModel} that holds all the state for the
......@@ -53,6 +56,7 @@ class BrowsingModeBottomToolbarMediator implements ThemeColorObserver {
*/
BrowsingModeBottomToolbarMediator(BrowsingModeBottomToolbarModel model) {
mModel = model;
mFeatureHighlightProvider = AppHooks.get().createFeatureHighlightProvider();
}
void setThemeColorProvider(ThemeColorProvider themeColorProvider) {
......@@ -117,7 +121,7 @@ class BrowsingModeBottomToolbarMediator implements ThemeColorObserver {
finalScrimColor = Color.TRANSPARENT;
}
FeatureHighlightProvider.getInstance().buildForView(activity, anchor, titleId,
mFeatureHighlightProvider.buildForView(activity, anchor, titleId,
FeatureHighlightProvider.TextAlignment.CENTER,
R.style.TextAppearance_TextLarge_Primary_Light, descId,
FeatureHighlightProvider.TextAlignment.CENTER,
......@@ -131,7 +135,7 @@ class BrowsingModeBottomToolbarMediator implements ThemeColorObserver {
* @param activity An activity to attach the IPH to.
*/
void dismissIPH(AppCompatActivity activity) {
FeatureHighlightProvider.getInstance().dismiss(activity);
mFeatureHighlightProvider.dismiss(activity);
}
/**
......
......@@ -12,8 +12,6 @@ import androidx.annotation.IntDef;
import androidx.annotation.StringRes;
import androidx.annotation.StyleRes;
import org.chromium.chrome.browser.AppHooks;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
......@@ -34,16 +32,7 @@ public class FeatureHighlightProvider {
/** The value for IPH timeout if the IPH will not timeout. */
public static final long NO_TIMEOUT = -1;
/** Static handle to the sole highlight provider. */
private static FeatureHighlightProvider sInstance;
/**
* @return A handle to the highlight provider.
*/
public static FeatureHighlightProvider getInstance() {
if (sInstance == null) sInstance = AppHooks.get().createFeatureHighlightProvider();
return sInstance;
}
public FeatureHighlightProvider() {}
/**
* Build and show a feature highlight bubble for a particular view.
......
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