Commit 9e0bf445 authored by Ella Ge's avatar Ella Ge Committed by Chromium LUCI CQ

Remove ChromeActivity usage in CustomTabBottomBarDelegate

Bug: 1155353
Change-Id: I1057fa0184ac79b6b28f1f0a863d6d630dc3f816
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2630068Reviewed-by: default avatarPeter Conn <peconn@chromium.org>
Reviewed-by: default avatarMichael Thiessen <mthiesse@chromium.org>
Commit-Queue: Ella Ge <eirage@chromium.org>
Cr-Commit-Position: refs/heads/master@{#844169}
parent 3e8c9698
...@@ -112,9 +112,6 @@ specific_include_rules = { ...@@ -112,9 +112,6 @@ specific_include_rules = {
"CustomTabActivityLifecycleUmaTracker\.java": [ "CustomTabActivityLifecycleUmaTracker\.java": [
"+chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java", "+chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java",
], ],
"CustomTabBottomBarDelegate\.java": [
"+chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java",
],
"CustomTabDelegateFactory\.java": [ "CustomTabDelegateFactory\.java": [
"+chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java", "+chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java",
], ],
......
...@@ -4,6 +4,7 @@ ...@@ -4,6 +4,7 @@
package org.chromium.chrome.browser.customtabs; package org.chromium.chrome.browser.customtabs;
import android.app.Activity;
import android.app.PendingIntent; import android.app.PendingIntent;
import android.app.PendingIntent.CanceledException; import android.app.PendingIntent.CanceledException;
import android.content.Intent; import android.content.Intent;
...@@ -23,18 +24,19 @@ import androidx.browser.customtabs.CustomTabsIntent; ...@@ -23,18 +24,19 @@ import androidx.browser.customtabs.CustomTabsIntent;
import org.chromium.base.Log; import org.chromium.base.Log;
import org.chromium.base.metrics.RecordUserAction; import org.chromium.base.metrics.RecordUserAction;
import org.chromium.chrome.R; import org.chromium.chrome.R;
import org.chromium.chrome.browser.app.ChromeActivity;
import org.chromium.chrome.browser.browser_controls.BrowserControlsSizer; import org.chromium.chrome.browser.browser_controls.BrowserControlsSizer;
import org.chromium.chrome.browser.browser_controls.BrowserControlsStateProvider; import org.chromium.chrome.browser.browser_controls.BrowserControlsStateProvider;
import org.chromium.chrome.browser.browserservices.BrowserServicesIntentDataProvider; import org.chromium.chrome.browser.browserservices.BrowserServicesIntentDataProvider;
import org.chromium.chrome.browser.compositor.bottombar.OverlayPanelManager.OverlayPanelManagerObserver; import org.chromium.chrome.browser.compositor.bottombar.OverlayPanelManager.OverlayPanelManagerObserver;
import org.chromium.chrome.browser.compositor.layouts.LayoutManagerImpl; import org.chromium.chrome.browser.compositor.layouts.LayoutManagerImpl;
import org.chromium.chrome.browser.customtabs.content.CustomTabActivityTabProvider;
import org.chromium.chrome.browser.dependency_injection.ActivityScope; import org.chromium.chrome.browser.dependency_injection.ActivityScope;
import org.chromium.chrome.browser.flags.CachedFeatureFlags; import org.chromium.chrome.browser.flags.CachedFeatureFlags;
import org.chromium.chrome.browser.flags.ChromeFeatureList; import org.chromium.chrome.browser.flags.ChromeFeatureList;
import org.chromium.chrome.browser.night_mode.RemoteViewsWithNightModeInflater; import org.chromium.chrome.browser.night_mode.RemoteViewsWithNightModeInflater;
import org.chromium.chrome.browser.night_mode.SystemNightModeMonitor; import org.chromium.chrome.browser.night_mode.SystemNightModeMonitor;
import org.chromium.chrome.browser.tab.Tab; import org.chromium.chrome.browser.tab.Tab;
import org.chromium.ui.base.WindowAndroid;
import org.chromium.ui.interpolators.BakedBezierInterpolator; import org.chromium.ui.interpolators.BakedBezierInterpolator;
import java.util.List; import java.util.List;
...@@ -49,9 +51,11 @@ public class CustomTabBottomBarDelegate implements BrowserControlsStateProvider. ...@@ -49,9 +51,11 @@ public class CustomTabBottomBarDelegate implements BrowserControlsStateProvider.
private static final String TAG = "CustomTab"; private static final String TAG = "CustomTab";
private static final int SLIDE_ANIMATION_DURATION_MS = 400; private static final int SLIDE_ANIMATION_DURATION_MS = 400;
private final ChromeActivity<?> mActivity; private final Activity mActivity;
private final WindowAndroid mWindowAndroid;
private final BrowserControlsSizer mBrowserControlsSizer; private final BrowserControlsSizer mBrowserControlsSizer;
private final BrowserServicesIntentDataProvider mDataProvider; private final BrowserServicesIntentDataProvider mDataProvider;
private final CustomTabActivityTabProvider mTabProvider;
private final CustomTabNightModeStateController mNightModeStateController; private final CustomTabNightModeStateController mNightModeStateController;
private final SystemNightModeMonitor mSystemNightModeMonitor; private final SystemNightModeMonitor mSystemNightModeMonitor;
...@@ -77,27 +81,29 @@ public class CustomTabBottomBarDelegate implements BrowserControlsStateProvider. ...@@ -77,27 +81,29 @@ public class CustomTabBottomBarDelegate implements BrowserControlsStateProvider.
originalId = (Integer) v.getTag(R.id.view_id_tag_key); originalId = (Integer) v.getTag(R.id.view_id_tag_key);
} }
extraIntent.putExtra(CustomTabsIntent.EXTRA_REMOTEVIEWS_CLICKED_ID, originalId); extraIntent.putExtra(CustomTabsIntent.EXTRA_REMOTEVIEWS_CLICKED_ID, originalId);
sendPendingIntentWithUrl(mClickPendingIntent, extraIntent, mActivity); sendPendingIntentWithUrl(mClickPendingIntent, extraIntent, mActivity, mTabProvider);
} }
}; };
@Inject @Inject
public CustomTabBottomBarDelegate(ChromeActivity<?> activity, public CustomTabBottomBarDelegate(Activity activity, WindowAndroid windowAndroid,
BrowserServicesIntentDataProvider dataProvider, BrowserServicesIntentDataProvider dataProvider,
BrowserControlsSizer browserControlsSizer, BrowserControlsSizer browserControlsSizer,
CustomTabNightModeStateController nightModeStateController, CustomTabNightModeStateController nightModeStateController,
SystemNightModeMonitor systemNightModeMonitor, SystemNightModeMonitor systemNightModeMonitor, CustomTabActivityTabProvider tabProvider,
CustomTabCompositorContentInitializer compositorContentInitializer) { CustomTabCompositorContentInitializer compositorContentInitializer) {
mActivity = activity; mActivity = activity;
mWindowAndroid = windowAndroid;
mDataProvider = dataProvider; mDataProvider = dataProvider;
mBrowserControlsSizer = browserControlsSizer; mBrowserControlsSizer = browserControlsSizer;
mNightModeStateController = nightModeStateController; mNightModeStateController = nightModeStateController;
mSystemNightModeMonitor = systemNightModeMonitor; mSystemNightModeMonitor = systemNightModeMonitor;
mTabProvider = tabProvider;
browserControlsSizer.addObserver(this); browserControlsSizer.addObserver(this);
compositorContentInitializer.addCallback(this::addOverlayPanelManagerObserver); compositorContentInitializer.addCallback(this::addOverlayPanelManagerObserver);
mActivity.getWindowAndroid().getApplicationBottomInsetProvider().addObserver((inset) -> { mWindowAndroid.getApplicationBottomInsetProvider().addObserver((inset) -> {
if (mBottomBarView == null) return; if (mBottomBarView == null) return;
hideBottomBar(inset > 0); hideBottomBar(inset > 0);
}); });
...@@ -145,7 +151,8 @@ public class CustomTabBottomBarDelegate implements BrowserControlsStateProvider. ...@@ -145,7 +151,8 @@ public class CustomTabBottomBarDelegate implements BrowserControlsStateProvider.
final PendingIntent pendingIntent = params.getPendingIntent(); final PendingIntent pendingIntent = params.getPendingIntent();
OnClickListener clickListener = null; OnClickListener clickListener = null;
if (pendingIntent != null) { if (pendingIntent != null) {
clickListener = v -> sendPendingIntentWithUrl(pendingIntent, null, mActivity); clickListener =
v -> sendPendingIntentWithUrl(pendingIntent, null, mActivity, mTabProvider);
} }
layout.addView( layout.addView(
params.buildBottomBarButton(mActivity, getBottomBarView(), clickListener)); params.buildBottomBarButton(mActivity, getBottomBarView(), clickListener));
...@@ -329,9 +336,9 @@ public class CustomTabBottomBarDelegate implements BrowserControlsStateProvider. ...@@ -329,9 +336,9 @@ public class CustomTabBottomBarDelegate implements BrowserControlsStateProvider.
} }
private static void sendPendingIntentWithUrl(PendingIntent pendingIntent, Intent extraIntent, private static void sendPendingIntentWithUrl(PendingIntent pendingIntent, Intent extraIntent,
ChromeActivity activity) { Activity activity, CustomTabActivityTabProvider tabProvider) {
Intent addedIntent = extraIntent == null ? new Intent() : new Intent(extraIntent); Intent addedIntent = extraIntent == null ? new Intent() : new Intent(extraIntent);
Tab tab = activity.getActivityTab(); Tab tab = tabProvider.getTab();
if (tab != null) addedIntent.setData(Uri.parse(tab.getUrlString())); if (tab != null) addedIntent.setData(Uri.parse(tab.getUrlString()));
try { try {
pendingIntent.send(activity, 0, addedIntent, null, null); pendingIntent.send(activity, 0, addedIntent, null, null);
......
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