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;
import android.content.res.Resources;
import android.graphics.Canvas;
import android.os.Build;
import android.os.Handler;
import android.view.LayoutInflater;
import android.view.MotionEvent;
import android.view.View;
......@@ -99,6 +100,7 @@ public class FeedSurfaceCoordinator implements FeedSurfaceProvider {
// Used for the feed header menu.
private UserEducationHelper mUserEducationHelper;
private final Handler mHandler = new Handler();
private class SignInPromoHeader implements Header {
@Override
......@@ -238,7 +240,7 @@ public class FeedSurfaceCoordinator implements FeedSurfaceProvider {
mMediator.onHomepagePromoStateChange();
}
mUserEducationHelper = new UserEducationHelper(mActivity);
mUserEducationHelper = new UserEducationHelper(mActivity, mHandler);
}
@Override
......
......@@ -3,6 +3,8 @@
// found in the LICENSE file.
package org.chromium.chrome.browser.toolbar;
import android.os.Handler;
import org.chromium.base.task.PostTask;
import org.chromium.chrome.R;
import org.chromium.chrome.browser.ActivityTabProvider;
......@@ -47,12 +49,13 @@ public class ToolbarButtonInProductHelpController
private final ScreenshotMonitor mScreenshotMonitor;
private AppMenuHandler mAppMenuHandler;
private UserEducationHelper mUserEducationHelper;
private final Handler mHandler = new Handler();
public ToolbarButtonInProductHelpController(final ChromeActivity activity,
AppMenuCoordinator appMenuCoordinator, ActivityLifecycleDispatcher lifecycleDispatcher,
ActivityTabProvider tabProvider) {
mActivity = activity;
mUserEducationHelper = new UserEducationHelper(mActivity);
mUserEducationHelper = new UserEducationHelper(mActivity, mHandler);
mScreenshotMonitor = new ScreenshotMonitor(this);
lifecycleDispatcher.register(this);
mPageLoadObserver = new ActivityTabTabObserver(tabProvider) {
......
......@@ -302,7 +302,7 @@ public class ToolbarManager implements UrlFocusChangeListener, ThemeColorObserve
mToolbar = new TopToolbarCoordinator(controlContainer, mActivity.findViewById(R.id.toolbar),
identityDiscController, mLocationBarModel, mToolbarTabController,
new UserEducationHelper(mActivity), buttonDataProviders,
new UserEducationHelper(mActivity, mHandler), buttonDataProviders,
mOverviewModeBehaviorSupplier,
mActivity.isTablet() ? mAppThemeColorProvider : mTabThemeColorProvider,
mAppThemeColorProvider);
......
......@@ -5,6 +5,7 @@
package org.chromium.chrome.browser.user_education;
import android.app.Activity;
import android.os.Handler;
import android.view.View;
import org.chromium.chrome.browser.feature_engagement.TrackerFactory;
......@@ -38,8 +39,11 @@ import org.chromium.ui.widget.ViewRectProvider;
*/
public class UserEducationHelper {
private final Activity mActivity;
public UserEducationHelper(Activity activity) {
private final Handler mHandler;
public UserEducationHelper(Activity activity, Handler handler) {
mActivity = activity;
mHandler = handler;
}
/**
......@@ -76,7 +80,7 @@ public class UserEducationHelper {
new TextBubble(mActivity, anchorView, contentString, accessibilityString, true,
rectProvider, ChromeAccessibilityUtil.get().isAccessibilityEnabled());
textBubble.setDismissOnTouchInteraction(iphCommand.dismissOnTouch);
textBubble.addOnDismissListener(() -> anchorView.getHandler().postDelayed(() -> {
textBubble.addOnDismissListener(() -> mHandler.postDelayed(() -> {
tracker.dismissed(featureName);
iphCommand.onDismissCallback.run();
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