2269 lines
126 KiB
Diff
2269 lines
126 KiB
Diff
From: csagan5 <32685696+csagan5@users.noreply.github.com>
|
|
Date: Sun, 19 Jun 2022 11:00:12 +0200
|
|
Subject: Remove price/shopping/commerce integrations
|
|
|
|
License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
|
|
---
|
|
chrome/android/BUILD.gn | 27 ---
|
|
chrome/android/chrome_java_sources.gni | 5 -
|
|
chrome/android/features/tab_ui/BUILD.gn | 7 -
|
|
.../res/layout/large_message_card_item.xml | 9 -
|
|
.../java/res/layout/tab_grid_card_item.xml | 8 -
|
|
.../tab_management/LargeMessageCardView.java | 30 ---
|
|
.../LargeMessageCardViewBinder.java | 1 -
|
|
.../MessageCardProviderMediator.java | 6 +-
|
|
.../StoreTrackingUtilities.java | 4 +-
|
|
.../TabGridDialogCoordinator.java | 2 +-
|
|
.../tab_management/TabGridViewBinder.java | 37 ----
|
|
.../tab_management/TabGroupUiCoordinator.java | 2 +-
|
|
.../tab_management/TabListCoordinator.java | 25 +--
|
|
.../tasks/tab_management/TabListMediator.java | 177 +-----------------
|
|
.../tasks/tab_management/TabProperties.java | 5 +-
|
|
.../TabSelectionEditorCoordinator.java | 2 +-
|
|
.../TabSwitcherCoordinator.java | 102 +---------
|
|
.../tab_management/TabSwitcherMediator.java | 57 ------
|
|
.../chrome/browser/app/ChromeActivity.java | 20 --
|
|
.../AppMenuPropertiesDelegateImpl.java | 16 +-
|
|
.../browser/bookmarks/BookmarkBridge.java | 84 ---------
|
|
.../bookmarks/BookmarkItemsAdapter.java | 23 ---
|
|
.../browser/bookmarks/BookmarkManager.java | 12 --
|
|
.../BookmarkSaveFlowCoordinator.java | 37 +---
|
|
.../bookmarks/BookmarkSaveFlowMediator.java | 69 +------
|
|
.../browser/bookmarks/BookmarkUtils.java | 12 +-
|
|
.../init/ProcessInitializationHandler.java | 5 -
|
|
.../ContextualPageActionController.java | 4 -
|
|
.../chrome/browser/tab/TabHelpers.java | 9 -
|
|
.../tabbed_mode/TabbedRootUiCoordinator.java | 22 ---
|
|
.../ToolbarButtonInProductHelpController.java | 27 ---
|
|
.../browser/toolbar/ToolbarManager.java | 17 --
|
|
.../chrome/browser/ui/RootUiCoordinator.java | 22 ---
|
|
chrome/android/java_sources.gni | 8 -
|
|
chrome/browser/BUILD.gn | 2 -
|
|
.../price_tracking/PriceTrackingFeatures.java | 2 +-
|
|
.../commerce/subscriptions/android/BUILD.gn | 1 -
|
|
.../CommerceSubscriptionsService.java | 36 +---
|
|
.../SubscriptionsManagerImpl.java | 26 +--
|
|
.../optimization_guide_keyed_service.cc | 4 -
|
|
chrome/browser/persisted_state_db/BUILD.gn | 1 -
|
|
41 files changed, 29 insertions(+), 936 deletions(-)
|
|
|
|
diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn
|
|
--- a/chrome/android/BUILD.gn
|
|
+++ b/chrome/android/BUILD.gn
|
|
@@ -20,10 +20,6 @@ import("//chrome/android/feed/feed_java_sources.gni")
|
|
import("//chrome/android/modules/chrome_bundle_tmpl.gni")
|
|
import("//chrome/android/modules/chrome_feature_module_tmpl.gni")
|
|
import("//chrome/android/monochrome_android_manifest_jinja_variables.gni")
|
|
-import("//chrome/browser/commerce/price_tracking/android/java_sources.gni")
|
|
-import("//chrome/browser/commerce/subscriptions/android/java_sources.gni")
|
|
-import(
|
|
- "//chrome/browser/commerce/subscriptions/test/android/test_java_sources.gni")
|
|
import("//chrome/browser/password_manager/buildflags.gni")
|
|
import("//chrome/browser/share/android/java_sources.gni")
|
|
import("//chrome/chrome_paks.gni")
|
|
@@ -394,9 +390,6 @@ if (current_toolchain == default_toolchain) {
|
|
"//chrome/browser/browser_controls/android:java",
|
|
"//chrome/browser/commerce/android:java",
|
|
"//chrome/browser/commerce/merchant_viewer/android:java",
|
|
- "//chrome/browser/commerce/price_tracking/android:java",
|
|
- "//chrome/browser/commerce/price_tracking/proto:proto_java",
|
|
- "//chrome/browser/commerce/subscriptions/android:subscriptions_java",
|
|
"//chrome/browser/consent_auditor/android:java",
|
|
"//chrome/browser/contextmenu:java",
|
|
"//chrome/browser/creator/android:java",
|
|
@@ -783,16 +776,6 @@ if (current_toolchain == default_toolchain) {
|
|
sources += share_java_sources
|
|
deps += share_java_deps
|
|
|
|
- # TODO(crbug/1186003): Instead of adding source files, add it as a separate
|
|
- # dependency when circular deps is resolved.
|
|
- sources += price_tracking_java_sources
|
|
- deps += price_tracking_java_deps
|
|
-
|
|
- # TODO(crbug/1210158): Instead of adding source files, add it as a separate
|
|
- # dependency when circular deps is resolved.
|
|
- sources += commerce_subscriptions_java_sources
|
|
- deps += commerce_subscriptions_java_deps
|
|
-
|
|
if (enable_basic_printing) {
|
|
deps += [ "//printing:printing_java" ]
|
|
}
|
|
@@ -996,9 +979,6 @@ if (current_toolchain == default_toolchain) {
|
|
"//chrome/browser/browser_controls/android:junit",
|
|
"//chrome/browser/commerce/android:java",
|
|
"//chrome/browser/commerce/merchant_viewer/android:junit",
|
|
- "//chrome/browser/commerce/price_tracking/android:java",
|
|
- "//chrome/browser/commerce/price_tracking/proto:proto_java",
|
|
- "//chrome/browser/commerce/subscriptions/android:subscriptions_java",
|
|
"//chrome/browser/contextmenu:java",
|
|
"//chrome/browser/creator/android:java",
|
|
"//chrome/browser/creator/android:junit",
|
|
@@ -1390,7 +1370,6 @@ if (current_toolchain == default_toolchain) {
|
|
"//chrome/browser/android/browserservices/intents:java",
|
|
"//chrome/browser/android/browserservices/verification:java",
|
|
"//chrome/browser/android/crypto:java",
|
|
- "//chrome/browser/commerce/subscriptions/android:subscriptions_java",
|
|
"//chrome/browser/contextmenu:java",
|
|
"//chrome/browser/download/android:download_java_tests",
|
|
"//chrome/browser/download/android:file_provider_java",
|
|
@@ -1520,8 +1499,6 @@ if (current_toolchain == default_toolchain) {
|
|
"//chrome/browser/commerce/android:javatests",
|
|
"//chrome/browser/commerce/merchant_viewer/android:java",
|
|
"//chrome/browser/commerce/merchant_viewer/android:javatests",
|
|
- "//chrome/browser/commerce/price_tracking/android:java",
|
|
- "//chrome/browser/commerce/subscriptions/android:subscriptions_java",
|
|
"//chrome/browser/content_creation/notes/internal/android:java",
|
|
"//chrome/browser/contextmenu:java",
|
|
"//chrome/browser/dependency_injection:java",
|
|
@@ -1799,8 +1776,6 @@ if (current_toolchain == default_toolchain) {
|
|
|
|
deps += feed_test_deps
|
|
|
|
- deps += commerce_subscriptions_java_test_deps
|
|
-
|
|
if (enable_basic_printing) {
|
|
deps += [ "//printing:printing_java" ]
|
|
}
|
|
@@ -4158,8 +4133,6 @@ group("jni_headers") {
|
|
"//chrome/browser/android/browserservices/verification:jni_headers",
|
|
"//chrome/browser/battery/android:jni_headers",
|
|
"//chrome/browser/commerce/merchant_viewer/android:jni_headers",
|
|
- "//chrome/browser/commerce/price_tracking/android:jni_headers",
|
|
- "//chrome/browser/commerce/subscriptions/android:jni_headers",
|
|
"//chrome/browser/contextmenu:jni_headers",
|
|
"//chrome/browser/download/android:jni_headers",
|
|
"//chrome/browser/enterprise/util:jni_headers",
|
|
diff --git a/chrome/android/chrome_java_sources.gni b/chrome/android/chrome_java_sources.gni
|
|
--- a/chrome/android/chrome_java_sources.gni
|
|
+++ b/chrome/android/chrome_java_sources.gni
|
|
@@ -197,10 +197,6 @@ chrome_java_sources = [
|
|
"java/src/org/chromium/chrome/browser/bookmarks/BookmarkUIState.java",
|
|
"java/src/org/chromium/chrome/browser/bookmarks/BookmarkUndoController.java",
|
|
"java/src/org/chromium/chrome/browser/bookmarks/BookmarkUtils.java",
|
|
- "java/src/org/chromium/chrome/browser/bookmarks/PowerBookmarkMetrics.java",
|
|
- "java/src/org/chromium/chrome/browser/bookmarks/PowerBookmarkShoppingItemRow.java",
|
|
- "java/src/org/chromium/chrome/browser/bookmarks/PowerBookmarkTagChipList.java",
|
|
- "java/src/org/chromium/chrome/browser/bookmarks/PowerBookmarkUtils.java",
|
|
"java/src/org/chromium/chrome/browser/bookmarks/ReadingListFeatures.java",
|
|
"java/src/org/chromium/chrome/browser/bookmarks/ReadingListSectionHeader.java",
|
|
"java/src/org/chromium/chrome/browser/bookmarks/TabBookmarker.java",
|
|
@@ -948,7 +944,6 @@ chrome_java_sources = [
|
|
"java/src/org/chromium/chrome/browser/searchwidget/SearchType.java",
|
|
"java/src/org/chromium/chrome/browser/searchwidget/SearchWidgetProvider.java",
|
|
"java/src/org/chromium/chrome/browser/segmentation_platform/ContextualPageActionController.java",
|
|
- "java/src/org/chromium/chrome/browser/segmentation_platform/PriceTrackingActionProvider.java",
|
|
"java/src/org/chromium/chrome/browser/segmentation_platform/ReaderModeActionProvider.java",
|
|
"java/src/org/chromium/chrome/browser/segmentation_platform/SignalAccumulator.java",
|
|
"java/src/org/chromium/chrome/browser/settings/MainSettings.java",
|
|
diff --git a/chrome/android/features/tab_ui/BUILD.gn b/chrome/android/features/tab_ui/BUILD.gn
|
|
--- a/chrome/android/features/tab_ui/BUILD.gn
|
|
+++ b/chrome/android/features/tab_ui/BUILD.gn
|
|
@@ -110,11 +110,6 @@ android_library("java") {
|
|
"java/src/org/chromium/chrome/browser/tasks/tab_management/MessageCardViewUtils.java",
|
|
"java/src/org/chromium/chrome/browser/tasks/tab_management/MessageService.java",
|
|
"java/src/org/chromium/chrome/browser/tasks/tab_management/MultiThumbnailCardProvider.java",
|
|
- "java/src/org/chromium/chrome/browser/tasks/tab_management/PriceCardView.java",
|
|
- "java/src/org/chromium/chrome/browser/tasks/tab_management/PriceMessageCardViewModel.java",
|
|
- "java/src/org/chromium/chrome/browser/tasks/tab_management/PriceMessageService.java",
|
|
- "java/src/org/chromium/chrome/browser/tasks/tab_management/PriceTrackingDialogCoordinator.java",
|
|
- "java/src/org/chromium/chrome/browser/tasks/tab_management/PriceTrackingDialogView.java",
|
|
"java/src/org/chromium/chrome/browser/tasks/tab_management/SelectableTabGridView.java",
|
|
"java/src/org/chromium/chrome/browser/tasks/tab_management/StoreHoursCardView.java",
|
|
"java/src/org/chromium/chrome/browser/tasks/tab_management/TabGridDialogCoordinator.java",
|
|
@@ -194,7 +189,6 @@ android_library("java") {
|
|
"//chrome/browser/android/lifecycle:java",
|
|
"//chrome/browser/back_press/android:java",
|
|
"//chrome/browser/browser_controls/android:java",
|
|
- "//chrome/browser/commerce/price_tracking/android:java",
|
|
"//chrome/browser/endpoint_fetcher:java",
|
|
"//chrome/browser/feature_engagement:java",
|
|
"//chrome/browser/feed/android:java",
|
|
@@ -276,7 +270,6 @@ android_library("unit_device_javatests") {
|
|
"//base/test:test_support_java",
|
|
"//chrome/android/features/tab_ui:java",
|
|
"//chrome/android/features/tab_ui:tab_suggestions_java",
|
|
- "//chrome/browser/commerce/price_tracking/android:java",
|
|
"//chrome/browser/flags:java",
|
|
"//chrome/browser/optimization_guide/android:java",
|
|
"//chrome/browser/profiles/android:java",
|
|
diff --git a/chrome/android/features/tab_ui/java/res/layout/large_message_card_item.xml b/chrome/android/features/tab_ui/java/res/layout/large_message_card_item.xml
|
|
--- a/chrome/android/features/tab_ui/java/res/layout/large_message_card_item.xml
|
|
+++ b/chrome/android/features/tab_ui/java/res/layout/large_message_card_item.xml
|
|
@@ -22,15 +22,6 @@ found in the LICENSE file.
|
|
android:layout_height="match_parent"
|
|
android:layout_marginBottom="16dp"
|
|
android:orientation="vertical">
|
|
- <org.chromium.chrome.browser.tasks.tab_management.PriceCardView
|
|
- android:id="@+id/price_info_box"
|
|
- android:layout_width="wrap_content"
|
|
- android:layout_height="wrap_content"
|
|
- android:layout_marginTop="16dp"
|
|
- android:layout_marginBottom="16dp"
|
|
- android:layout_gravity="center"
|
|
- android:gravity="center_horizontal"
|
|
- android:visibility="gone" />
|
|
<org.chromium.ui.widget.ChromeImageView
|
|
android:id="@+id/icon"
|
|
android:layout_width="26dp"
|
|
diff --git a/chrome/android/features/tab_ui/java/res/layout/tab_grid_card_item.xml b/chrome/android/features/tab_ui/java/res/layout/tab_grid_card_item.xml
|
|
--- a/chrome/android/features/tab_ui/java/res/layout/tab_grid_card_item.xml
|
|
+++ b/chrome/android/features/tab_ui/java/res/layout/tab_grid_card_item.xml
|
|
@@ -62,14 +62,6 @@ found in the LICENSE file.
|
|
app:cornerRadiusTopEnd="@dimen/tab_grid_card_thumbnail_corner_radius_top"
|
|
app:cornerRadiusBottomStart="@dimen/tab_grid_card_thumbnail_corner_radius_bottom"
|
|
app:cornerRadiusBottomEnd="@dimen/tab_grid_card_thumbnail_corner_radius_bottom"/>
|
|
- <org.chromium.chrome.browser.tasks.tab_management.PriceCardView
|
|
- android:id="@+id/price_info_box_outer"
|
|
- android:layout_below="@id/tab_title"
|
|
- android:background="@drawable/price_card_scrim"
|
|
- android:layout_width="match_parent"
|
|
- android:layout_height="56dp"
|
|
- android:layout_marginStart="4dp"
|
|
- android:visibility="gone"/>
|
|
<org.chromium.chrome.browser.tasks.tab_management.CouponCardView
|
|
android:id="@+id/coupon_info_box_outer"
|
|
android:layout_below="@id/tab_title"
|
|
diff --git a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/LargeMessageCardView.java b/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/LargeMessageCardView.java
|
|
--- a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/LargeMessageCardView.java
|
|
+++ b/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/LargeMessageCardView.java
|
|
@@ -40,7 +40,6 @@ class LargeMessageCardView extends FrameLayout {
|
|
private final Context mContext;
|
|
private final int mLandscapeSidePadding;
|
|
private MaterialCardViewNoShadow mMaterialCardViewNoShadow;
|
|
- private PriceCardView mPriceInfoBox;
|
|
private ChromeImageView mIcon;
|
|
private TextView mTitle;
|
|
private TextView mDescription;
|
|
@@ -60,7 +59,6 @@ class LargeMessageCardView extends FrameLayout {
|
|
super.onFinishInflate();
|
|
|
|
mMaterialCardViewNoShadow = findViewById(R.id.large_message_card_view);
|
|
- mPriceInfoBox = findViewById(R.id.price_info_box);
|
|
mIcon = findViewById(R.id.icon);
|
|
mTitle = findViewById(R.id.title);
|
|
mDescription = findViewById(R.id.description);
|
|
@@ -151,18 +149,6 @@ class LargeMessageCardView extends FrameLayout {
|
|
mCloseButton.setOnClickListener(listener);
|
|
}
|
|
|
|
- /**
|
|
- * Setup the price info box.
|
|
- */
|
|
- void setupPriceInfoBox(@Nullable ShoppingPersistedTabData.PriceDrop priceDrop) {
|
|
- if (priceDrop != null) {
|
|
- mPriceInfoBox.setPriceStrings(priceDrop.price, priceDrop.previousPrice);
|
|
- mPriceInfoBox.setVisibility(View.VISIBLE);
|
|
- } else {
|
|
- mPriceInfoBox.setVisibility(View.GONE);
|
|
- }
|
|
- }
|
|
-
|
|
/**
|
|
* Set icon drawable.
|
|
* @param iconDrawable Drawable to be shown.
|
|
@@ -204,22 +190,6 @@ class LargeMessageCardView extends FrameLayout {
|
|
}
|
|
}
|
|
|
|
- // TODO(crbug.com/1166704): This method has little to do with this view. Move this function to a
|
|
- // price tracking UI utility class.
|
|
- /**
|
|
- * When user taps on "Show me" on PriceWelcomeMessage, we scroll them to the binding tab, then a
|
|
- * blue tooltip appears and points to the price drop indicator.
|
|
- */
|
|
- public static void showPriceDropTooltip(View view) {
|
|
- ViewRectProvider rectProvider = new ViewRectProvider(view);
|
|
- TextBubble textBubble = new TextBubble(view.getContext(), view,
|
|
- R.string.price_drop_spotted_lower_price, R.string.price_drop_spotted_lower_price,
|
|
- true, rectProvider, ChromeAccessibilityUtil.get().isAccessibilityEnabled());
|
|
- textBubble.setFocusable(true);
|
|
- textBubble.setDismissOnTouchInteraction(true);
|
|
- textBubble.show();
|
|
- }
|
|
-
|
|
/**
|
|
* Update Message Card when switching between normal mode and incognito mode.
|
|
*
|
|
diff --git a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/LargeMessageCardViewBinder.java b/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/LargeMessageCardViewBinder.java
|
|
--- a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/LargeMessageCardViewBinder.java
|
|
+++ b/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/LargeMessageCardViewBinder.java
|
|
@@ -41,7 +41,6 @@ class LargeMessageCardViewBinder {
|
|
itemView.setSecondaryActionButtonOnClickListener(
|
|
model.get(MessageCardViewProperties.SECONDARY_ACTION_BUTTON_CLICK_HANDLER));
|
|
} else if (MessageCardViewProperties.PRICE_DROP == propertyKey) {
|
|
- itemView.setupPriceInfoBox(model.get(MessageCardViewProperties.PRICE_DROP));
|
|
} else if (MessageCardViewProperties.ICON_PROVIDER == propertyKey) {
|
|
itemView.setIconDrawable(
|
|
model.get(MessageCardViewProperties.ICON_PROVIDER).getIconDrawable());
|
|
diff --git a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/MessageCardProviderMediator.java b/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/MessageCardProviderMediator.java
|
|
--- a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/MessageCardProviderMediator.java
|
|
+++ b/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/MessageCardProviderMediator.java
|
|
@@ -112,10 +112,6 @@ public class MessageCardProviderMediator implements MessageService.MessageObserv
|
|
assert data instanceof IphMessageService.IphMessageData;
|
|
return IphMessageCardViewModel.create(mContext, this::invalidateShownMessage,
|
|
(IphMessageService.IphMessageData) data);
|
|
- case PRICE_MESSAGE:
|
|
- assert data instanceof PriceMessageService.PriceMessageData;
|
|
- return PriceMessageCardViewModel.create(mContext, this::invalidateShownMessage,
|
|
- (PriceMessageService.PriceMessageData) data);
|
|
case INCOGNITO_REAUTH_PROMO_MESSAGE:
|
|
assert data
|
|
instanceof IncognitoReauthPromoMessageService.IncognitoReauthMessageData;
|
|
@@ -167,4 +163,4 @@ public class MessageCardProviderMediator implements MessageService.MessageObserv
|
|
Map<Integer, Message> getShownMessageItemsForTesting() {
|
|
return mShownMessageItems;
|
|
}
|
|
-}
|
|
\ No newline at end of file
|
|
+}
|
|
diff --git a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/StoreTrackingUtilities.java b/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/StoreTrackingUtilities.java
|
|
--- a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/StoreTrackingUtilities.java
|
|
+++ b/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/StoreTrackingUtilities.java
|
|
@@ -4,7 +4,6 @@
|
|
|
|
package org.chromium.chrome.browser.tasks.tab_management;
|
|
import org.chromium.chrome.browser.flags.ChromeFeatureList;
|
|
-import org.chromium.chrome.browser.price_tracking.PriceTrackingUtilities;
|
|
|
|
/**
|
|
* A class to handle whether store hours feature is enabled.
|
|
@@ -14,7 +13,6 @@ public class StoreTrackingUtilities {
|
|
* @return Whether the show store hours on tabs feature is enabled.
|
|
*/
|
|
public static boolean isStoreHoursOnTabsEnabled() {
|
|
- return ChromeFeatureList.sStoreHoursAndroid.isEnabled()
|
|
- && !PriceTrackingUtilities.isTrackPricesOnTabsEnabled();
|
|
+ return ChromeFeatureList.sStoreHoursAndroid.isEnabled();
|
|
}
|
|
}
|
|
diff --git a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabGridDialogCoordinator.java b/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabGridDialogCoordinator.java
|
|
--- a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabGridDialogCoordinator.java
|
|
+++ b/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabGridDialogCoordinator.java
|
|
@@ -97,7 +97,7 @@ public class TabGridDialogCoordinator implements TabGridDialogMediator.DialogCon
|
|
tabId, thumbnailSize, callback, forceUpdate, writeBack);
|
|
},
|
|
null, false, gridCardOnClickListenerProvider,
|
|
- mMediator.getTabGridDialogHandler(), TabProperties.UiType.CLOSABLE, null, null,
|
|
+ mMediator.getTabGridDialogHandler(), TabProperties.UiType.CLOSABLE, null,
|
|
containerView, false, mComponentName, rootView, null);
|
|
TabListRecyclerView recyclerView = mTabListCoordinator.getContainerView();
|
|
|
|
diff --git a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabGridViewBinder.java b/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabGridViewBinder.java
|
|
--- a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabGridViewBinder.java
|
|
+++ b/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabGridViewBinder.java
|
|
@@ -205,24 +205,9 @@ class TabGridViewBinder {
|
|
pageInfoButton.setVisibility(View.GONE);
|
|
} else {
|
|
// Search query and price string are mutually exclusive
|
|
- assert model.get(TabProperties.SHOPPING_PERSISTED_TAB_DATA_FETCHER) == null;
|
|
pageInfoButton.setVisibility(View.VISIBLE);
|
|
pageInfoButton.getPrimaryTextView().setText(query);
|
|
}
|
|
- } else if (TabProperties.SHOPPING_PERSISTED_TAB_DATA_FETCHER == propertyKey) {
|
|
- fetchPriceDrop(model, (priceDrop) -> {
|
|
- PriceCardView priceCardView =
|
|
- (PriceCardView) view.fastFindViewById(R.id.price_info_box_outer);
|
|
- if (priceDrop == null) {
|
|
- priceCardView.setVisibility(View.GONE);
|
|
- return;
|
|
- }
|
|
- priceCardView.setPriceStrings(priceDrop.price, priceDrop.previousPrice);
|
|
- priceCardView.setVisibility(View.VISIBLE);
|
|
- priceCardView.setContentDescription(
|
|
- view.getResources().getString(R.string.accessibility_tab_price_card,
|
|
- priceDrop.previousPrice, priceDrop.price));
|
|
- }, true);
|
|
} else if (TabProperties.COUPON_PERSISTED_TAB_DATA_FETCHER == propertyKey) {
|
|
CouponCardView couponCardView =
|
|
(CouponCardView) view.fastFindViewById(R.id.coupon_info_box_outer);
|
|
@@ -269,13 +254,6 @@ class TabGridViewBinder {
|
|
storeHoursCardView.setVisibility(View.GONE);
|
|
}
|
|
} else if (TabProperties.SHOULD_SHOW_PRICE_DROP_TOOLTIP == propertyKey) {
|
|
- if (model.get(TabProperties.SHOULD_SHOW_PRICE_DROP_TOOLTIP)) {
|
|
- PriceCardView priceCardView =
|
|
- (PriceCardView) view.fastFindViewById(R.id.price_info_box_outer);
|
|
- assert priceCardView.getVisibility() == View.VISIBLE;
|
|
- LargeMessageCardView.showPriceDropTooltip(
|
|
- priceCardView.findViewById(R.id.current_price));
|
|
- }
|
|
} else if (TabProperties.PAGE_INFO_LISTENER == propertyKey) {
|
|
TabListMediator.TabActionListener listener =
|
|
model.get(TabProperties.PAGE_INFO_LISTENER);
|
|
@@ -337,21 +315,6 @@ class TabGridViewBinder {
|
|
|
|
private static void fetchPriceDrop(PropertyModel model,
|
|
Callback<ShoppingPersistedTabData.PriceDrop> callback, boolean shouldLog) {
|
|
- if (model.get(TabProperties.SHOPPING_PERSISTED_TAB_DATA_FETCHER) == null) {
|
|
- callback.onResult(null);
|
|
- return;
|
|
- }
|
|
- model.get(TabProperties.SHOPPING_PERSISTED_TAB_DATA_FETCHER)
|
|
- .fetch((shoppingPersistedTabData) -> {
|
|
- if (shoppingPersistedTabData == null) {
|
|
- callback.onResult(null);
|
|
- return;
|
|
- }
|
|
- if (shouldLog) {
|
|
- shoppingPersistedTabData.logPriceDropMetrics(SHOPPING_METRICS_IDENTIFIER);
|
|
- }
|
|
- callback.onResult(shoppingPersistedTabData.getPriceDrop());
|
|
- });
|
|
}
|
|
|
|
private static void updateThumbnail(ViewLookupCachingFrameLayout view, PropertyModel model) {
|
|
diff --git a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabGroupUiCoordinator.java b/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabGroupUiCoordinator.java
|
|
--- a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabGroupUiCoordinator.java
|
|
+++ b/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabGroupUiCoordinator.java
|
|
@@ -144,7 +144,7 @@ public class TabGroupUiCoordinator implements TabGroupUiMediator.ResetHandler, T
|
|
boolean actionOnAllRelatedTabs = TabUiFeatureUtilities.isConditionalTabStripEnabled();
|
|
mTabStripCoordinator = new TabListCoordinator(TabListCoordinator.TabListMode.STRIP,
|
|
mContext, mTabModelSelector, null, null, actionOnAllRelatedTabs, null, null,
|
|
- TabProperties.UiType.STRIP, null, null, mTabListContainerView, true,
|
|
+ TabProperties.UiType.STRIP, null, mTabListContainerView, true,
|
|
COMPONENT_NAME, mRootView, onModelTokenChange);
|
|
mTabStripCoordinator.initWithNative(mDynamicResourceLoaderSupplier.get());
|
|
|
|
diff --git a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabListCoordinator.java b/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabListCoordinator.java
|
|
--- a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabListCoordinator.java
|
|
+++ b/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabListCoordinator.java
|
|
@@ -55,7 +55,7 @@ import java.util.List;
|
|
* Coordinator for showing UI for a list of tabs. Can be used in GRID or STRIP modes.
|
|
*/
|
|
public class TabListCoordinator
|
|
- implements PriceMessageService.PriceWelcomeMessageProvider, DestroyObserver {
|
|
+ implements DestroyObserver {
|
|
/**
|
|
* Modes of showing the list of tabs.
|
|
*
|
|
@@ -111,7 +111,6 @@ public class TabListCoordinator
|
|
* @param itemType The item type to put in the list of tabs.
|
|
* @param selectionDelegateProvider Provider to provide selected Tabs for a selectable tab list.
|
|
* It's NULL when selection is not possible.
|
|
- * @param priceWelcomeMessageController A controller to show PriceWelcomeMessage.
|
|
* @param parentView {@link ViewGroup} The root view of the UI.
|
|
* @param attachToParent Whether the UI should attach to root view.
|
|
* @param componentName A unique string uses to identify different components for UMA recording.
|
|
@@ -128,8 +127,6 @@ public class TabListCoordinator
|
|
.GridCardOnClickListenerProvider gridCardOnClickListenerProvider,
|
|
@Nullable TabListMediator.TabGridDialogHandler dialogHandler, @UiType int itemType,
|
|
@Nullable TabListMediator.SelectionDelegateProvider selectionDelegateProvider,
|
|
- @Nullable TabSwitcherMediator
|
|
- .PriceWelcomeMessageController priceWelcomeMessageController,
|
|
@NonNull ViewGroup parentView, boolean attachToParent, String componentName,
|
|
@NonNull ViewGroup rootView, @Nullable Callback<Object> onModelTokenChange) {
|
|
mMode = mode;
|
|
@@ -233,7 +230,7 @@ public class TabListCoordinator
|
|
mMediator = new TabListMediator(context, mModel, mMode, tabModelSelector, thumbnailProvider,
|
|
titleProvider, tabListFaviconProvider, actionOnRelatedTabs,
|
|
selectionDelegateProvider, gridCardOnClickListenerProvider, dialogHandler,
|
|
- priceWelcomeMessageController, componentName, itemType);
|
|
+ componentName, itemType);
|
|
|
|
try (TraceEvent e = TraceEvent.scoped("TabListCoordinator.setupRecyclerView")) {
|
|
if (!attachToParent) {
|
|
@@ -377,13 +374,6 @@ public class TabListCoordinator
|
|
return tabListRect.top;
|
|
}
|
|
|
|
- /**
|
|
- * @see TabListMediator#getPriceWelcomeMessageInsertionIndex().
|
|
- */
|
|
- int getPriceWelcomeMessageInsertionIndex() {
|
|
- return mMediator.getPriceWelcomeMessageInsertionIndex();
|
|
- }
|
|
-
|
|
/**
|
|
* @return The container {@link androidx.recyclerview.widget.RecyclerView} that is showing the
|
|
* tab list UI.
|
|
@@ -533,15 +523,4 @@ public class TabListCoordinator
|
|
void removeSpecialListItem(@UiType int uiType, int itemIdentifier) {
|
|
mMediator.removeSpecialItemFromModel(uiType, itemIdentifier);
|
|
}
|
|
-
|
|
- // PriceWelcomeMessageService.PriceWelcomeMessageProvider implementation.
|
|
- @Override
|
|
- public int getTabIndexFromTabId(int tabId) {
|
|
- return mModel.indexFromId(tabId);
|
|
- }
|
|
-
|
|
- @Override
|
|
- public void showPriceDropTooltip(int index) {
|
|
- mModel.get(index).model.set(TabProperties.SHOULD_SHOW_PRICE_DROP_TOOLTIP, true);
|
|
- }
|
|
}
|
|
diff --git a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabListMediator.java b/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabListMediator.java
|
|
--- a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabListMediator.java
|
|
+++ b/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabListMediator.java
|
|
@@ -45,8 +45,6 @@ import org.chromium.chrome.browser.compositor.layouts.content.TabContentManager;
|
|
import org.chromium.chrome.browser.multiwindow.MultiWindowUtils;
|
|
import org.chromium.chrome.browser.preferences.ChromePreferenceKeys;
|
|
import org.chromium.chrome.browser.preferences.SharedPreferencesManager;
|
|
-import org.chromium.chrome.browser.price_tracking.PriceTrackingFeatures;
|
|
-import org.chromium.chrome.browser.price_tracking.PriceTrackingUtilities;
|
|
import org.chromium.chrome.browser.profiles.Profile;
|
|
import org.chromium.chrome.browser.search_engines.TemplateUrlServiceFactory;
|
|
import org.chromium.chrome.browser.tab.EmptyTabObserver;
|
|
@@ -71,11 +69,9 @@ import org.chromium.chrome.browser.tasks.tab_groups.EmptyTabGroupModelFilterObse
|
|
import org.chromium.chrome.browser.tasks.tab_groups.TabGroupModelFilter;
|
|
import org.chromium.chrome.browser.tasks.tab_groups.TabGroupTitleUtils;
|
|
import org.chromium.chrome.browser.tasks.tab_groups.TabGroupUtils;
|
|
-import org.chromium.chrome.browser.tasks.tab_management.PriceMessageService.PriceTabData;
|
|
import org.chromium.chrome.browser.tasks.tab_management.TabListCoordinator.TabListMode;
|
|
import org.chromium.chrome.browser.tasks.tab_management.TabListFaviconProvider.TabFavicon;
|
|
import org.chromium.chrome.browser.tasks.tab_management.TabProperties.UiType;
|
|
-import org.chromium.chrome.browser.tasks.tab_management.TabSwitcherMediator.PriceWelcomeMessageController;
|
|
import org.chromium.chrome.tab_ui.R;
|
|
import org.chromium.components.browser_ui.styles.SemanticColorUtils;
|
|
import org.chromium.components.browser_ui.widget.selectable_list.SelectionDelegate;
|
|
@@ -186,51 +182,6 @@ class TabListMediator {
|
|
boolean isReorderAction(int action);
|
|
}
|
|
|
|
- /**
|
|
- * Provides capability to asynchronously acquire {@link ShoppingPersistedTabData}
|
|
- */
|
|
- static class ShoppingPersistedTabDataFetcher {
|
|
- protected Tab mTab;
|
|
- protected PriceWelcomeMessageController mPriceWelcomeMessageController;
|
|
-
|
|
- /**
|
|
- * @param tab {@link Tab} {@link ShoppingPersistedTabData} will be acquired for.
|
|
- * @param priceWelcomeMessageController to show the price welcome message.
|
|
- */
|
|
- ShoppingPersistedTabDataFetcher(
|
|
- Tab tab, @Nullable PriceWelcomeMessageController priceWelcomeMessageController) {
|
|
- mTab = tab;
|
|
- mPriceWelcomeMessageController = priceWelcomeMessageController;
|
|
- }
|
|
-
|
|
- /**
|
|
- * Asynchronously acquire {@link ShoppingPersistedTabData}
|
|
- * @param callback {@link Callback} to pass {@link ShoppingPersistedTabData} back in
|
|
- */
|
|
- public void fetch(Callback<ShoppingPersistedTabData> callback) {
|
|
- ShoppingPersistedTabData.from(mTab, (res) -> {
|
|
- callback.onResult(res);
|
|
- maybeShowPriceWelcomeMessage(res);
|
|
- });
|
|
- }
|
|
-
|
|
- @VisibleForTesting
|
|
- void maybeShowPriceWelcomeMessage(
|
|
- @Nullable ShoppingPersistedTabData shoppingPersistedTabData) {
|
|
- // Avoid inserting message while RecyclerView is computing a layout.
|
|
- new Handler().post(() -> {
|
|
- if (!PriceTrackingUtilities.isPriceWelcomeMessageCardEnabled()
|
|
- || (mPriceWelcomeMessageController == null)
|
|
- || (shoppingPersistedTabData == null)
|
|
- || (shoppingPersistedTabData.getPriceDrop() == null)) {
|
|
- return;
|
|
- }
|
|
- mPriceWelcomeMessageController.showPriceWelcomeMessage(
|
|
- new PriceTabData(mTab.getId(), shoppingPersistedTabData.getPriceDrop()));
|
|
- });
|
|
- }
|
|
- }
|
|
-
|
|
/**
|
|
* Provides capability to asynchronously acquire {@link StorePersistedTabData}
|
|
*/
|
|
@@ -379,7 +330,6 @@ class TabListMediator {
|
|
private final TabGridDialogHandler mTabGridDialogHandler;
|
|
private final String mComponentName;
|
|
private final TabListFaviconProvider mTabListFaviconProvider;
|
|
- private final PriceWelcomeMessageController mPriceWelcomeMessageController;
|
|
|
|
private ThumbnailProvider mThumbnailProvider;
|
|
private boolean mActionsOnAllRelatedTabs;
|
|
@@ -582,7 +532,6 @@ class TabListMediator {
|
|
* @param gridCardOnClickListenerProvider Provides the onClickListener for opening dialog when
|
|
* click on a grid card.
|
|
* @param dialogHandler A handler to handle requests about updating TabGridDialog.
|
|
- * @param priceWelcomeMessageController A controller to show PriceWelcomeMessage.
|
|
* @param componentName This is a unique string to identify different components.
|
|
* @param uiType The type of UI this mediator should be building.
|
|
*/
|
|
@@ -593,7 +542,6 @@ class TabListMediator {
|
|
@Nullable SelectionDelegateProvider selectionDelegateProvider,
|
|
@Nullable GridCardOnClickListenerProvider gridCardOnClickListenerProvider,
|
|
@Nullable TabGridDialogHandler dialogHandler,
|
|
- @Nullable PriceWelcomeMessageController priceWelcomeMessageController,
|
|
String componentName, @UiType int uiType) {
|
|
mContext = context;
|
|
mTabModelSelector = tabModelSelector;
|
|
@@ -608,7 +556,6 @@ class TabListMediator {
|
|
mTabGridDialogHandler = dialogHandler;
|
|
mActionsOnAllRelatedTabs = actionOnRelatedTabs;
|
|
mUiType = uiType;
|
|
- mPriceWelcomeMessageController = priceWelcomeMessageController;
|
|
|
|
mTabModelObserver = new TabModelObserver() {
|
|
@Override
|
|
@@ -805,35 +752,6 @@ class TabListMediator {
|
|
mTabGridItemTouchHelperCallback = new TabGridItemTouchHelperCallback(context, mModel,
|
|
mTabModelSelector, mTabClosedListener, mTabGridDialogHandler, mComponentName,
|
|
mActionsOnAllRelatedTabs, mMode);
|
|
-
|
|
- // Right now we need to update layout only if there is a price welcome message card in tab
|
|
- // switcher.
|
|
- if (mMode == TabListMode.GRID && mUiType != UiType.SELECTABLE
|
|
- && PriceTrackingFeatures.isPriceTrackingEnabled()) {
|
|
- mListObserver = new ListObserver<Void>() {
|
|
- @Override
|
|
- public void onItemRangeInserted(ListObservable source, int index, int count) {
|
|
- updateLayout();
|
|
- }
|
|
-
|
|
- @Override
|
|
- public void onItemRangeRemoved(ListObservable source, int index, int count) {
|
|
- updateLayout();
|
|
- }
|
|
-
|
|
- @Override
|
|
- public void onItemRangeChanged(
|
|
- ListObservable<Void> source, int index, int count, @Nullable Void payload) {
|
|
- updateLayout();
|
|
- }
|
|
-
|
|
- @Override
|
|
- public void onItemMoved(ListObservable source, int curIndex, int newIndex) {
|
|
- updateLayout();
|
|
- }
|
|
- };
|
|
- mModel.addObserver(mListObserver);
|
|
- }
|
|
}
|
|
|
|
public void initWithNative(Profile profile) {
|
|
@@ -1259,9 +1177,6 @@ class TabListMediator {
|
|
Collections.sort(tabsList, LAST_SHOWN_COMPARATOR);
|
|
}
|
|
mVisible = tabsList != null;
|
|
- if (tabs != null) {
|
|
- recordPriceAnnotationsEnabledMetrics();
|
|
- }
|
|
if (areTabsUnchanged(tabsList)) {
|
|
if (tabsList == null) return true;
|
|
for (int i = 0; i < tabsList.size(); i++) {
|
|
@@ -1326,11 +1241,6 @@ class TabListMediator {
|
|
|
|
void hardCleanup() {
|
|
assert !mVisible;
|
|
- if (PriceTrackingUtilities.isTrackPricesOnTabsEnabled()
|
|
- && (PriceTrackingFeatures.isPriceDropIphEnabled()
|
|
- || PriceTrackingFeatures.isPriceDropBadgeEnabled())) {
|
|
- saveSeenPriceDrops();
|
|
- }
|
|
sViewedTabIds.clear();
|
|
}
|
|
|
|
@@ -1491,25 +1401,6 @@ class TabListMediator {
|
|
* @param recyclerView the {@link TabListRecyclerView} to add the listener too.
|
|
*/
|
|
void registerOnScrolledListener(RecyclerView recyclerView) {
|
|
- if (PriceTrackingUtilities.isTrackPricesOnTabsEnabled()
|
|
- && (PriceTrackingFeatures.isPriceDropIphEnabled()
|
|
- || PriceTrackingFeatures.isPriceDropBadgeEnabled())) {
|
|
- mRecyclerView = recyclerView;
|
|
- mOnScrollListener = new OnScrollListener() {
|
|
- @Override
|
|
- public void onScrolled(@NonNull RecyclerView recyclerView, int dx, int dy) {
|
|
- if (!mTabModelSelector.isIncognitoSelected()) {
|
|
- for (int i = 0; i < mRecyclerView.getChildCount(); i++) {
|
|
- if (mRecyclerView.getLayoutManager().isViewPartiallyVisible(
|
|
- mRecyclerView.getChildAt(i), false, true)) {
|
|
- addViewedTabId(i);
|
|
- }
|
|
- }
|
|
- }
|
|
- }
|
|
- };
|
|
- mRecyclerView.addOnScrollListener(mOnScrollListener);
|
|
- }
|
|
}
|
|
|
|
private void unregisterOnScrolledListener() {
|
|
@@ -1887,34 +1778,6 @@ class TabListMediator {
|
|
}
|
|
|
|
private void setupPersistedTabDataFetcherForTab(PseudoTab pseudoTab, int index) {
|
|
- if (mMode == TabListMode.GRID && pseudoTab.hasRealTab() && !pseudoTab.isIncognito()) {
|
|
- if (PriceTrackingUtilities.isTrackPricesOnTabsEnabled()
|
|
- && isUngroupedTab(pseudoTab.getId())) {
|
|
- mModel.get(index).model.set(TabProperties.SHOPPING_PERSISTED_TAB_DATA_FETCHER,
|
|
- new ShoppingPersistedTabDataFetcher(
|
|
- pseudoTab.getTab(), mPriceWelcomeMessageController));
|
|
- } else {
|
|
- mModel.get(index).model.set(
|
|
- TabProperties.SHOPPING_PERSISTED_TAB_DATA_FETCHER, null);
|
|
- }
|
|
- if (StoreTrackingUtilities.isStoreHoursOnTabsEnabled()
|
|
- && isUngroupedTab(pseudoTab.getId())) {
|
|
- mModel.get(index).model.set(TabProperties.STORE_PERSISTED_TAB_DATA_FETCHER,
|
|
- new StorePersistedTabDataFetcher(pseudoTab.getTab()));
|
|
- } else {
|
|
- mModel.get(index).model.set(TabProperties.STORE_PERSISTED_TAB_DATA_FETCHER, null);
|
|
- }
|
|
- if (CouponUtilities.isCouponsOnTabsEnabled() && isUngroupedTab(pseudoTab.getId())) {
|
|
- mModel.get(index).model.set(TabProperties.COUPON_PERSISTED_TAB_DATA_FETCHER,
|
|
- new CouponPersistedTabDataFetcher(pseudoTab.getTab()));
|
|
- } else {
|
|
- mModel.get(index).model.set(TabProperties.COUPON_PERSISTED_TAB_DATA_FETCHER, null);
|
|
- }
|
|
- } else {
|
|
- mModel.get(index).model.set(TabProperties.COUPON_PERSISTED_TAB_DATA_FETCHER, null);
|
|
- mModel.get(index).model.set(TabProperties.SHOPPING_PERSISTED_TAB_DATA_FETCHER, null);
|
|
- mModel.get(index).model.set(TabProperties.STORE_PERSISTED_TAB_DATA_FETCHER, null);
|
|
- }
|
|
}
|
|
|
|
@VisibleForTesting
|
|
@@ -2022,23 +1885,6 @@ class TabListMediator {
|
|
return false;
|
|
}
|
|
|
|
- /**
|
|
- * The PriceWelcomeMessage should be in view when user enters the tab switcher, so we put it
|
|
- * exactly below the currently selected tab.
|
|
- *
|
|
- * @return Where the PriceWelcomeMessage should be inserted in the {@link TabListModel} when
|
|
- * user enters the tab switcher.
|
|
- */
|
|
- int getPriceWelcomeMessageInsertionIndex() {
|
|
- assert mGridLayoutManager != null;
|
|
- int spanCount = mGridLayoutManager.getSpanCount();
|
|
- int selectedTabIndex = mModel.indexOfNthTabCard(
|
|
- mTabModelSelector.getTabModelFilterProvider().getCurrentTabModelFilter().index());
|
|
- int indexBelowSelectedTab = (selectedTabIndex / spanCount + 1) * spanCount;
|
|
- int indexAfterLastTab = mModel.getTabIndexBefore(mModel.size()) + 1;
|
|
- return Math.min(indexBelowSelectedTab, indexAfterLastTab);
|
|
- }
|
|
-
|
|
/**
|
|
* Update the layout of tab switcher to make it compact. Because now we have messages within the
|
|
* tabs like PriceMessage and these messages take up the entire row, some operations like
|
|
@@ -2049,7 +1895,7 @@ class TabListMediator {
|
|
void updateLayout() {
|
|
// Right now we need to update layout only if there is a price welcome message card in tab
|
|
// switcher.
|
|
- if (!PriceTrackingUtilities.isPriceWelcomeMessageCardEnabled()) return;
|
|
+ if ((true)) return;
|
|
assert mGridLayoutManager != null;
|
|
int spanCount = mGridLayoutManager.getSpanCount();
|
|
GridLayoutManager.SpanSizeLookup spanSizeLookup = mGridLayoutManager.getSpanSizeLookup();
|
|
@@ -2141,25 +1987,4 @@ class TabListMediator {
|
|
private boolean isShowingTabsInMRUOrder() {
|
|
return TabSwitcherCoordinator.isShowingTabsInMRUOrder(mMode);
|
|
}
|
|
-
|
|
- @VisibleForTesting
|
|
- void recordPriceAnnotationsEnabledMetrics() {
|
|
- if (mMode != TabListMode.GRID || !mActionsOnAllRelatedTabs
|
|
- || !PriceTrackingFeatures.isPriceTrackingEligible()) {
|
|
- return;
|
|
- }
|
|
- SharedPreferencesManager preferencesManager = SharedPreferencesManager.getInstance();
|
|
- if (System.currentTimeMillis()
|
|
- - preferencesManager.readLong(
|
|
- ChromePreferenceKeys
|
|
- .PRICE_TRACKING_ANNOTATIONS_ENABLED_METRICS_TIMESTAMP,
|
|
- -1)
|
|
- >= PriceTrackingFeatures.getAnnotationsEnabledMetricsWindowDurationMilliSeconds()) {
|
|
- RecordHistogram.recordBooleanHistogram("Commerce.PriceDrop.AnnotationsEnabled",
|
|
- PriceTrackingUtilities.isTrackPricesOnTabsEnabled());
|
|
- preferencesManager.writeLong(
|
|
- ChromePreferenceKeys.PRICE_TRACKING_ANNOTATIONS_ENABLED_METRICS_TIMESTAMP,
|
|
- System.currentTimeMillis());
|
|
- }
|
|
- }
|
|
}
|
|
diff --git a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabProperties.java b/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabProperties.java
|
|
--- a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabProperties.java
|
|
+++ b/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabProperties.java
|
|
@@ -107,9 +107,6 @@ public class TabProperties {
|
|
public static final WritableObjectPropertyKey<String> SEARCH_QUERY =
|
|
new WritableObjectPropertyKey<>();
|
|
|
|
- public static final WritableObjectPropertyKey<TabListMediator.ShoppingPersistedTabDataFetcher>
|
|
- SHOPPING_PERSISTED_TAB_DATA_FETCHER = new WritableObjectPropertyKey<>(true);
|
|
-
|
|
public static final WritableObjectPropertyKey<TabListMediator.StorePersistedTabDataFetcher>
|
|
STORE_PERSISTED_TAB_DATA_FETCHER = new WritableObjectPropertyKey<>(true);
|
|
|
|
@@ -139,7 +136,7 @@ public class TabProperties {
|
|
SELECTABLE_TAB_ACTION_BUTTON_SELECTED_BACKGROUND, URL_DOMAIN, ACCESSIBILITY_DELEGATE,
|
|
SEARCH_QUERY, PAGE_INFO_LISTENER, PAGE_INFO_ICON_DRAWABLE_ID, CARD_TYPE,
|
|
CONTENT_DESCRIPTION_STRING, CLOSE_BUTTON_DESCRIPTION_STRING,
|
|
- SHOPPING_PERSISTED_TAB_DATA_FETCHER, STORE_PERSISTED_TAB_DATA_FETCHER,
|
|
+ STORE_PERSISTED_TAB_DATA_FETCHER,
|
|
COUPON_PERSISTED_TAB_DATA_FETCHER, SHOULD_SHOW_PRICE_DROP_TOOLTIP};
|
|
|
|
public static final PropertyKey[] ALL_KEYS_TAB_STRIP =
|
|
diff --git a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabSelectionEditorCoordinator.java b/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabSelectionEditorCoordinator.java
|
|
--- a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabSelectionEditorCoordinator.java
|
|
+++ b/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabSelectionEditorCoordinator.java
|
|
@@ -189,7 +189,7 @@ class TabSelectionEditorCoordinator {
|
|
// its TabListCoordinator to work with the editor as an optimization.
|
|
mTabListCoordinator = new TabListCoordinator(mode, context, mTabModelSelector,
|
|
thumbnailProvider, titleProvider, displayGroups, null, null,
|
|
- TabProperties.UiType.SELECTABLE, this::getSelectionDelegate, null,
|
|
+ TabProperties.UiType.SELECTABLE, this::getSelectionDelegate,
|
|
mTabSelectionEditorLayout, false, COMPONENT_NAME, rootView, null);
|
|
|
|
// Note: The TabSelectionEditorCoordinator is always created after native is
|
|
diff --git a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabSwitcherCoordinator.java b/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabSwitcherCoordinator.java
|
|
--- a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabSwitcherCoordinator.java
|
|
+++ b/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabSwitcherCoordinator.java
|
|
@@ -33,10 +33,6 @@ import org.chromium.chrome.browser.lifecycle.ActivityLifecycleDispatcher;
|
|
import org.chromium.chrome.browser.lifecycle.DestroyObserver;
|
|
import org.chromium.chrome.browser.multiwindow.MultiWindowModeStateDispatcher;
|
|
import org.chromium.chrome.browser.preferences.SharedPreferencesManager;
|
|
-import org.chromium.chrome.browser.price_tracking.PriceDropNotificationManager;
|
|
-import org.chromium.chrome.browser.price_tracking.PriceDropNotificationManagerFactory;
|
|
-import org.chromium.chrome.browser.price_tracking.PriceTrackingFeatures;
|
|
-import org.chromium.chrome.browser.price_tracking.PriceTrackingUtilities;
|
|
import org.chromium.chrome.browser.profiles.Profile;
|
|
import org.chromium.chrome.browser.share.ShareDelegate;
|
|
import org.chromium.chrome.browser.tab.Tab;
|
|
@@ -45,7 +41,6 @@ import org.chromium.chrome.browser.tabmodel.TabList;
|
|
import org.chromium.chrome.browser.tabmodel.TabModelSelector;
|
|
import org.chromium.chrome.browser.tasks.pseudotab.PseudoTab;
|
|
import org.chromium.chrome.browser.tasks.pseudotab.TabAttributeCache;
|
|
-import org.chromium.chrome.browser.tasks.tab_management.PriceMessageService.PriceMessageType;
|
|
import org.chromium.chrome.browser.tasks.tab_management.TabListCoordinator.TabListMode;
|
|
import org.chromium.chrome.browser.tasks.tab_management.TabSelectionEditorAction.ButtonType;
|
|
import org.chromium.chrome.browser.tasks.tab_management.TabSelectionEditorAction.IconPosition;
|
|
@@ -74,8 +69,7 @@ import java.util.List;
|
|
*/
|
|
public class TabSwitcherCoordinator
|
|
implements DestroyObserver, TabSwitcher, TabSwitcher.TabListDelegate,
|
|
- TabSwitcherMediator.ResetHandler, TabSwitcherMediator.MessageItemsController,
|
|
- TabSwitcherMediator.PriceWelcomeMessageController {
|
|
+ TabSwitcherMediator.ResetHandler, TabSwitcherMediator.MessageItemsController {
|
|
/**
|
|
* Interface to control the IPH dialog.
|
|
*/
|
|
@@ -140,8 +134,6 @@ public class TabSwitcherCoordinator
|
|
private ViewGroup mContainer;
|
|
private TabCreatorManager mTabCreatorManager;
|
|
private boolean mIsInitialized;
|
|
- private PriceMessageService mPriceMessageService;
|
|
- private SharedPreferencesManager.Observer mPriceAnnotationsPrefObserver;
|
|
private final ViewGroup mCoordinatorView;
|
|
private final ViewGroup mRootView;
|
|
private TabContentManager mTabContentManager;
|
|
@@ -187,15 +179,12 @@ public class TabSwitcherCoordinator
|
|
RecordUserAction.record("MobileMenuSelectTabs");
|
|
return true;
|
|
} else if (id == R.id.track_prices_row_menu_id) {
|
|
- assert mPriceTrackingDialogCoordinator != null;
|
|
- mPriceTrackingDialogCoordinator.show();
|
|
return true;
|
|
}
|
|
return false;
|
|
}
|
|
};
|
|
private TabGridIphDialogCoordinator mTabGridIphDialogCoordinator;
|
|
- private PriceTrackingDialogCoordinator mPriceTrackingDialogCoordinator;
|
|
private TabSwitcherCustomViewManager mTabSwitcherCustomViewManager;
|
|
private Supplier<ShareDelegate> mShareDelegateSupplier;
|
|
|
|
@@ -235,7 +224,7 @@ public class TabSwitcherCoordinator
|
|
new PropertyModel(TabListContainerProperties.ALL_KEYS);
|
|
|
|
mMediator = new TabSwitcherMediator(activity, this, containerViewModel,
|
|
- tabModelSelector, browserControls, container, tabContentManager, this, this,
|
|
+ tabModelSelector, browserControls, container, tabContentManager, this,
|
|
multiWindowModeStateDispatcher, mode, incognitoReauthControllerSupplier);
|
|
|
|
mTabSwitcherCustomViewManager = new TabSwitcherCustomViewManager(mMediator);
|
|
@@ -255,7 +244,7 @@ public class TabSwitcherCoordinator
|
|
long startTimeMs = SystemClock.uptimeMillis();
|
|
mTabListCoordinator = new TabListCoordinator(mode, activity, tabModelSelector,
|
|
mMultiThumbnailCardProvider, titleProvider, true, mMediator, null,
|
|
- TabProperties.UiType.CLOSABLE, null, this, container, true, COMPONENT_NAME,
|
|
+ TabProperties.UiType.CLOSABLE, null, container, true, COMPONENT_NAME,
|
|
mRootView, null);
|
|
mContainerViewChangeProcessor = PropertyModelChangeProcessor.create(containerViewModel,
|
|
mTabListCoordinator.getContainerView(), TabListContainerViewBinder::bind);
|
|
@@ -353,21 +342,6 @@ public class TabSwitcherCoordinator
|
|
new LayoutViewBuilder(R.layout.large_message_card_item),
|
|
LargeMessageCardViewBinder::bind);
|
|
}
|
|
-
|
|
- if (PriceTrackingFeatures.isPriceTrackingEnabled()
|
|
- && PriceTrackingFeatures.getPriceTrackingEnabled()) {
|
|
- mPriceAnnotationsPrefObserver = key -> {
|
|
- if (PriceTrackingUtilities.TRACK_PRICES_ON_TABS.equals(key)
|
|
- && !mTabModelSelector.isIncognitoSelected()
|
|
- && mTabModelSelector.isTabStateInitialized()) {
|
|
- resetWithTabList(mTabModelSelector.getTabModelFilterProvider()
|
|
- .getCurrentTabModelFilter(),
|
|
- false, isShowingTabsInMRUOrder(mMode));
|
|
- }
|
|
- };
|
|
- SharedPreferencesManager.getInstance().addObserver(
|
|
- mPriceAnnotationsPrefObserver);
|
|
- }
|
|
}
|
|
|
|
if (ChromeFeatureList.sInstantStart.isEnabled()
|
|
@@ -481,8 +455,6 @@ public class TabSwitcherCoordinator
|
|
|
|
mMultiThumbnailCardProvider.initWithNative();
|
|
mMediator.initWithNative(controller, mSnackbarManager);
|
|
- // TODO(crbug.com/1222762): Only call setUpPriceTracking in GRID TabSwitcher.
|
|
- setUpPriceTracking(mActivity, mModalDialogManager);
|
|
|
|
mIsInitialized = true;
|
|
}
|
|
@@ -554,21 +526,6 @@ public class TabSwitcherCoordinator
|
|
RecordUserAction.record("TabMultiSelectV2.OpenFromGrid");
|
|
}
|
|
|
|
- private void setUpPriceTracking(Context context, ModalDialogManager modalDialogManager) {
|
|
- if (PriceTrackingFeatures.isPriceTrackingEnabled()) {
|
|
- PriceDropNotificationManager notificationManager =
|
|
- PriceDropNotificationManagerFactory.create();
|
|
- mPriceTrackingDialogCoordinator = new PriceTrackingDialogCoordinator(context,
|
|
- modalDialogManager, this, mTabModelSelector, notificationManager, mMode);
|
|
- if (mMode == TabListCoordinator.TabListMode.GRID) {
|
|
- mPriceMessageService = new PriceMessageService(
|
|
- mTabListCoordinator, mMediator, notificationManager);
|
|
- mMessageCardProviderCoordinator.subscribeMessageService(mPriceMessageService);
|
|
- mMediator.setPriceMessageService(mPriceMessageService);
|
|
- }
|
|
- }
|
|
- }
|
|
-
|
|
// TabSwitcher implementation.
|
|
@Override
|
|
public void setOnTabSelectingListener(OnTabSelectingListener listener) {
|
|
@@ -698,22 +655,10 @@ public class TabSwitcherCoordinator
|
|
public boolean resetWithTabs(
|
|
@Nullable List<PseudoTab> tabs, boolean quickMode, boolean mruMode) {
|
|
mMediator.registerFirstMeaningfulPaintRecorder();
|
|
- // Invalidate price welcome message for every reset so that the stale message won't be
|
|
- // restored by mistake (e.g. from tabClosureUndone in TabSwitcherMediator).
|
|
- if (mPriceMessageService != null) {
|
|
- mPriceMessageService.invalidateMessage();
|
|
- }
|
|
boolean showQuickly = mTabListCoordinator.resetWithListOfTabs(tabs, quickMode, mruMode);
|
|
if (showQuickly) {
|
|
removeAllAppendedMessage();
|
|
}
|
|
- if (tabs != null && tabs.size() > 0) {
|
|
- if (mPriceMessageService != null
|
|
- && PriceTrackingUtilities.isPriceAlertsMessageCardEnabled()) {
|
|
- mPriceMessageService.preparePriceMessage(PriceMessageType.PRICE_ALERTS, null);
|
|
- }
|
|
- appendMessagesTo(tabs.size());
|
|
- }
|
|
|
|
return showQuickly;
|
|
}
|
|
@@ -750,38 +695,6 @@ public class TabSwitcherCoordinator
|
|
sAppendedMessagesForTesting = messages.size() > 0;
|
|
}
|
|
|
|
- // PriceWelcomeMessageController implementation.
|
|
- @Override
|
|
- public void removePriceWelcomeMessage() {
|
|
- mTabListCoordinator.removeSpecialListItem(
|
|
- TabProperties.UiType.LARGE_MESSAGE, MessageService.MessageType.PRICE_MESSAGE);
|
|
- }
|
|
-
|
|
- @Override
|
|
- public void restorePriceWelcomeMessage() {
|
|
- appendNextMessage(MessageService.MessageType.PRICE_MESSAGE);
|
|
- }
|
|
-
|
|
- @Override
|
|
- public void showPriceWelcomeMessage(PriceMessageService.PriceTabData priceTabData) {
|
|
- if (mPriceMessageService == null
|
|
- || !PriceTrackingUtilities.isPriceWelcomeMessageCardEnabled()
|
|
- || mMessageCardProviderCoordinator.isMessageShown(
|
|
- MessageService.MessageType.PRICE_MESSAGE, PriceMessageType.PRICE_WELCOME)) {
|
|
- return;
|
|
- }
|
|
- if (mPriceMessageService.preparePriceMessage(
|
|
- PriceMessageType.PRICE_WELCOME, priceTabData)) {
|
|
- appendNextMessage(MessageService.MessageType.PRICE_MESSAGE);
|
|
- // To make the message card in view when user enters tab switcher, we should scroll to
|
|
- // current tab with 0 offset. See {@link
|
|
- // TabSwitcherMediator#setInitialScrollIndexOffset} for more details.
|
|
- mMediator.scrollToTab(mTabModelSelector.getTabModelFilterProvider()
|
|
- .getCurrentTabModelFilter()
|
|
- .index());
|
|
- }
|
|
- }
|
|
-
|
|
private void appendMessagesTo(int index) {
|
|
if (mMultiWindowModeStateDispatcher.isInMultiWindowMode()) return;
|
|
sAppendedMessagesForTesting = false;
|
|
@@ -811,9 +724,6 @@ public class TabSwitcherCoordinator
|
|
mMessageCardProviderCoordinator.getNextMessageItemForType(messageType);
|
|
if (nextMessage == null || !shouldAppendMessage(nextMessage.model)) return;
|
|
if (messageType == MessageService.MessageType.PRICE_MESSAGE) {
|
|
- mTabListCoordinator.addSpecialListItem(
|
|
- mTabListCoordinator.getPriceWelcomeMessageInsertionIndex(),
|
|
- TabProperties.UiType.LARGE_MESSAGE, nextMessage.model);
|
|
} else {
|
|
mTabListCoordinator.addSpecialListItemToEnd(
|
|
TabProperties.UiType.MESSAGE, nextMessage.model);
|
|
@@ -863,8 +773,7 @@ public class TabSwitcherCoordinator
|
|
}
|
|
|
|
private boolean shouldRegisterLargeMessageItemType() {
|
|
- return PriceTrackingFeatures.isPriceTrackingEnabled()
|
|
- || IncognitoReauthManager.isIncognitoReauthFeatureAvailable();
|
|
+ return IncognitoReauthManager.isIncognitoReauthFeatureAvailable();
|
|
}
|
|
|
|
@Override
|
|
@@ -900,9 +809,6 @@ public class TabSwitcherCoordinator
|
|
if (mTabAttributeCache != null) {
|
|
mTabAttributeCache.destroy();
|
|
}
|
|
- if (mPriceAnnotationsPrefObserver != null) {
|
|
- SharedPreferencesManager.getInstance().removeObserver(mPriceAnnotationsPrefObserver);
|
|
- }
|
|
}
|
|
|
|
/**
|
|
diff --git a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabSwitcherMediator.java b/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabSwitcherMediator.java
|
|
--- a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabSwitcherMediator.java
|
|
+++ b/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabSwitcherMediator.java
|
|
@@ -46,7 +46,6 @@ import org.chromium.chrome.browser.incognito.reauth.IncognitoReauthManager;
|
|
import org.chromium.chrome.browser.multiwindow.MultiWindowModeStateDispatcher;
|
|
import org.chromium.chrome.browser.preferences.ChromePreferenceKeys;
|
|
import org.chromium.chrome.browser.preferences.SharedPreferencesManager;
|
|
-import org.chromium.chrome.browser.price_tracking.PriceTrackingUtilities;
|
|
import org.chromium.chrome.browser.tab.Tab;
|
|
import org.chromium.chrome.browser.tab.TabCreationState;
|
|
import org.chromium.chrome.browser.tab.TabSelectionType;
|
|
@@ -79,7 +78,6 @@ import java.util.List;
|
|
*/
|
|
class TabSwitcherMediator implements TabSwitcher.Controller, TabListRecyclerView.VisibilityListener,
|
|
TabListMediator.GridCardOnClickListenerProvider,
|
|
- PriceMessageService.PriceWelcomeMessageReviewActionProvider,
|
|
TabSwitcherCustomViewManager.Delegate {
|
|
private static final String TAG = "TabSwitcherMediator";
|
|
|
|
@@ -153,7 +151,6 @@ class TabSwitcherMediator implements TabSwitcher.Controller, TabListRecyclerView
|
|
private TabSelectionEditorCoordinator
|
|
.TabSelectionEditorController mTabSelectionEditorController;
|
|
private TabSwitcher.OnTabSelectingListener mOnTabSelectingListener;
|
|
- private PriceMessageService mPriceMessageService;
|
|
private boolean mIsOnHomepage;
|
|
|
|
/**
|
|
@@ -260,29 +257,6 @@ class TabSwitcherMediator implements TabSwitcher.Controller, TabListRecyclerView
|
|
void restoreAllAppendedMessage();
|
|
}
|
|
|
|
- /**
|
|
- * An interface to control price welcome message in grid tab switcher.
|
|
- */
|
|
- interface PriceWelcomeMessageController {
|
|
- /**
|
|
- * Remove the price welcome message item in the model list. Right now this is used when
|
|
- * its binding tab is closed in the grid tab switcher.
|
|
- */
|
|
- void removePriceWelcomeMessage();
|
|
-
|
|
- /**
|
|
- * Restore the price welcome message item that should show. Right now this is only used
|
|
- * when the closure of the binding tab in tab switcher is undone.
|
|
- */
|
|
- void restorePriceWelcomeMessage();
|
|
-
|
|
- /**
|
|
- * Show the price welcome message in tab switcher. This is used when any open tab in tab
|
|
- * switcher has a price drop.
|
|
- */
|
|
- void showPriceWelcomeMessage(PriceMessageService.PriceTabData priceTabData);
|
|
- }
|
|
-
|
|
/**
|
|
* Basic constructor for the Mediator.
|
|
* @param context The context to use for accessing {@link android.content.res.Resources}.
|
|
@@ -303,7 +277,6 @@ class TabSwitcherMediator implements TabSwitcher.Controller, TabListRecyclerView
|
|
PropertyModel containerViewModel, TabModelSelector tabModelSelector,
|
|
BrowserControlsStateProvider browserControlsStateProvider, ViewGroup containerView,
|
|
TabContentManager tabContentManager, MessageItemsController messageItemsController,
|
|
- PriceWelcomeMessageController priceWelcomeMessageController,
|
|
MultiWindowModeStateDispatcher multiWindowModeStateDispatcher, @TabListMode int mode,
|
|
@Nullable OneshotSupplier<IncognitoReauthController>
|
|
incognitoReauthControllerSupplier) {
|
|
@@ -400,9 +373,6 @@ class TabSwitcherMediator implements TabSwitcher.Controller, TabListRecyclerView
|
|
public void willCloseTab(Tab tab, boolean animate, boolean didCloseAlone) {
|
|
if (mTabModelSelector.getCurrentModel().getCount() == 1) {
|
|
messageItemsController.removeAllAppendedMessage();
|
|
- } else if (mPriceMessageService != null
|
|
- && mPriceMessageService.getBindingTabId() == tab.getId()) {
|
|
- priceWelcomeMessageController.removePriceWelcomeMessage();
|
|
}
|
|
}
|
|
|
|
@@ -411,10 +381,6 @@ class TabSwitcherMediator implements TabSwitcher.Controller, TabListRecyclerView
|
|
if (mTabModelSelector.getCurrentModel().getCount() == 1) {
|
|
messageItemsController.restoreAllAppendedMessage();
|
|
}
|
|
- if (mPriceMessageService != null
|
|
- && mPriceMessageService.getBindingTabId() == tab.getId()) {
|
|
- priceWelcomeMessageController.restorePriceWelcomeMessage();
|
|
- }
|
|
notifyBackPressStateChangedInternal();
|
|
}
|
|
|
|
@@ -430,12 +396,6 @@ class TabSwitcherMediator implements TabSwitcher.Controller, TabListRecyclerView
|
|
|
|
@Override
|
|
public void tabClosureCommitted(Tab tab) {
|
|
- // TODO(crbug.com/1157578): Auto update the PriceMessageService instead of
|
|
- // updating it based on the client caller.
|
|
- if (mPriceMessageService != null
|
|
- && mPriceMessageService.getBindingTabId() == tab.getId()) {
|
|
- mPriceMessageService.invalidateMessage();
|
|
- }
|
|
}
|
|
};
|
|
|
|
@@ -694,14 +654,6 @@ class TabSwitcherMediator implements TabSwitcher.Controller, TabListRecyclerView
|
|
"MobileTabSwitched." + TabSwitcherCoordinator.COMPONENT_NAME);
|
|
}
|
|
}
|
|
- if (mMode == TabListCoordinator.TabListMode.GRID
|
|
- && PriceTrackingUtilities.isTabModelPriceTrackingEligible(
|
|
- mTabModelSelector.getCurrentModel())
|
|
- && PriceTrackingUtilities.isTrackPricesOnTabsEnabled()) {
|
|
- RecordUserAction.record("Commerce.TabGridSwitched."
|
|
- + (ShoppingPersistedTabData.hasPriceDrop(tab) ? "HasPriceDrop"
|
|
- : "NoPriceDrop"));
|
|
- }
|
|
}
|
|
|
|
@Override
|
|
@@ -1058,10 +1010,6 @@ class TabSwitcherMediator implements TabSwitcher.Controller, TabListRecyclerView
|
|
mOnTabSelectingListener = listener;
|
|
}
|
|
|
|
- void setPriceMessageService(PriceMessageService priceMessageService) {
|
|
- mPriceMessageService = priceMessageService;
|
|
- }
|
|
-
|
|
// GridCardOnClickListenerProvider implementation.
|
|
@Override
|
|
@Nullable
|
|
@@ -1095,11 +1043,6 @@ class TabSwitcherMediator implements TabSwitcher.Controller, TabListRecyclerView
|
|
}
|
|
}
|
|
|
|
- @Override
|
|
- public void scrollToTab(int tabIndex) {
|
|
- mContainerViewModel.set(TabListContainerProperties.INITIAL_SCROLL_INDEX, tabIndex);
|
|
- }
|
|
-
|
|
private boolean ableToOpenDialog(Tab tab) {
|
|
return TabUiFeatureUtilities.isTabGroupsAndroidEnabled(mContext)
|
|
&& mTabModelSelector.isIncognitoSelected() == tab.isIncognito()
|
|
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java b/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java
|
|
--- a/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java
|
|
+++ b/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java
|
|
@@ -83,9 +83,7 @@ import org.chromium.chrome.browser.app.tabmodel.AsyncTabParamsManagerSingleton;
|
|
import org.chromium.chrome.browser.app.tabmodel.TabModelOrchestrator;
|
|
import org.chromium.chrome.browser.back_press.BackPressManager;
|
|
import org.chromium.chrome.browser.bookmarks.BookmarkModel;
|
|
-import org.chromium.chrome.browser.bookmarks.PowerBookmarkUtils;
|
|
import org.chromium.chrome.browser.bookmarks.TabBookmarker;
|
|
-import org.chromium.chrome.browser.commerce.ShoppingFeatures;
|
|
import org.chromium.chrome.browser.compositor.CompositorViewHolder;
|
|
import org.chromium.chrome.browser.compositor.layouts.Layout;
|
|
import org.chromium.chrome.browser.compositor.layouts.LayoutManagerImpl;
|
|
@@ -149,8 +147,6 @@ import org.chromium.chrome.browser.share.ShareDelegate;
|
|
import org.chromium.chrome.browser.share.ShareDelegateImpl;
|
|
import org.chromium.chrome.browser.share.ShareDelegateSupplier;
|
|
import org.chromium.chrome.browser.stylus_handwriting.StylusWritingCoordinator;
|
|
-import org.chromium.chrome.browser.subscriptions.CommerceSubscriptionsServiceFactory;
|
|
-import org.chromium.chrome.browser.subscriptions.SubscriptionsManager;
|
|
import org.chromium.chrome.browser.tab.AccessibilityVisibilityHandler;
|
|
import org.chromium.chrome.browser.tab.RequestDesktopUtils;
|
|
import org.chromium.chrome.browser.tab.Tab;
|
|
@@ -2366,27 +2362,11 @@ public abstract class ChromeActivity<C extends ChromeActivityComponent>
|
|
}
|
|
|
|
if (id == R.id.enable_price_tracking_menu_id) {
|
|
- mTabBookmarkerSupplier.get().startOrModifyPriceTracking(currentTab);
|
|
RecordUserAction.record("MobileMenuEnablePriceTracking");
|
|
- TrackerFactory.getTrackerForProfile(Profile.getLastUsedRegularProfile())
|
|
- .notifyEvent(EventConstants.SHOPPING_LIST_PRICE_TRACK_FROM_MENU);
|
|
return true;
|
|
}
|
|
|
|
if (id == R.id.disable_price_tracking_menu_id) {
|
|
- // TODO(crbug.com/1268976): Extract this code into a one-liner.
|
|
- List<BookmarkId> bookmarkIds =
|
|
- PowerBookmarkUtils.getBookmarkIdsWithSharedClusterIdForTab(
|
|
- currentTab, mBookmarkModelSupplier.get());
|
|
- SubscriptionsManager subscriptionsManager = null;
|
|
- if (ShoppingFeatures.isShoppingListEnabled()) {
|
|
- subscriptionsManager = new CommerceSubscriptionsServiceFactory()
|
|
- .getForLastUsedProfile()
|
|
- .getSubscriptionsManager();
|
|
- }
|
|
- PowerBookmarkUtils.setPriceTrackingEnabledWithSnackbars(subscriptionsManager,
|
|
- mBookmarkModelSupplier.get(), bookmarkIds,
|
|
- /*enabled=*/false, mSnackbarManager, getResources());
|
|
RecordUserAction.record("MobileMenuDisablePriceTracking");
|
|
return true;
|
|
}
|
|
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/appmenu/AppMenuPropertiesDelegateImpl.java b/chrome/android/java/src/org/chromium/chrome/browser/app/appmenu/AppMenuPropertiesDelegateImpl.java
|
|
--- a/chrome/android/java/src/org/chromium/chrome/browser/app/appmenu/AppMenuPropertiesDelegateImpl.java
|
|
+++ b/chrome/android/java/src/org/chromium/chrome/browser/app/appmenu/AppMenuPropertiesDelegateImpl.java
|
|
@@ -37,7 +37,6 @@ import org.chromium.chrome.browser.ActivityTabProvider;
|
|
import org.chromium.chrome.browser.banners.AppMenuVerbiage;
|
|
import org.chromium.chrome.browser.bookmarks.BookmarkFeatures;
|
|
import org.chromium.chrome.browser.bookmarks.BookmarkModel;
|
|
-import org.chromium.chrome.browser.bookmarks.PowerBookmarkUtils;
|
|
import org.chromium.chrome.browser.bookmarks.ReadingListFeatures;
|
|
import org.chromium.chrome.browser.commerce.ShoppingFeatures;
|
|
import org.chromium.chrome.browser.commerce.ShoppingServiceFactory;
|
|
@@ -56,7 +55,6 @@ import org.chromium.chrome.browser.multiwindow.MultiWindowUtils;
|
|
import org.chromium.chrome.browser.night_mode.WebContentsDarkModeController;
|
|
import org.chromium.chrome.browser.omaha.UpdateMenuItemHelper;
|
|
import org.chromium.chrome.browser.partnercustomizations.PartnerBrowserCustomizations;
|
|
-import org.chromium.chrome.browser.price_tracking.PriceTrackingUtilities;
|
|
import org.chromium.chrome.browser.profiles.Profile;
|
|
import org.chromium.chrome.browser.read_later.ReadingListUtils;
|
|
import org.chromium.chrome.browser.share.ShareHelper;
|
|
@@ -595,9 +593,7 @@ public class AppMenuPropertiesDelegateImpl implements AppMenuPropertiesDelegate
|
|
> 1;
|
|
}
|
|
|
|
- boolean isPriceTrackingVisible = isOverviewModeMenu
|
|
- && PriceTrackingUtilities.shouldShowPriceTrackingMenu()
|
|
- && !DeviceClassManager.enableAccessibilityLayout(mContext) && !isIncognito;
|
|
+ boolean isPriceTrackingVisible = false;
|
|
boolean isPriceTrackingEnabled = isPriceTrackingVisible;
|
|
boolean hasItemBetweenDividers = false;
|
|
|
|
@@ -1181,9 +1177,9 @@ public class AppMenuPropertiesDelegateImpl implements AppMenuPropertiesDelegate
|
|
* @param stopPriceTrackingMenuItem The menu item to stop price tracking.
|
|
* @param currentTab Current tab being displayed.
|
|
*/
|
|
- protected void updatePriceTrackingMenuItemRow(@NonNull MenuItem startPriceTrackingMenuItem,
|
|
- @NonNull MenuItem stopPriceTrackingMenuItem, @Nullable Tab currentTab) {
|
|
- ShoppingService service =
|
|
+ protected void updatePriceTrackingMenuItemRow(@NonNull MenuItem startPriceTrackingMenuItem, // disabled
|
|
+ @NonNull MenuItem stopPriceTrackingMenuItem, @Nullable Tab currentTab) { // in Bromite
|
|
+ /*ShoppingService service =
|
|
ShoppingServiceFactory.getForProfile(Profile.getLastUsedRegularProfile());
|
|
ShoppingService.ProductInfo info = null;
|
|
if (service != null && currentTab != null) {
|
|
@@ -1219,7 +1215,9 @@ public class AppMenuPropertiesDelegateImpl implements AppMenuPropertiesDelegate
|
|
info.productClusterId, mBookmarkModelSupplier.get());
|
|
}
|
|
startPriceTrackingMenuItem.setVisible(!priceTrackingEnabled);
|
|
- stopPriceTrackingMenuItem.setVisible(priceTrackingEnabled);
|
|
+ stopPriceTrackingMenuItem.setVisible(priceTrackingEnabled); */
|
|
+ startPriceTrackingMenuItem.setVisible(false);
|
|
+ stopPriceTrackingMenuItem.setVisible(false);
|
|
}
|
|
|
|
/**
|
|
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkBridge.java b/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkBridge.java
|
|
--- a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkBridge.java
|
|
+++ b/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkBridge.java
|
|
@@ -26,9 +26,6 @@ import org.chromium.chrome.browser.commerce.ShoppingFeatures;
|
|
import org.chromium.chrome.browser.partnerbookmarks.PartnerBookmarksShim;
|
|
import org.chromium.chrome.browser.profiles.Profile;
|
|
import org.chromium.chrome.browser.read_later.ReadingListUtils;
|
|
-import org.chromium.chrome.browser.subscriptions.CommerceSubscription;
|
|
-import org.chromium.chrome.browser.subscriptions.CommerceSubscriptionsServiceFactory;
|
|
-import org.chromium.chrome.browser.subscriptions.SubscriptionsManager;
|
|
import org.chromium.chrome.browser.tab.Tab;
|
|
import org.chromium.components.bookmarks.BookmarkId;
|
|
import org.chromium.components.bookmarks.BookmarkItem;
|
|
@@ -59,8 +56,6 @@ class BookmarkBridge {
|
|
new ArrayList<DelayedBookmarkCallback>();
|
|
private final ObserverList<BookmarkModelObserver> mObservers =
|
|
new ObserverList<BookmarkModelObserver>();
|
|
- private SubscriptionsManager mSubscriptionManager;
|
|
- private SubscriptionsManager.SubscriptionObserver mSubscriptionsObserver;
|
|
|
|
/**
|
|
* Interface for callback object for fetching bookmarks and folder hierarchy.
|
|
@@ -104,26 +99,6 @@ class BookmarkBridge {
|
|
mNativeBookmarkBridge = BookmarkBridgeJni.get().init(BookmarkBridge.this, profile);
|
|
mIsDoingExtensiveChanges = BookmarkBridgeJni.get().isDoingExtensiveChanges(
|
|
mNativeBookmarkBridge, BookmarkBridge.this);
|
|
- mSubscriptionsObserver = new SubscriptionsManager.SubscriptionObserver() {
|
|
- @Override
|
|
- public void onSubscribe(List<CommerceSubscription> subscriptions) {}
|
|
-
|
|
- @Override
|
|
- public void onUnsubscribe(List<CommerceSubscription> subscriptions) {
|
|
- removeExplicitShoppingSubscriptions(subscriptions);
|
|
- }
|
|
- };
|
|
- if (ShoppingFeatures.isShoppingListEnabled()) {
|
|
- mSubscriptionManager = new CommerceSubscriptionsServiceFactory()
|
|
- .getForLastUsedProfile()
|
|
- .getSubscriptionsManager();
|
|
- mSubscriptionManager.addObserver(mSubscriptionsObserver);
|
|
- }
|
|
- }
|
|
-
|
|
- @VisibleForTesting
|
|
- SubscriptionsManager.SubscriptionObserver getSubscriptionObserver() {
|
|
- return mSubscriptionsObserver;
|
|
}
|
|
|
|
/**
|
|
@@ -138,10 +113,6 @@ class BookmarkBridge {
|
|
mDelayedBookmarkCallbacks.clear();
|
|
}
|
|
mObservers.clear();
|
|
-
|
|
- if (mSubscriptionManager != null) {
|
|
- mSubscriptionManager.removeObserver(mSubscriptionsObserver);
|
|
- }
|
|
}
|
|
|
|
/** Returns whether the bridge has been destroyed. */
|
|
@@ -445,61 +416,6 @@ class BookmarkBridge {
|
|
return result;
|
|
}
|
|
|
|
- /**
|
|
- * Disable price tracking for the list of subscriptions. This flips the bit in ShoppingSpecifics
|
|
- * but does not actually unsubscribe from the subscription service -- this assumes that is
|
|
- * already done.
|
|
- * TODO(1284730): This should live somewhere other than BookmarkBridge.
|
|
- *
|
|
- * @param subscriptions The list of subscriptions to disable.
|
|
- */
|
|
- private void removeExplicitShoppingSubscriptions(List<CommerceSubscription> subscriptions) {
|
|
- if (subscriptions == null) return;
|
|
-
|
|
- List<BookmarkId> products = searchBookmarks("", null, PowerBookmarkType.SHOPPING, -1);
|
|
- if (products == null || products.size() == 0) return;
|
|
-
|
|
- // Put the offer and cluster IDs into a map so they can be quickly checked.
|
|
- HashSet<Long> offerIdMap = new HashSet<>();
|
|
- HashSet<Long> clusterIdMap = new HashSet<>();
|
|
- for (CommerceSubscription c : subscriptions) {
|
|
- // Ensure the subscription is explicit.
|
|
- if (c == null
|
|
- || !c.getManagementType().equals(
|
|
- CommerceSubscription.SubscriptionManagementType.USER_MANAGED)) {
|
|
- continue;
|
|
- }
|
|
-
|
|
- if (c.getTrackingIdType().equals(CommerceSubscription.TrackingIdType.OFFER_ID)) {
|
|
- offerIdMap.add(UnsignedLongs.parseUnsignedLong(c.getTrackingId()));
|
|
- } else if (c.getTrackingIdType().equals(
|
|
- CommerceSubscription.TrackingIdType.PRODUCT_CLUSTER_ID)) {
|
|
- clusterIdMap.add(UnsignedLongs.parseUnsignedLong(c.getTrackingId()));
|
|
- }
|
|
- }
|
|
-
|
|
- // Look at all the products the user has saved to find any of the above product or cluster
|
|
- // IDs.
|
|
- for (BookmarkId product : products) {
|
|
- PowerBookmarkMeta meta = getPowerBookmarkMeta(product);
|
|
- if (!meta.hasShoppingSpecifics()) continue;
|
|
-
|
|
- ShoppingSpecifics specifics = meta.getShoppingSpecifics();
|
|
- if (offerIdMap.contains(specifics.getOfferId())
|
|
- || clusterIdMap.contains(specifics.getProductClusterId())) {
|
|
- // Reset the meta using a copy of the existing one, but set the price tracking flag
|
|
- // to false.
|
|
- setPowerBookmarkMeta(product,
|
|
- PowerBookmarkMeta.newBuilder(meta)
|
|
- .setShoppingSpecifics(
|
|
- ShoppingSpecifics.newBuilder(meta.getShoppingSpecifics())
|
|
- .setIsPriceTracked(false)
|
|
- .build())
|
|
- .build());
|
|
- }
|
|
- }
|
|
- }
|
|
-
|
|
/**
|
|
* Gets the child of a folder at the specific position.
|
|
* @param folderId Id of the parent folder
|
|
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkItemsAdapter.java b/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkItemsAdapter.java
|
|
--- a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkItemsAdapter.java
|
|
+++ b/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkItemsAdapter.java
|
|
@@ -22,12 +22,9 @@ import org.chromium.base.metrics.RecordUserAction;
|
|
import org.chromium.chrome.R;
|
|
import org.chromium.chrome.browser.bookmarks.BookmarkListEntry.ViewType;
|
|
import org.chromium.chrome.browser.bookmarks.BookmarkRow.Location;
|
|
-import org.chromium.chrome.browser.commerce.ShoppingFeatures;
|
|
import org.chromium.chrome.browser.feature_engagement.TrackerFactory;
|
|
import org.chromium.chrome.browser.flags.ChromeFeatureList;
|
|
import org.chromium.chrome.browser.profiles.Profile;
|
|
-import org.chromium.chrome.browser.subscriptions.CommerceSubscriptionsServiceFactory;
|
|
-import org.chromium.chrome.browser.subscriptions.SubscriptionsManager;
|
|
import org.chromium.chrome.browser.ui.messages.snackbar.SnackbarManager;
|
|
import org.chromium.components.bookmarks.BookmarkId;
|
|
import org.chromium.components.bookmarks.BookmarkItem;
|
|
@@ -65,13 +62,10 @@ public class BookmarkItemsAdapter extends DragReorderableListAdapter<BookmarkLis
|
|
private BookmarkDelegate mDelegate;
|
|
private String mSearchText;
|
|
private BookmarkId mCurrentFolder;
|
|
- private CommerceSubscriptionsServiceFactory mCommerceSubscriptionsServiceFactory;
|
|
|
|
// Keep track of the currently highlighted bookmark - used for "show in folder" action.
|
|
private BookmarkId mHighlightedBookmark;
|
|
|
|
- private SubscriptionsManager mSubscriptionsManager;
|
|
-
|
|
private BookmarkModelObserver mBookmarkModelObserver = new BookmarkModelObserver() {
|
|
@Override
|
|
public void bookmarkNodeChanged(BookmarkItem node) {
|
|
@@ -125,13 +119,7 @@ public class BookmarkItemsAdapter extends DragReorderableListAdapter<BookmarkLis
|
|
ImageFetcherFactory.createImageFetcher(ImageFetcherConfig.IN_MEMORY_WITH_DISK_CACHE,
|
|
Profile.getLastUsedRegularProfile().getProfileKey(),
|
|
GlobalDiscardableReferencePool.getReferencePool());
|
|
- mCommerceSubscriptionsServiceFactory = new CommerceSubscriptionsServiceFactory();
|
|
mSnackbarManager = snackbarManager;
|
|
-
|
|
- if (ShoppingFeatures.isShoppingListEnabled()) {
|
|
- mSubscriptionsManager = mCommerceSubscriptionsServiceFactory.getForLastUsedProfile()
|
|
- .getSubscriptionsManager();
|
|
- }
|
|
}
|
|
|
|
/**
|
|
@@ -237,17 +225,6 @@ public class BookmarkItemsAdapter extends DragReorderableListAdapter<BookmarkLis
|
|
return createViewHolderHelper(parent, R.layout.bookmark_folder_row);
|
|
case ViewType.BOOKMARK:
|
|
return createViewHolderHelper(parent, R.layout.bookmark_item_row);
|
|
- case ViewType.SHOPPING_POWER_BOOKMARK:
|
|
- ViewHolder vh = null;
|
|
- if (BookmarkFeatures.isBookmarksVisualRefreshEnabled()) {
|
|
- vh = createViewHolderHelper(parent, R.layout.power_bookmark_shopping_item_row);
|
|
- ((PowerBookmarkShoppingItemRow) vh.itemView)
|
|
- .init(mImageFetcher, mDelegate.getModel(), mSubscriptionsManager,
|
|
- mSnackbarManager);
|
|
- } else {
|
|
- vh = createViewHolderHelper(parent, R.layout.bookmark_item_row);
|
|
- }
|
|
- return vh;
|
|
case ViewType.DIVIDER:
|
|
return new ViewHolder(
|
|
LayoutInflater.from(parent.getContext())
|
|
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkManager.java b/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkManager.java
|
|
--- a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkManager.java
|
|
+++ b/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkManager.java
|
|
@@ -26,7 +26,6 @@ import org.chromium.chrome.browser.commerce.ShoppingFeatures;
|
|
import org.chromium.chrome.browser.commerce.ShoppingServiceFactory;
|
|
import org.chromium.chrome.browser.partnerbookmarks.PartnerBookmarksReader;
|
|
import org.chromium.chrome.browser.profiles.Profile;
|
|
-import org.chromium.chrome.browser.subscriptions.CommerceSubscriptionsServiceFactory;
|
|
import org.chromium.chrome.browser.tab.TabLaunchType;
|
|
import org.chromium.chrome.browser.ui.messages.snackbar.SnackbarManager;
|
|
import org.chromium.chrome.browser.ui.native_page.BasicNativePage;
|
|
@@ -206,17 +205,6 @@ public class BookmarkManager
|
|
mBookmarkModel = new BookmarkModel();
|
|
mMainView = (ViewGroup) LayoutInflater.from(mContext).inflate(R.layout.bookmark_main, null);
|
|
|
|
- // TODO(1293885): Remove this validator once we have an API on the backend that sends
|
|
- // success/failure information back.
|
|
- if (ShoppingFeatures.isShoppingListEnabled()) {
|
|
- PowerBookmarkUtils.validateBookmarkedCommerceSubscriptions(mBookmarkModel,
|
|
- new CommerceSubscriptionsServiceFactory()
|
|
- .getForLastUsedProfile()
|
|
- .getSubscriptionsManager());
|
|
- ShoppingServiceFactory.getForProfile(Profile.getLastUsedRegularProfile())
|
|
- .scheduleSavedProductUpdate();
|
|
- }
|
|
-
|
|
@SuppressWarnings("unchecked")
|
|
SelectableListLayout<BookmarkId> selectableList =
|
|
mMainView.findViewById(R.id.selectable_list);
|
|
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkSaveFlowCoordinator.java b/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkSaveFlowCoordinator.java
|
|
--- a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkSaveFlowCoordinator.java
|
|
+++ b/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkSaveFlowCoordinator.java
|
|
@@ -17,8 +17,6 @@ import org.chromium.base.lifetime.DestroyChecker;
|
|
import org.chromium.base.metrics.RecordUserAction;
|
|
import org.chromium.base.task.PostTask;
|
|
import org.chromium.chrome.R;
|
|
-import org.chromium.chrome.browser.commerce.ShoppingFeatures;
|
|
-import org.chromium.chrome.browser.subscriptions.SubscriptionsManager;
|
|
import org.chromium.chrome.browser.user_education.IPHCommandBuilder;
|
|
import org.chromium.chrome.browser.user_education.UserEducationHelper;
|
|
import org.chromium.components.bookmarks.BookmarkId;
|
|
@@ -53,13 +51,10 @@ public class BookmarkSaveFlowCoordinator {
|
|
/**
|
|
* @param context The {@link Context} associated with this cooridnator.
|
|
* @param bottomSheetController Allows displaying content in the bottom sheet.
|
|
- * @param subscriptionsManager Allows un/subscribing for product updates, used for
|
|
- * price-tracking.
|
|
* @param userEducationHelper A means of triggering IPH.
|
|
*/
|
|
public BookmarkSaveFlowCoordinator(@NonNull Context context,
|
|
@NonNull BottomSheetController bottomSheetController,
|
|
- @Nullable SubscriptionsManager subscriptionsManager,
|
|
@NonNull UserEducationHelper userEducationHelper) {
|
|
mContext = context;
|
|
mBottomSheetController = bottomSheetController;
|
|
@@ -70,7 +65,7 @@ public class BookmarkSaveFlowCoordinator {
|
|
mBookmarkSaveFlowView = LayoutInflater.from(mContext).inflate(
|
|
org.chromium.chrome.R.layout.bookmark_save_flow, /*root=*/null);
|
|
mMediator = new BookmarkSaveFlowMediator(
|
|
- mBookmarkModel, mPropertyModel, mContext, this::close, subscriptionsManager);
|
|
+ mBookmarkModel, mPropertyModel, mContext, this::close);
|
|
mChangeProcessor = PropertyModelChangeProcessor.create(mPropertyModel,
|
|
(ViewLookupCachingFrameLayout) mBookmarkSaveFlowView,
|
|
new BookmarkSaveFlowViewBinder());
|
|
@@ -115,36 +110,6 @@ public class BookmarkSaveFlowCoordinator {
|
|
if (!am.isTouchExplorationEnabled()) {
|
|
setupAutodismiss();
|
|
}
|
|
-
|
|
- if (ShoppingFeatures.isShoppingListEnabled()
|
|
- && PowerBookmarkUtils.isBookmarkPriceTracked(mBookmarkModel, bookmarkId)) {
|
|
- if (shown) {
|
|
- showShoppingSaveFlowIPH();
|
|
- } else {
|
|
- mBottomSheetController.addObserver(new EmptyBottomSheetObserver() {
|
|
- @Override
|
|
- public void onSheetContentChanged(BottomSheetContent newContent) {
|
|
- if (newContent == mBottomSheetContent) showShoppingSaveFlowIPH();
|
|
-
|
|
- mBottomSheetController.removeObserver(this);
|
|
- }
|
|
- });
|
|
- }
|
|
- }
|
|
- }
|
|
-
|
|
- /**
|
|
- * Show the IPH for the save flow that tells a user that they can organize their products from
|
|
- * the bookmarks surface.
|
|
- */
|
|
- private void showShoppingSaveFlowIPH() {
|
|
- mUserEducationHelper.requestShowIPH(
|
|
- new IPHCommandBuilder(mBookmarkSaveFlowView.getResources(),
|
|
- FeatureConstants.SHOPPING_LIST_SAVE_FLOW_FEATURE,
|
|
- R.string.iph_shopping_list_save_flow, R.string.iph_shopping_list_save_flow)
|
|
- .setAnchorView(
|
|
- mBookmarkSaveFlowView.findViewById(R.id.bookmark_select_folder))
|
|
- .build());
|
|
}
|
|
|
|
@VisibleForTesting
|
|
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkSaveFlowMediator.java b/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkSaveFlowMediator.java
|
|
--- a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkSaveFlowMediator.java
|
|
+++ b/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkSaveFlowMediator.java
|
|
@@ -14,11 +14,8 @@ import org.chromium.base.Callback;
|
|
import org.chromium.base.CallbackController;
|
|
import org.chromium.base.metrics.RecordUserAction;
|
|
import org.chromium.chrome.R;
|
|
-import org.chromium.chrome.browser.bookmarks.PowerBookmarkMetrics.PriceTrackingState;
|
|
import org.chromium.chrome.browser.feature_engagement.TrackerFactory;
|
|
import org.chromium.chrome.browser.profiles.Profile;
|
|
-import org.chromium.chrome.browser.subscriptions.CommerceSubscription;
|
|
-import org.chromium.chrome.browser.subscriptions.SubscriptionsManager;
|
|
import org.chromium.components.bookmarks.BookmarkId;
|
|
import org.chromium.components.bookmarks.BookmarkItem;
|
|
import org.chromium.components.feature_engagement.EventConstants;
|
|
@@ -29,7 +26,7 @@ import java.util.List;
|
|
|
|
/** Controls the bookmarks save-flow. */
|
|
public class BookmarkSaveFlowMediator
|
|
- extends BookmarkModelObserver implements SubscriptionsManager.SubscriptionObserver {
|
|
+ extends BookmarkModelObserver {
|
|
private final Context mContext;
|
|
private final Runnable mCloseRunnable;
|
|
|
|
@@ -39,9 +36,6 @@ public class BookmarkSaveFlowMediator
|
|
private BookmarkId mBookmarkId;
|
|
private PowerBookmarkMeta mPowerBookmarkMeta;
|
|
private boolean mWasBookmarkMoved;
|
|
- private SubscriptionsManager mSubscriptionsManager;
|
|
- private CommerceSubscription mSubscription;
|
|
- private Callback<Integer> mSubscriptionsManagerCallback;
|
|
private String mFolderName;
|
|
|
|
/**
|
|
@@ -50,22 +44,15 @@ public class BookmarkSaveFlowMediator
|
|
* model.
|
|
* @param context The {@link Context} associated with this mediator.
|
|
* @param closeRunnable A {@link Runnable} which closes the bookmark save flow.
|
|
- * @param subscriptionsManager Used to manage the price-tracking subscriptions.
|
|
*/
|
|
public BookmarkSaveFlowMediator(BookmarkModel bookmarkModel, PropertyModel propertyModel,
|
|
- Context context, Runnable closeRunnable,
|
|
- @Nullable SubscriptionsManager subscriptionsManager) {
|
|
+ Context context, Runnable closeRunnable) {
|
|
mBookmarkModel = bookmarkModel;
|
|
mBookmarkModel.addObserver(this);
|
|
|
|
mPropertyModel = propertyModel;
|
|
mContext = context;
|
|
mCloseRunnable = closeRunnable;
|
|
-
|
|
- mSubscriptionsManager = subscriptionsManager;
|
|
- if (mSubscriptionsManager != null) {
|
|
- mSubscriptionsManager.addObserver(this);
|
|
- }
|
|
}
|
|
|
|
/**
|
|
@@ -100,9 +87,6 @@ public class BookmarkSaveFlowMediator
|
|
mCloseRunnable.run();
|
|
});
|
|
|
|
- if (meta != null) {
|
|
- mSubscription = PowerBookmarkUtils.createCommerceSubscriptionForPowerBookmarkMeta(meta);
|
|
- }
|
|
bindBookmarkProperties(mBookmarkId, mPowerBookmarkMeta, mWasBookmarkMoved);
|
|
bindPowerBookmarkProperties(mBookmarkId, mPowerBookmarkMeta, fromExplicitTrackUi);
|
|
}
|
|
@@ -128,40 +112,9 @@ public class BookmarkSaveFlowMediator
|
|
|
|
private void bindPowerBookmarkProperties(
|
|
BookmarkId bookmarkId, @Nullable PowerBookmarkMeta meta, boolean fromExplicitTrackUi) {
|
|
- if (meta == null) return;
|
|
-
|
|
- if (meta.hasShoppingSpecifics()) {
|
|
- setPriceTrackingNotificationUiEnabled(true);
|
|
- setPriceTrackingIconForEnabledState(false);
|
|
- mPropertyModel.set(BookmarkSaveFlowProperties.NOTIFICATION_SWITCH_VISIBLE, true);
|
|
- mPropertyModel.set(BookmarkSaveFlowProperties.NOTIFICATION_SWITCH_TITLE,
|
|
- mContext.getResources().getString(R.string.enable_price_tracking_menu_item));
|
|
- mPropertyModel.set(BookmarkSaveFlowProperties.NOTIFICATION_SWITCH_TOGGLE_LISTENER,
|
|
- this::handleNotificationSwitchToggle);
|
|
-
|
|
- if (fromExplicitTrackUi) {
|
|
- mPropertyModel.set(BookmarkSaveFlowProperties.NOTIFICATION_SWITCH_TOGGLED, true);
|
|
- }
|
|
- PowerBookmarkMetrics.reportBookmarkSaveFlowPriceTrackingState(
|
|
- PriceTrackingState.PRICE_TRACKING_SHOWN);
|
|
- }
|
|
}
|
|
|
|
void handleNotificationSwitchToggle(CompoundButton view, boolean toggled) {
|
|
- if (mSubscriptionsManagerCallback == null) {
|
|
- mSubscriptionsManagerCallback = mCallbackController.makeCancelable((Integer status) -> {
|
|
- setPriceTrackingToggleVisualsOnly(
|
|
- status == SubscriptionsManager.StatusCode.OK && view.isChecked());
|
|
- setPriceTrackingNotificationUiEnabled(status == SubscriptionsManager.StatusCode.OK);
|
|
- });
|
|
- }
|
|
-
|
|
- setPriceTrackingIconForEnabledState(toggled);
|
|
- PowerBookmarkUtils.setPriceTrackingEnabled(mSubscriptionsManager, mBookmarkModel,
|
|
- mBookmarkId, toggled, mSubscriptionsManagerCallback);
|
|
- PowerBookmarkMetrics.reportBookmarkSaveFlowPriceTrackingState(toggled
|
|
- ? PriceTrackingState.PRICE_TRACKING_ENABLED
|
|
- : PriceTrackingState.PRICE_TRACKING_DISABLED);
|
|
}
|
|
|
|
void setPriceTrackingNotificationUiEnabled(boolean enabled) {
|
|
@@ -180,9 +133,6 @@ public class BookmarkSaveFlowMediator
|
|
|
|
void destroy() {
|
|
mBookmarkModel.removeObserver(this);
|
|
- if (mSubscriptionsManager != null) {
|
|
- mSubscriptionsManager.removeObserver(this);
|
|
- }
|
|
|
|
mBookmarkModel = null;
|
|
mPropertyModel = null;
|
|
@@ -203,10 +153,6 @@ public class BookmarkSaveFlowMediator
|
|
this::handleNotificationSwitchToggle);
|
|
}
|
|
|
|
- void setSubscriptionForTesting(CommerceSubscription subscription) {
|
|
- mSubscription = subscription;
|
|
- }
|
|
-
|
|
// BookmarkModelObserver implementation
|
|
|
|
@Override
|
|
@@ -218,15 +164,4 @@ public class BookmarkSaveFlowMediator
|
|
}
|
|
bindBookmarkProperties(mBookmarkId, mPowerBookmarkMeta, mWasBookmarkMoved);
|
|
}
|
|
-
|
|
- // SubscriptionsManager.SubscriptionObserver implementation
|
|
- @Override
|
|
- public void onSubscribe(List<CommerceSubscription> subscriptions) {
|
|
- setPriceTrackingToggleVisualsOnly(subscriptions.contains(mSubscription));
|
|
- }
|
|
-
|
|
- @Override
|
|
- public void onUnsubscribe(List<CommerceSubscription> subscriptions) {
|
|
- setPriceTrackingToggleVisualsOnly(!subscriptions.contains(mSubscription));
|
|
- }
|
|
}
|
|
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkUtils.java b/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkUtils.java
|
|
--- a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkUtils.java
|
|
+++ b/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkUtils.java
|
|
@@ -38,7 +38,6 @@ import org.chromium.chrome.browser.app.bookmarks.BookmarkActivity;
|
|
import org.chromium.chrome.browser.app.bookmarks.BookmarkEditActivity;
|
|
import org.chromium.chrome.browser.app.bookmarks.BookmarkFolderSelectActivity;
|
|
import org.chromium.chrome.browser.browserservices.intents.BrowserServicesIntentDataProvider.CustomTabsUiType;
|
|
-import org.chromium.chrome.browser.commerce.ShoppingFeatures;
|
|
import org.chromium.chrome.browser.customtabs.CustomTabIntentDataProvider;
|
|
import org.chromium.chrome.browser.customtabs.IncognitoCustomTabIntentDataProvider;
|
|
import org.chromium.chrome.browser.document.ChromeLauncherActivity;
|
|
@@ -48,8 +47,6 @@ import org.chromium.chrome.browser.preferences.SharedPreferencesManager;
|
|
import org.chromium.chrome.browser.profiles.Profile;
|
|
import org.chromium.chrome.browser.read_later.ReadingListUtils;
|
|
import org.chromium.chrome.browser.renderer_host.ChromeNavigationUIData;
|
|
-import org.chromium.chrome.browser.subscriptions.CommerceSubscriptionsServiceFactory;
|
|
-import org.chromium.chrome.browser.subscriptions.SubscriptionsManager;
|
|
import org.chromium.chrome.browser.tab.Tab;
|
|
import org.chromium.chrome.browser.tab.TabLaunchType;
|
|
import org.chromium.chrome.browser.tabmodel.AsyncTabCreationParams;
|
|
@@ -142,16 +139,9 @@ public class BookmarkUtils {
|
|
return;
|
|
}
|
|
|
|
- SubscriptionsManager subscriptionService = null;
|
|
- if (ShoppingFeatures.isShoppingListEnabled()) {
|
|
- subscriptionService = new CommerceSubscriptionsServiceFactory()
|
|
- .getForLastUsedProfile()
|
|
- .getSubscriptionsManager();
|
|
- }
|
|
-
|
|
BookmarkSaveFlowCoordinator bookmarkSaveFlowCoordinator =
|
|
new BookmarkSaveFlowCoordinator(activity, bottomSheetController,
|
|
- subscriptionService, new UserEducationHelper(activity, new Handler()));
|
|
+ new UserEducationHelper(activity, new Handler()));
|
|
bookmarkSaveFlowCoordinator.show(bookmarkId, fromExplicitTrackUi, wasBookmarkMoved);
|
|
}
|
|
|
|
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/init/ProcessInitializationHandler.java b/chrome/android/java/src/org/chromium/chrome/browser/init/ProcessInitializationHandler.java
|
|
--- a/chrome/android/java/src/org/chromium/chrome/browser/init/ProcessInitializationHandler.java
|
|
+++ b/chrome/android/java/src/org/chromium/chrome/browser/init/ProcessInitializationHandler.java
|
|
@@ -73,7 +73,6 @@ import org.chromium.chrome.browser.partnercustomizations.PartnerBrowserCustomiza
|
|
import org.chromium.chrome.browser.photo_picker.DecoderService;
|
|
import org.chromium.chrome.browser.preferences.ChromePreferenceKeys;
|
|
import org.chromium.chrome.browser.preferences.SharedPreferencesManager;
|
|
-import org.chromium.chrome.browser.price_tracking.PriceTrackingFeatures;
|
|
import org.chromium.chrome.browser.privacy.settings.PrivacyPreferencesManagerImpl;
|
|
import org.chromium.chrome.browser.profiles.Profile;
|
|
import org.chromium.chrome.browser.profiles.ProfileManagerUtils;
|
|
@@ -450,10 +449,6 @@ public class ProcessInitializationHandler {
|
|
.create()
|
|
.onDeferredStartup();
|
|
// TODO(crbug.com/1355893) Move to PersistedTabData.onDeferredStartup
|
|
- if (PriceTrackingFeatures.isPriceTrackingEligible()
|
|
- && ShoppingPersistedTabData.isPriceTrackingWithOptimizationGuideEnabled()) {
|
|
- ShoppingPersistedTabData.onDeferredStartup();
|
|
- }
|
|
});
|
|
deferredStartupHandler.addDeferredTask(() -> {
|
|
if (ChromeFeatureList.isEnabled(ChromeFeatureList.FEATURE_NOTIFICATION_GUIDE)) {
|
|
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/segmentation_platform/ContextualPageActionController.java b/chrome/android/java/src/org/chromium/chrome/browser/segmentation_platform/ContextualPageActionController.java
|
|
--- a/chrome/android/java/src/org/chromium/chrome/browser/segmentation_platform/ContextualPageActionController.java
|
|
+++ b/chrome/android/java/src/org/chromium/chrome/browser/segmentation_platform/ContextualPageActionController.java
|
|
@@ -106,10 +106,6 @@ public class ContextualPageActionController {
|
|
protected void initActionProviders(Supplier<ShoppingService> shoppingServiceSupplier,
|
|
Supplier<BookmarkModel> bookmarkModelSupplier) {
|
|
mActionProviders.clear();
|
|
- if (AdaptiveToolbarFeatures.isPriceTrackingPageActionEnabled()) {
|
|
- mActionProviders.add(new PriceTrackingActionProvider(
|
|
- shoppingServiceSupplier, bookmarkModelSupplier));
|
|
- }
|
|
if (AdaptiveToolbarFeatures.isReaderModePageActionEnabled()) {
|
|
mActionProviders.add(new ReaderModeActionProvider());
|
|
}
|
|
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tab/TabHelpers.java b/chrome/android/java/src/org/chromium/chrome/browser/tab/TabHelpers.java
|
|
--- a/chrome/android/java/src/org/chromium/chrome/browser/tab/TabHelpers.java
|
|
+++ b/chrome/android/java/src/org/chromium/chrome/browser/tab/TabHelpers.java
|
|
@@ -14,7 +14,6 @@ import org.chromium.chrome.browser.dom_distiller.TabDistillabilityProvider;
|
|
import org.chromium.chrome.browser.infobar.InfoBarContainer;
|
|
import org.chromium.chrome.browser.media.ui.MediaSessionTabHelper;
|
|
import org.chromium.chrome.browser.password_check.PasswordCheckUkmRecorder;
|
|
-import org.chromium.chrome.browser.price_tracking.PriceTrackingFeatures;
|
|
import org.chromium.chrome.browser.tab.state.ShoppingPersistedTabData;
|
|
|
|
/**
|
|
@@ -40,14 +39,6 @@ public final class TabHelpers {
|
|
PasswordCheckUkmRecorder.createForTab(tab);
|
|
AccessibilityTabHelper.createForTab(tab);
|
|
|
|
- // The following will start prefetching data for the price drops feature, so
|
|
- // we should only do it if the user is eligible for the feature (e.g. has sync enabled).
|
|
- if (!tab.isIncognito() && !((TabImpl) tab).isCustomTab()
|
|
- && PriceTrackingFeatures.isPriceTrackingEligible()
|
|
- && ShoppingPersistedTabData.isPriceTrackingWithOptimizationGuideEnabled()) {
|
|
- ShoppingPersistedTabData.initialize(tab);
|
|
- }
|
|
-
|
|
// TODO(jinsukkim): Do this by having something observe new tab creation.
|
|
if (tab.isIncognito()) CipherFactory.getInstance().triggerKeyGeneration();
|
|
}
|
|
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tabbed_mode/TabbedRootUiCoordinator.java b/chrome/android/java/src/org/chromium/chrome/browser/tabbed_mode/TabbedRootUiCoordinator.java
|
|
--- a/chrome/android/java/src/org/chromium/chrome/browser/tabbed_mode/TabbedRootUiCoordinator.java
|
|
+++ b/chrome/android/java/src/org/chromium/chrome/browser/tabbed_mode/TabbedRootUiCoordinator.java
|
|
@@ -72,7 +72,6 @@ import org.chromium.chrome.browser.offlinepages.indicator.OfflineIndicatorInProd
|
|
import org.chromium.chrome.browser.omnibox.UrlFocusChangeListener;
|
|
import org.chromium.chrome.browser.preferences.ChromePreferenceKeys;
|
|
import org.chromium.chrome.browser.preferences.SharedPreferencesManager;
|
|
-import org.chromium.chrome.browser.price_tracking.PriceTrackingFeatures;
|
|
import org.chromium.chrome.browser.privacy_sandbox.PrivacySandboxDialogController;
|
|
import org.chromium.chrome.browser.privacy_sandbox.PrivacySandboxDialogLaunchContext;
|
|
import org.chromium.chrome.browser.profiles.Profile;
|
|
@@ -83,8 +82,6 @@ import org.chromium.chrome.browser.share.crow.CrowButtonDelegateImpl;
|
|
import org.chromium.chrome.browser.share.crow.CrowIphController;
|
|
import org.chromium.chrome.browser.share.link_to_text.LinkToTextIPHController;
|
|
import org.chromium.chrome.browser.status_indicator.StatusIndicatorCoordinator;
|
|
-import org.chromium.chrome.browser.subscriptions.CommerceSubscriptionsService;
|
|
-import org.chromium.chrome.browser.subscriptions.CommerceSubscriptionsServiceFactory;
|
|
import org.chromium.chrome.browser.tab.RequestDesktopUtils;
|
|
import org.chromium.chrome.browser.tab.Tab;
|
|
import org.chromium.chrome.browser.tab.TabAssociatedApp;
|
|
@@ -155,7 +152,6 @@ public class TabbedRootUiCoordinator extends RootUiCoordinator {
|
|
private NavigationSheet mNavigationSheet;
|
|
private ComposedBrowserControlsVisibilityDelegate mAppBrowserControlsVisibilityDelegate;
|
|
private LayoutManagerImpl mLayoutManager;
|
|
- private CommerceSubscriptionsService mCommerceSubscriptionsService;
|
|
private UndoGroupSnackbarController mUndoGroupSnackbarController;
|
|
private final int mControlContainerHeightResource;
|
|
private final Supplier<InsetObserverView> mInsetObserverViewSupplier;
|
|
@@ -378,11 +374,6 @@ public class TabbedRootUiCoordinator extends RootUiCoordinator {
|
|
mUndoGroupSnackbarController.destroy();
|
|
}
|
|
|
|
- if (mCommerceSubscriptionsService != null) {
|
|
- mCommerceSubscriptionsService.destroy();
|
|
- mCommerceSubscriptionsService = null;
|
|
- }
|
|
-
|
|
super.onDestroy();
|
|
}
|
|
|
|
@@ -520,7 +511,6 @@ public class TabbedRootUiCoordinator extends RootUiCoordinator {
|
|
mPwaBottomSheetController =
|
|
PwaBottomSheetControllerFactory.createPwaBottomSheetController(mActivity);
|
|
PwaBottomSheetControllerFactory.attach(mWindowAndroid, mPwaBottomSheetController);
|
|
- initCommerceSubscriptionsService();
|
|
initUndoGroupSnackbarController();
|
|
}
|
|
|
|
@@ -765,18 +755,6 @@ public class TabbedRootUiCoordinator extends RootUiCoordinator {
|
|
if (animate) browserControlsSizer.setAnimateBrowserControlsHeightChanges(false);
|
|
}
|
|
|
|
- private void initCommerceSubscriptionsService() {
|
|
- if (!PriceTrackingFeatures.getPriceTrackingNotificationsEnabled()) {
|
|
- return;
|
|
- }
|
|
-
|
|
- CommerceSubscriptionsServiceFactory factory = new CommerceSubscriptionsServiceFactory();
|
|
- mCommerceSubscriptionsService = factory.getForLastUsedProfile();
|
|
- mCommerceSubscriptionsService.getSubscriptionsManager().queryAndUpdateWaaEnabled();
|
|
- mCommerceSubscriptionsService.initDeferredStartupForActivity(
|
|
- mTabModelSelectorSupplier.get(), mActivityLifecycleDispatcher);
|
|
- }
|
|
-
|
|
private void initUndoGroupSnackbarController() {
|
|
if (TabUiFeatureUtilities.isTabGroupsAndroidEnabled(mActivity)) {
|
|
mUndoGroupSnackbarController = new UndoGroupSnackbarController(
|
|
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/toolbar/ToolbarButtonInProductHelpController.java b/chrome/android/java/src/org/chromium/chrome/browser/toolbar/ToolbarButtonInProductHelpController.java
|
|
--- a/chrome/android/java/src/org/chromium/chrome/browser/toolbar/ToolbarButtonInProductHelpController.java
|
|
+++ b/chrome/android/java/src/org/chromium/chrome/browser/toolbar/ToolbarButtonInProductHelpController.java
|
|
@@ -15,8 +15,6 @@ import org.chromium.base.supplier.ObservableSupplier;
|
|
import org.chromium.base.supplier.Supplier;
|
|
import org.chromium.base.task.PostTask;
|
|
import org.chromium.chrome.R;
|
|
-import org.chromium.chrome.browser.bookmarks.PowerBookmarkUtils;
|
|
-import org.chromium.chrome.browser.commerce.ShoppingFeatures;
|
|
import org.chromium.chrome.browser.download.DownloadUtils;
|
|
import org.chromium.chrome.browser.feature_engagement.ScreenshotMonitor;
|
|
import org.chromium.chrome.browser.feature_engagement.ScreenshotMonitorDelegate;
|
|
@@ -118,7 +116,6 @@ public class ToolbarButtonInProductHelpController
|
|
private void handleIPHForSuccessfulPageLoad(final Tab tab) {
|
|
showDownloadPageTextBubble(tab, FeatureConstants.DOWNLOAD_PAGE_FEATURE);
|
|
showTranslateMenuButtonTextBubble(tab);
|
|
- showPriceTrackingIPH(tab);
|
|
}
|
|
|
|
private void handleIPHForErrorPageShown(Tab tab) {
|
|
@@ -149,30 +146,6 @@ public class ToolbarButtonInProductHelpController
|
|
mLifecycleDispatcher.unregister(this);
|
|
}
|
|
|
|
- /**
|
|
- * Attempt to show the IPH for price tracking.
|
|
- * @param tab The tab currently being displayed to the user.
|
|
- */
|
|
- private void showPriceTrackingIPH(Tab tab) {
|
|
- if (!ShoppingFeatures.isShoppingListEnabled()
|
|
- || !PowerBookmarkUtils.isPriceTrackingEligible(tab)
|
|
- || AdaptiveToolbarFeatures.isContextualPageActionUiEnabled()) {
|
|
- return;
|
|
- }
|
|
-
|
|
- mUserEducationHelper.requestShowIPH(
|
|
- new IPHCommandBuilder(mActivity.getResources(),
|
|
- FeatureConstants.SHOPPING_LIST_MENU_ITEM_FEATURE,
|
|
- R.string.iph_price_tracking_menu_item,
|
|
- R.string.iph_price_tracking_menu_item_accessibility)
|
|
- .setAnchorView(mMenuButtonAnchorView)
|
|
- .setOnShowCallback(()
|
|
- -> turnOnHighlightForMenuItem(
|
|
- R.id.enable_price_tracking_menu_id))
|
|
- .setOnDismissCallback(this::turnOffHighlightForMenuItem)
|
|
- .build());
|
|
- }
|
|
-
|
|
/**
|
|
* Attempts to show an IPH text bubble for download continuing.
|
|
*/
|
|
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/toolbar/ToolbarManager.java b/chrome/android/java/src/org/chromium/chrome/browser/toolbar/ToolbarManager.java
|
|
--- a/chrome/android/java/src/org/chromium/chrome/browser/toolbar/ToolbarManager.java
|
|
+++ b/chrome/android/java/src/org/chromium/chrome/browser/toolbar/ToolbarManager.java
|
|
@@ -92,8 +92,6 @@ import org.chromium.chrome.browser.omnibox.suggestions.OmniboxPedalDelegate;
|
|
import org.chromium.chrome.browser.omnibox.voice.VoiceRecognitionHandler;
|
|
import org.chromium.chrome.browser.page_info.ChromePageInfo;
|
|
import org.chromium.chrome.browser.partnercustomizations.PartnerBrowserCustomizations;
|
|
-import org.chromium.chrome.browser.price_tracking.PriceTrackingFeatures;
|
|
-import org.chromium.chrome.browser.price_tracking.PriceTrackingUtilities;
|
|
import org.chromium.chrome.browser.privacy.settings.PrivacyPreferencesManagerImpl;
|
|
import org.chromium.chrome.browser.profiles.Profile;
|
|
import org.chromium.chrome.browser.search_engines.TemplateUrlServiceFactory;
|
|
@@ -2018,21 +2016,6 @@ public class ToolbarManager implements UrlFocusChangeListener, ThemeColorObserve
|
|
* viewed in the tab switcher grid.
|
|
*/
|
|
private void maybeShowPriceDropIPH() {
|
|
- if (!PriceTrackingUtilities.isTrackPricesOnTabsEnabled()
|
|
- || !PriceTrackingFeatures.isPriceDropIphEnabled() || mTabModelSelector == null
|
|
- || mTabModelSelector.isIncognitoSelected()) {
|
|
- return;
|
|
- }
|
|
- TabModel tabModel = mTabModelSelector.getCurrentModel();
|
|
- for (int i = 0; i < tabModel.getCount(); i++) {
|
|
- ShoppingPersistedTabData.from(tabModel.getTabAt(i), (shoppingPersistedTabData) -> {
|
|
- if (shoppingPersistedTabData != null
|
|
- && shoppingPersistedTabData.getPriceDrop() != null
|
|
- && !shoppingPersistedTabData.getIsCurrentPriceDropSeen()) {
|
|
- showPriceDropIPH();
|
|
- }
|
|
- });
|
|
- }
|
|
}
|
|
|
|
private void checkIfNtpLoaded() {
|
|
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ui/RootUiCoordinator.java b/chrome/android/java/src/org/chromium/chrome/browser/ui/RootUiCoordinator.java
|
|
--- a/chrome/android/java/src/org/chromium/chrome/browser/ui/RootUiCoordinator.java
|
|
+++ b/chrome/android/java/src/org/chromium/chrome/browser/ui/RootUiCoordinator.java
|
|
@@ -44,7 +44,6 @@ import org.chromium.chrome.browser.app.omnibox.OmniboxPedalDelegateImpl;
|
|
import org.chromium.chrome.browser.app.tab_activity_glue.TabReparentingController;
|
|
import org.chromium.chrome.browser.back_press.BackPressManager;
|
|
import org.chromium.chrome.browser.bookmarks.BookmarkModel;
|
|
-import org.chromium.chrome.browser.bookmarks.PowerBookmarkUtils;
|
|
import org.chromium.chrome.browser.bookmarks.TabBookmarker;
|
|
import org.chromium.chrome.browser.browser_controls.BrowserControlsStateProvider;
|
|
import org.chromium.chrome.browser.commerce.ShoppingFeatures;
|
|
@@ -95,7 +94,6 @@ import org.chromium.chrome.browser.omnibox.voice.VoiceRecognitionHandler;
|
|
import org.chromium.chrome.browser.omnibox.voice.VoiceRecognitionHandler.VoiceInteractionSource;
|
|
import org.chromium.chrome.browser.paint_preview.DemoPaintPreview;
|
|
import org.chromium.chrome.browser.preferences.SharedPreferencesManager;
|
|
-import org.chromium.chrome.browser.price_tracking.PriceTrackingButtonController;
|
|
import org.chromium.chrome.browser.profiles.Profile;
|
|
import org.chromium.chrome.browser.search_engines.TemplateUrlServiceFactory;
|
|
import org.chromium.chrome.browser.settings.SettingsLauncherImpl;
|
|
@@ -105,7 +103,6 @@ import org.chromium.chrome.browser.share.ShareDelegate.ShareOrigin;
|
|
import org.chromium.chrome.browser.share.ShareUtils;
|
|
import org.chromium.chrome.browser.share.qrcode.QrCodeDialog;
|
|
import org.chromium.chrome.browser.share.scroll_capture.ScrollCaptureManager;
|
|
-import org.chromium.chrome.browser.subscriptions.CommerceSubscriptionsServiceFactory;
|
|
import org.chromium.chrome.browser.tab.AccessibilityVisibilityHandler;
|
|
import org.chromium.chrome.browser.tab.AutofillSessionLifetimeController;
|
|
import org.chromium.chrome.browser.tab.RequestDesktopUtils;
|
|
@@ -775,17 +772,6 @@ public class RootUiCoordinator
|
|
initMerchantTrustSignals();
|
|
initScrollCapture();
|
|
|
|
- // TODO(1293885): Remove this validator once we have an API on the backend that sends
|
|
- // success/failure information back.
|
|
- if (ShoppingFeatures.isShoppingListEnabled()) {
|
|
- mBookmarkModelSupplier.addObserver((bridge) -> {
|
|
- PowerBookmarkUtils.validateBookmarkedCommerceSubscriptions(bridge,
|
|
- new CommerceSubscriptionsServiceFactory()
|
|
- .getForLastUsedProfile()
|
|
- .getSubscriptionsManager());
|
|
- });
|
|
- }
|
|
-
|
|
new OneShotCallback<>(mProfileSupplier, this::initHistoryClustersCoordinator);
|
|
|
|
if (DeviceFormFactor.isWindowOnTablet(mWindowAndroid)
|
|
@@ -1090,12 +1076,6 @@ public class RootUiCoordinator
|
|
|
|
mIdentityDiscController = new IdentityDiscController(
|
|
mActivity, mActivityLifecycleDispatcher, mProfileSupplier);
|
|
- PriceTrackingButtonController priceTrackingButtonController =
|
|
- new PriceTrackingButtonController(mActivityTabProvider,
|
|
- mModalDialogManagerSupplier.get(), getBottomSheetController(),
|
|
- AppCompatResources.getDrawable(
|
|
- mActivity, R.drawable.price_tracking_disabled),
|
|
- mTabBookmarkerSupplier);
|
|
ReaderModeToolbarButtonController readerModeToolbarButtonController =
|
|
new ReaderModeToolbarButtonController(mActivityTabProvider,
|
|
mModalDialogManagerSupplier.get(),
|
|
@@ -1146,8 +1126,6 @@ public class RootUiCoordinator
|
|
AdaptiveToolbarButtonVariant.SHARE, shareButtonController);
|
|
adaptiveToolbarButtonController.addButtonVariant(
|
|
AdaptiveToolbarButtonVariant.VOICE, voiceToolbarButtonController);
|
|
- adaptiveToolbarButtonController.addButtonVariant(
|
|
- AdaptiveToolbarButtonVariant.PRICE_TRACKING, priceTrackingButtonController);
|
|
adaptiveToolbarButtonController.addButtonVariant(
|
|
AdaptiveToolbarButtonVariant.READER_MODE, readerModeToolbarButtonController);
|
|
mButtonDataProviders =
|
|
diff --git a/chrome/android/java_sources.gni b/chrome/android/java_sources.gni
|
|
--- a/chrome/android/java_sources.gni
|
|
+++ b/chrome/android/java_sources.gni
|
|
@@ -15,9 +15,6 @@ import("//chrome/android/features/tab_ui/tab_management_java_sources.gni")
|
|
import("//chrome/android/feed/feed_java_sources.gni")
|
|
import(
|
|
"//chrome/browser/commerce/merchant_viewer/android/test_java_sources.gni")
|
|
-import("//chrome/browser/commerce/price_tracking/android/test_java_sources.gni")
|
|
-import(
|
|
- "//chrome/browser/commerce/subscriptions/test/android/test_java_sources.gni")
|
|
import("//chrome/browser/share/android/test_java_sources.gni")
|
|
import("//chrome/common/features.gni")
|
|
import("//components/feed/features.gni")
|
|
@@ -41,16 +38,11 @@ chrome_test_java_sources += feed_test_java_sources
|
|
chrome_test_java_sources += start_surface_test_java_sources
|
|
chrome_junit_test_java_sources += start_surface_junit_java_sources
|
|
chrome_junit_test_java_sources += tab_management_junit_java_sources
|
|
-chrome_junit_test_java_sources += price_tracking_junit_test_java_sources
|
|
-chrome_test_java_sources += price_tracking_test_java_sources
|
|
chrome_test_java_sources += tab_management_test_java_sources
|
|
chrome_test_java_sources += share_test_java_sources
|
|
chrome_junit_test_java_sources += share_junit_test_java_sources
|
|
chrome_junit_test_java_deps = share_junit_test_java_deps
|
|
chrome_junit_test_java_deps += feed_test_deps
|
|
-chrome_junit_test_java_sources += commerce_subscriptions_junit_test_sources
|
|
-chrome_junit_test_java_deps += commerce_subscriptions_junit_test_deps
|
|
-chrome_test_java_sources += commerce_subscriptions_java_test_sources
|
|
chrome_test_java_sources += commerce_merchant_viewer_java_test_sources
|
|
|
|
if (enable_arcore) {
|
|
diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn
|
|
--- a/chrome/browser/BUILD.gn
|
|
+++ b/chrome/browser/BUILD.gn
|
|
@@ -2921,8 +2921,6 @@ static_library("browser") {
|
|
"chrome_browser_main_android.h",
|
|
"commerce/android/shopping_service_factory_android.cc",
|
|
"commerce/merchant_viewer/web_contents_helper.cc",
|
|
- "commerce/price_tracking/android/price_tracking_notification_bridge.cc",
|
|
- "commerce/price_tracking/android/price_tracking_notification_bridge.h",
|
|
"component_updater/crow_domain_list_component_installer.cc",
|
|
"component_updater/crow_domain_list_component_installer.h",
|
|
"component_updater/desktop_sharing_hub_component_remover.cc",
|
|
diff --git a/chrome/browser/commerce/price_tracking/android/java/src/org/chromium/chrome/browser/price_tracking/PriceTrackingFeatures.java b/chrome/browser/commerce/price_tracking/android/java/src/org/chromium/chrome/browser/price_tracking/PriceTrackingFeatures.java
|
|
--- a/chrome/browser/commerce/price_tracking/android/java/src/org/chromium/chrome/browser/price_tracking/PriceTrackingFeatures.java
|
|
+++ b/chrome/browser/commerce/price_tracking/android/java/src/org/chromium/chrome/browser/price_tracking/PriceTrackingFeatures.java
|
|
@@ -77,7 +77,7 @@ public class PriceTrackingFeatures {
|
|
* @return Whether the price drop notification is eligible to work.
|
|
*/
|
|
public static boolean isPriceDropNotificationEligible() {
|
|
- return isPriceTrackingEligible() && getPriceTrackingNotificationsEnabled();
|
|
+ return false;
|
|
}
|
|
|
|
private static boolean isSignedIn() {
|
|
diff --git a/chrome/browser/commerce/subscriptions/android/BUILD.gn b/chrome/browser/commerce/subscriptions/android/BUILD.gn
|
|
--- a/chrome/browser/commerce/subscriptions/android/BUILD.gn
|
|
+++ b/chrome/browser/commerce/subscriptions/android/BUILD.gn
|
|
@@ -30,7 +30,6 @@ android_library("subscriptions_java") {
|
|
"//base:jni_java",
|
|
"//build/android:build_java",
|
|
"//chrome/browser/android/lifecycle:java",
|
|
- "//chrome/browser/commerce/price_tracking/android:java",
|
|
"//chrome/browser/endpoint_fetcher:java",
|
|
"//chrome/browser/flags:java",
|
|
"//chrome/browser/preferences:java",
|
|
diff --git a/chrome/browser/commerce/subscriptions/android/java/src/org/chromium/chrome/browser/subscriptions/CommerceSubscriptionsService.java b/chrome/browser/commerce/subscriptions/android/java/src/org/chromium/chrome/browser/subscriptions/CommerceSubscriptionsService.java
|
|
--- a/chrome/browser/commerce/subscriptions/android/java/src/org/chromium/chrome/browser/subscriptions/CommerceSubscriptionsService.java
|
|
+++ b/chrome/browser/commerce/subscriptions/android/java/src/org/chromium/chrome/browser/subscriptions/CommerceSubscriptionsService.java
|
|
@@ -10,8 +10,6 @@ import org.chromium.chrome.browser.lifecycle.ActivityLifecycleDispatcher;
|
|
import org.chromium.chrome.browser.lifecycle.PauseResumeWithNativeObserver;
|
|
import org.chromium.chrome.browser.preferences.ChromePreferenceKeys;
|
|
import org.chromium.chrome.browser.preferences.SharedPreferencesManager;
|
|
-import org.chromium.chrome.browser.price_tracking.PriceDropNotificationManager;
|
|
-import org.chromium.chrome.browser.price_tracking.PriceTrackingFeatures;
|
|
import org.chromium.chrome.browser.subscriptions.CommerceSubscription.CommerceSubscriptionType;
|
|
import org.chromium.chrome.browser.tabmodel.TabModelSelector;
|
|
|
|
@@ -27,18 +25,14 @@ public class CommerceSubscriptionsService {
|
|
|
|
private final SubscriptionsManagerImpl mSubscriptionManager;
|
|
private final SharedPreferencesManager mSharedPreferencesManager;
|
|
- private final PriceDropNotificationManager mPriceDropNotificationManager;
|
|
private final CommerceSubscriptionsMetrics mMetrics;
|
|
- private ImplicitPriceDropSubscriptionsManager mImplicitPriceDropSubscriptionsManager;
|
|
private ActivityLifecycleDispatcher mActivityLifecycleDispatcher;
|
|
private PauseResumeWithNativeObserver mPauseResumeWithNativeObserver;
|
|
|
|
/** Creates a new instance. */
|
|
- CommerceSubscriptionsService(SubscriptionsManagerImpl subscriptionsManager,
|
|
- PriceDropNotificationManager priceDropNotificationManager) {
|
|
+ CommerceSubscriptionsService(SubscriptionsManagerImpl subscriptionsManager) {
|
|
mSubscriptionManager = subscriptionsManager;
|
|
mSharedPreferencesManager = SharedPreferencesManager.getInstance();
|
|
- mPriceDropNotificationManager = priceDropNotificationManager;
|
|
mMetrics = new CommerceSubscriptionsMetrics();
|
|
}
|
|
|
|
@@ -56,12 +50,6 @@ public class CommerceSubscriptionsService {
|
|
public void onPauseWithNative() {}
|
|
};
|
|
mActivityLifecycleDispatcher.register(mPauseResumeWithNativeObserver);
|
|
-
|
|
- if (CommerceSubscriptionsServiceConfig.isImplicitSubscriptionsEnabled()
|
|
- && mImplicitPriceDropSubscriptionsManager == null) {
|
|
- mImplicitPriceDropSubscriptionsManager = new ImplicitPriceDropSubscriptionsManager(
|
|
- tabModelSelector, mSubscriptionManager);
|
|
- }
|
|
}
|
|
|
|
/** Returns the subscriptionsManager. */
|
|
@@ -76,10 +64,6 @@ public class CommerceSubscriptionsService {
|
|
if (mActivityLifecycleDispatcher != null) {
|
|
mActivityLifecycleDispatcher.unregister(mPauseResumeWithNativeObserver);
|
|
}
|
|
- if (mImplicitPriceDropSubscriptionsManager != null) {
|
|
- mImplicitPriceDropSubscriptionsManager.destroy();
|
|
- mImplicitPriceDropSubscriptionsManager = null;
|
|
- }
|
|
}
|
|
|
|
private void maybeRecordMetricsAndInitializeSubscriptions() {
|
|
@@ -93,23 +77,5 @@ public class CommerceSubscriptionsService {
|
|
mSharedPreferencesManager.writeLong(
|
|
CHROME_MANAGED_SUBSCRIPTIONS_TIMESTAMP, System.currentTimeMillis());
|
|
mMetrics.recordAccountWaaStatus();
|
|
- if (!PriceTrackingFeatures.isPriceDropNotificationEligible()) return;
|
|
- recordMetricsForEligibleAccount();
|
|
- if (mImplicitPriceDropSubscriptionsManager != null) {
|
|
- mImplicitPriceDropSubscriptionsManager.initializeSubscriptions();
|
|
- }
|
|
- }
|
|
-
|
|
- private void recordMetricsForEligibleAccount() {
|
|
- // Record notification opt-in metrics.
|
|
- mPriceDropNotificationManager.canPostNotificationWithMetricsRecorded();
|
|
- mPriceDropNotificationManager.recordMetricsForNotificationCounts();
|
|
- mSubscriptionManager.getSubscriptions(
|
|
- CommerceSubscriptionType.PRICE_TRACK, false, mMetrics::recordSubscriptionCounts);
|
|
- }
|
|
-
|
|
- @VisibleForTesting
|
|
- void setImplicitSubscriptionsManagerForTesting(ImplicitPriceDropSubscriptionsManager manager) {
|
|
- mImplicitPriceDropSubscriptionsManager = manager;
|
|
}
|
|
}
|
|
diff --git a/chrome/browser/commerce/subscriptions/android/java/src/org/chromium/chrome/browser/subscriptions/SubscriptionsManagerImpl.java b/chrome/browser/commerce/subscriptions/android/java/src/org/chromium/chrome/browser/subscriptions/SubscriptionsManagerImpl.java
|
|
--- a/chrome/browser/commerce/subscriptions/android/java/src/org/chromium/chrome/browser/subscriptions/SubscriptionsManagerImpl.java
|
|
+++ b/chrome/browser/commerce/subscriptions/android/java/src/org/chromium/chrome/browser/subscriptions/SubscriptionsManagerImpl.java
|
|
@@ -11,8 +11,6 @@ import androidx.annotation.VisibleForTesting;
|
|
|
|
import org.chromium.base.Callback;
|
|
import org.chromium.base.ObserverList;
|
|
-import org.chromium.chrome.browser.price_tracking.PriceDropNotificationManager;
|
|
-import org.chromium.chrome.browser.price_tracking.PriceTrackingFeatures;
|
|
import org.chromium.chrome.browser.profiles.Profile;
|
|
|
|
import java.lang.annotation.Retention;
|
|
@@ -43,7 +41,6 @@ public class SubscriptionsManagerImpl implements SubscriptionsManager {
|
|
private boolean mCanHandleRequests;
|
|
private Queue<DeferredSubscriptionOperation> mDeferredTasks;
|
|
private final ObserverList<SubscriptionObserver> mObservers;
|
|
- private final PriceDropNotificationManager mPriceDropNotificationManager;
|
|
|
|
private static class DeferredSubscriptionOperation {
|
|
private final @Operation int mOperation;
|
|
@@ -71,18 +68,16 @@ public class SubscriptionsManagerImpl implements SubscriptionsManager {
|
|
}
|
|
|
|
public SubscriptionsManagerImpl(
|
|
- Profile profile, PriceDropNotificationManager priceDropNotificationManager) {
|
|
+ Profile profile) {
|
|
this(profile, new CommerceSubscriptionsStorage(profile),
|
|
- new CommerceSubscriptionsServiceProxy(profile), priceDropNotificationManager);
|
|
+ new CommerceSubscriptionsServiceProxy(profile));
|
|
}
|
|
|
|
@VisibleForTesting
|
|
SubscriptionsManagerImpl(Profile profile, CommerceSubscriptionsStorage storage,
|
|
- CommerceSubscriptionsServiceProxy proxy,
|
|
- PriceDropNotificationManager priceDropNotificationManager) {
|
|
+ CommerceSubscriptionsServiceProxy proxy) {
|
|
mStorage = storage;
|
|
mServiceProxy = proxy;
|
|
- mPriceDropNotificationManager = priceDropNotificationManager;
|
|
mDeferredTasks = new LinkedList<>();
|
|
mCanHandleRequests = false;
|
|
initTypes(this::onInitComplete);
|
|
@@ -145,16 +140,6 @@ public class SubscriptionsManagerImpl implements SubscriptionsManager {
|
|
return;
|
|
}
|
|
|
|
- // Make sure the notification channel is initialized if there is a user-managed PRICE_TRACK
|
|
- // subscription. For chrome-managed subscriptions, channel will be initialized via message
|
|
- // card in tab switcher.
|
|
- if (CommerceSubscription.CommerceSubscriptionType.PRICE_TRACK.equals(type)
|
|
- && CommerceSubscription.SubscriptionManagementType.USER_MANAGED.equals(
|
|
- subscriptions.get(0).getManagementType())
|
|
- && Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
|
|
- mPriceDropNotificationManager.createNotificationChannel();
|
|
- }
|
|
-
|
|
if (!mCanHandleRequests) {
|
|
mDeferredTasks.add(new DeferredSubscriptionOperation(
|
|
Operation.SUBSCRIBE, subscriptions, wrappedCallback));
|
|
@@ -244,11 +229,6 @@ public class SubscriptionsManagerImpl implements SubscriptionsManager {
|
|
*/
|
|
void onIdentityChanged() {
|
|
mStorage.deleteAll();
|
|
- // If the feature is still eligible to work, we should re-init and fetch the fresh data.
|
|
- if (PriceTrackingFeatures.isPriceDropNotificationEligible()) {
|
|
- initTypes((status) -> { assert status == SubscriptionsManager.StatusCode.OK; });
|
|
- queryAndUpdateWaaEnabled();
|
|
- }
|
|
}
|
|
|
|
/**
|
|
diff --git a/chrome/browser/optimization_guide/optimization_guide_keyed_service.cc b/chrome/browser/optimization_guide/optimization_guide_keyed_service.cc
|
|
--- a/chrome/browser/optimization_guide/optimization_guide_keyed_service.cc
|
|
+++ b/chrome/browser/optimization_guide/optimization_guide_keyed_service.cc
|
|
@@ -113,10 +113,6 @@ OptimizationGuideKeyedService::MaybeCreatePushNotificationManager(
|
|
if (optimization_guide::features::IsPushNotificationsEnabled()) {
|
|
auto push_notification_manager =
|
|
std::make_unique<optimization_guide::PushNotificationManager>();
|
|
-#if BUILDFLAG(IS_ANDROID)
|
|
- push_notification_manager->AddObserver(
|
|
- PriceTrackingNotificationBridge::GetForBrowserContext(profile));
|
|
-#endif
|
|
return push_notification_manager;
|
|
}
|
|
return nullptr;
|
|
diff --git a/chrome/browser/persisted_state_db/BUILD.gn b/chrome/browser/persisted_state_db/BUILD.gn
|
|
--- a/chrome/browser/persisted_state_db/BUILD.gn
|
|
+++ b/chrome/browser/persisted_state_db/BUILD.gn
|
|
@@ -20,7 +20,6 @@ source_set("persisted_state_db") {
|
|
|
|
deps = [
|
|
"//base:base",
|
|
- "//components/commerce/core:commerce_subscription_db_content_proto",
|
|
"//components/commerce/core:persisted_state_db_content_proto",
|
|
"//components/keyed_service/content",
|
|
"//components/leveldb_proto",
|
|
--
|
|
2.25.1
|