Commit fd4986e3 authored by Vincent Boisselle's avatar Vincent Boisselle Committed by Commit Bot

Use a handler owned by the UserEducationHelper to post async calls

Bug: 1095716
Change-Id: I39407684996e68de23752973182de12ffdb38682
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2249065
Commit-Queue: Vincent Boisselle <vincb@google.com>
Reviewed-by: default avatarPatrick Noland <pnoland@chromium.org>
Reviewed-by: default avatarTheresa  <twellington@chromium.org>
Cr-Commit-Position: refs/heads/master@{#779372}
parent bc3511fe
...@@ -10,6 +10,7 @@ import android.content.res.Configuration; ...@@ -10,6 +10,7 @@ import android.content.res.Configuration;
import android.content.res.Resources; import android.content.res.Resources;
import android.graphics.Canvas; import android.graphics.Canvas;
import android.os.Build; import android.os.Build;
import android.os.Handler;
import android.view.LayoutInflater; import android.view.LayoutInflater;
import android.view.MotionEvent; import android.view.MotionEvent;
import android.view.View; import android.view.View;
...@@ -99,6 +100,7 @@ public class FeedSurfaceCoordinator implements FeedSurfaceProvider { ...@@ -99,6 +100,7 @@ public class FeedSurfaceCoordinator implements FeedSurfaceProvider {
// Used for the feed header menu. // Used for the feed header menu.
private UserEducationHelper mUserEducationHelper; private UserEducationHelper mUserEducationHelper;
private final Handler mHandler = new Handler();
private class SignInPromoHeader implements Header { private class SignInPromoHeader implements Header {
@Override @Override
...@@ -238,7 +240,7 @@ public class FeedSurfaceCoordinator implements FeedSurfaceProvider { ...@@ -238,7 +240,7 @@ public class FeedSurfaceCoordinator implements FeedSurfaceProvider {
mMediator.onHomepagePromoStateChange(); mMediator.onHomepagePromoStateChange();
} }
mUserEducationHelper = new UserEducationHelper(mActivity); mUserEducationHelper = new UserEducationHelper(mActivity, mHandler);
} }
@Override @Override
......
...@@ -3,6 +3,8 @@ ...@@ -3,6 +3,8 @@
// found in the LICENSE file. // found in the LICENSE file.
package org.chromium.chrome.browser.toolbar; package org.chromium.chrome.browser.toolbar;
import android.os.Handler;
import org.chromium.base.task.PostTask; import org.chromium.base.task.PostTask;
import org.chromium.chrome.R; import org.chromium.chrome.R;
import org.chromium.chrome.browser.ActivityTabProvider; import org.chromium.chrome.browser.ActivityTabProvider;
...@@ -47,12 +49,13 @@ public class ToolbarButtonInProductHelpController ...@@ -47,12 +49,13 @@ public class ToolbarButtonInProductHelpController
private final ScreenshotMonitor mScreenshotMonitor; private final ScreenshotMonitor mScreenshotMonitor;
private AppMenuHandler mAppMenuHandler; private AppMenuHandler mAppMenuHandler;
private UserEducationHelper mUserEducationHelper; private UserEducationHelper mUserEducationHelper;
private final Handler mHandler = new Handler();
public ToolbarButtonInProductHelpController(final ChromeActivity activity, public ToolbarButtonInProductHelpController(final ChromeActivity activity,
AppMenuCoordinator appMenuCoordinator, ActivityLifecycleDispatcher lifecycleDispatcher, AppMenuCoordinator appMenuCoordinator, ActivityLifecycleDispatcher lifecycleDispatcher,
ActivityTabProvider tabProvider) { ActivityTabProvider tabProvider) {
mActivity = activity; mActivity = activity;
mUserEducationHelper = new UserEducationHelper(mActivity); mUserEducationHelper = new UserEducationHelper(mActivity, mHandler);
mScreenshotMonitor = new ScreenshotMonitor(this); mScreenshotMonitor = new ScreenshotMonitor(this);
lifecycleDispatcher.register(this); lifecycleDispatcher.register(this);
mPageLoadObserver = new ActivityTabTabObserver(tabProvider) { mPageLoadObserver = new ActivityTabTabObserver(tabProvider) {
......
...@@ -302,7 +302,7 @@ public class ToolbarManager implements UrlFocusChangeListener, ThemeColorObserve ...@@ -302,7 +302,7 @@ public class ToolbarManager implements UrlFocusChangeListener, ThemeColorObserve
mToolbar = new TopToolbarCoordinator(controlContainer, mActivity.findViewById(R.id.toolbar), mToolbar = new TopToolbarCoordinator(controlContainer, mActivity.findViewById(R.id.toolbar),
identityDiscController, mLocationBarModel, mToolbarTabController, identityDiscController, mLocationBarModel, mToolbarTabController,
new UserEducationHelper(mActivity), buttonDataProviders, new UserEducationHelper(mActivity, mHandler), buttonDataProviders,
mOverviewModeBehaviorSupplier, mOverviewModeBehaviorSupplier,
mActivity.isTablet() ? mAppThemeColorProvider : mTabThemeColorProvider, mActivity.isTablet() ? mAppThemeColorProvider : mTabThemeColorProvider,
mAppThemeColorProvider); mAppThemeColorProvider);
......
...@@ -5,6 +5,7 @@ ...@@ -5,6 +5,7 @@
package org.chromium.chrome.browser.user_education; package org.chromium.chrome.browser.user_education;
import android.app.Activity; import android.app.Activity;
import android.os.Handler;
import android.view.View; import android.view.View;
import org.chromium.chrome.browser.feature_engagement.TrackerFactory; import org.chromium.chrome.browser.feature_engagement.TrackerFactory;
...@@ -38,8 +39,11 @@ import org.chromium.ui.widget.ViewRectProvider; ...@@ -38,8 +39,11 @@ import org.chromium.ui.widget.ViewRectProvider;
*/ */
public class UserEducationHelper { public class UserEducationHelper {
private final Activity mActivity; private final Activity mActivity;
public UserEducationHelper(Activity activity) { private final Handler mHandler;
public UserEducationHelper(Activity activity, Handler handler) {
mActivity = activity; mActivity = activity;
mHandler = handler;
} }
/** /**
...@@ -76,7 +80,7 @@ public class UserEducationHelper { ...@@ -76,7 +80,7 @@ public class UserEducationHelper {
new TextBubble(mActivity, anchorView, contentString, accessibilityString, true, new TextBubble(mActivity, anchorView, contentString, accessibilityString, true,
rectProvider, ChromeAccessibilityUtil.get().isAccessibilityEnabled()); rectProvider, ChromeAccessibilityUtil.get().isAccessibilityEnabled());
textBubble.setDismissOnTouchInteraction(iphCommand.dismissOnTouch); textBubble.setDismissOnTouchInteraction(iphCommand.dismissOnTouch);
textBubble.addOnDismissListener(() -> anchorView.getHandler().postDelayed(() -> { textBubble.addOnDismissListener(() -> mHandler.postDelayed(() -> {
tracker.dismissed(featureName); tracker.dismissed(featureName);
iphCommand.onDismissCallback.run(); iphCommand.onDismissCallback.run();
if (iphCommand.shouldHighlight) { if (iphCommand.shouldHighlight) {
......
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