Commit 637d5e72 authored by zhiyuancai's avatar zhiyuancai Committed by Commit Bot

Add an item to tab switcher toolbar menu for price tracking

Add an item "Track prices" to the tab switcher toolbar menu.
This CL only handles adding this item, and does not add the response
part when clicking this item.

Bug: 1144742
Change-Id: I01baa8961158b39216e790b99113d6dab980c1f3
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2518830
Commit-Queue: Zhiyuan Cai <zhiyuancai@google.com>
Reviewed-by: default avatarYue Zhang <yuezhanggg@chromium.org>
Reviewed-by: default avatarWei-Yin Chen (陳威尹) <wychen@chromium.org>
Reviewed-by: default avatarYusuf Ozuysal <yusufo@chromium.org>
Cr-Commit-Position: refs/heads/master@{#827548}
parent 396fda95
...@@ -688,6 +688,7 @@ chrome_java_resources = [ ...@@ -688,6 +688,7 @@ chrome_java_resources = [
"java/res/drawable/ic_sync_on_48dp.xml", "java/res/drawable/ic_sync_on_48dp.xml",
"java/res/drawable/ic_toolbar_share_offset_24dp.xml", "java/res/drawable/ic_toolbar_share_offset_24dp.xml",
"java/res/drawable/ic_translate.xml", "java/res/drawable/ic_translate.xml",
"java/res/drawable/ic_trending_down_black.xml",
"java/res/drawable/ic_tv_options_input_settings_rotated_grey.xml", "java/res/drawable/ic_tv_options_input_settings_rotated_grey.xml",
"java/res/drawable/ic_visibility_black.xml", "java/res/drawable/ic_visibility_black.xml",
"java/res/drawable/ic_visibility_off_black.xml", "java/res/drawable/ic_visibility_off_black.xml",
......
...@@ -323,8 +323,7 @@ Still reading? ...@@ -323,8 +323,7 @@ Still reading?
<ignore regexp="The resource `R.string.ntp_article_suggestions_section_empty` appears to be unused"/> <ignore regexp="The resource `R.string.ntp_article_suggestions_section_empty` appears to be unused"/>
<!-- 1: TODO(crbug.com/1137985) resource is used in downstream image editor. --> <!-- 1: TODO(crbug.com/1137985) resource is used in downstream image editor. -->
<ignore regexp="The resource `R.string.clear` appears to be unused"/> <ignore regexp="The resource `R.string.clear` appears to be unused"/>
<!-- 4: Temporarily suppressed until impelmentation is ready, see https://crbug.com/1144742, https://crbug.com/1148020 --> <!-- 3: Temporarily suppressed until impelmentation is ready, see https://crbug.com/1148020 -->
<ignore regexp="The resource `R.string.menu_track_prices` appears to be unused"/>
<ignore regexp="The resource `R.string.price_drop_spotted_title` appears to be unused"/> <ignore regexp="The resource `R.string.price_drop_spotted_title` appears to be unused"/>
<ignore regexp="The resource `R.string.price_drop_spotted_content` appears to be unused"/> <ignore regexp="The resource `R.string.price_drop_spotted_content` appears to be unused"/>
<ignore regexp="The resource `R.string.price_drop_spotted_show_me` appears to be unused"/> <ignore regexp="The resource `R.string.price_drop_spotted_show_me` appears to be unused"/>
......
...@@ -202,4 +202,11 @@ public class TabUiFeatureUtilities { ...@@ -202,4 +202,11 @@ public class TabUiFeatureUtilities {
public static boolean isLaunchBugFixEnabled() { public static boolean isLaunchBugFixEnabled() {
return ENABLE_LAUNCH_BUG_FIX.getValue(); return ENABLE_LAUNCH_BUG_FIX.getValue();
} }
/**
* @return Whether the price tracking feature is enabled and available for use.
*/
public static boolean isPriceTrackingEnabled() {
return ENABLE_PRICE_TRACKING.getValue();
}
} }
<?xml version="1.0" encoding="utf-8"?>
<!-- Copyright 2020 The Chromium Authors. All rights reserved.
Use of this source code is governed by a BSD-style license that can be
found in the LICENSE file. -->
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="24dp"
android:height="24dp"
android:viewportWidth="24"
android:viewportHeight="24">
<path
android:pathData="M20,12v2.58L13.41,8l-4,4 -6,-6L2,7.41l7.41,7.42 4,-4L18.58,16H16v2h6v-6z"
android:fillColor="@color/default_icon_color" />
</vector>
...@@ -139,6 +139,17 @@ ...@@ -139,6 +139,17 @@
<item android:id="@+id/menu_group_tabs" <item android:id="@+id/menu_group_tabs"
android:title="@string/menu_group_tabs" android:title="@string/menu_group_tabs"
android:icon="@drawable/ic_widgets" /> android:icon="@drawable/ic_widgets" />
<item android:id="@+id/track_prices_row_menu_id"
android:title="@null">
<menu>
<item android:id="@+id/track_prices_id"
android:title="@string/menu_track_prices"
android:icon="@drawable/ic_trending_down_black" />
<item android:id="@+id/track_prices_check_id"
android:title="@null"
android:checkable="true" />
</menu>
</item>
<item android:id="@id/preferences_id" <item android:id="@id/preferences_id"
android:title="@string/menu_settings" android:title="@string/menu_settings"
android:icon="@drawable/settings_cog" /> android:icon="@drawable/settings_cog" />
...@@ -174,6 +185,17 @@ ...@@ -174,6 +185,17 @@
<item android:id="@id/menu_group_tabs" <item android:id="@id/menu_group_tabs"
android:title="@string/menu_group_tabs" android:title="@string/menu_group_tabs"
android:icon="@drawable/ic_widgets" /> android:icon="@drawable/ic_widgets" />
<item android:id="@id/track_prices_row_menu_id"
android:title="@null">
<menu>
<item android:id="@id/track_prices_id"
android:title="@string/menu_track_prices"
android:icon="@drawable/ic_trending_down_black" />
<item android:id="@id/track_prices_check_id"
android:title="@null"
android:checkable="true" />
</menu>
</item>
<item android:id="@id/preferences_id" <item android:id="@id/preferences_id"
android:title="@string/menu_settings" android:title="@string/menu_settings"
android:icon="@drawable/settings_cog" /> android:icon="@drawable/settings_cog" />
......
...@@ -198,6 +198,17 @@ ...@@ -198,6 +198,17 @@
<item android:id="@+id/menu_group_tabs" <item android:id="@+id/menu_group_tabs"
android:title="@string/menu_group_tabs" android:title="@string/menu_group_tabs"
android:icon="@drawable/ic_widgets" /> android:icon="@drawable/ic_widgets" />
<item android:id="@+id/track_prices_row_menu_id"
android:title="@null">
<menu>
<item android:id="@+id/track_prices_id"
android:title="@string/menu_track_prices"
android:icon="@drawable/ic_trending_down_black" />
<item android:id="@+id/track_prices_check_id"
android:title="@null"
android:checkable="true" />
</menu>
</item>
<item android:id="@id/preferences_id" <item android:id="@id/preferences_id"
android:title="@string/menu_settings" android:title="@string/menu_settings"
android:icon="@drawable/settings_cog" /> android:icon="@drawable/settings_cog" />
...@@ -237,6 +248,17 @@ ...@@ -237,6 +248,17 @@
<item android:id="@id/menu_group_tabs" <item android:id="@id/menu_group_tabs"
android:title="@string/menu_group_tabs" android:title="@string/menu_group_tabs"
android:icon="@drawable/ic_widgets" /> android:icon="@drawable/ic_widgets" />
<item android:id="@id/track_prices_row_menu_id"
android:title="@null">
<menu>
<item android:id="@id/track_prices_id"
android:title="@string/menu_track_prices"
android:icon="@drawable/ic_trending_down_black" />
<item android:id="@id/track_prices_check_id"
android:title="@null"
android:checkable="true" />
</menu>
</item>
<item android:id="@id/preferences_id" <item android:id="@id/preferences_id"
android:title="@string/menu_settings" android:title="@string/menu_settings"
android:icon="@drawable/settings_cog" /> android:icon="@drawable/settings_cog" />
......
...@@ -523,6 +523,9 @@ public class AppMenuPropertiesDelegateImpl implements AppMenuPropertiesDelegate ...@@ -523,6 +523,9 @@ public class AppMenuPropertiesDelegateImpl implements AppMenuPropertiesDelegate
.getTabsWithNoOtherRelatedTabs() .getTabsWithNoOtherRelatedTabs()
.size() .size()
> 1; > 1;
boolean isPriceTrackingVisible = TabUiFeatureUtilities.isPriceTrackingEnabled()
&& !DeviceClassManager.enableAccessibilityLayout();
boolean isPriceTrackingEnabled = isPriceTrackingVisible;
for (int i = 0; i < menu.size(); ++i) { for (int i = 0; i < menu.size(); ++i) {
MenuItem item = menu.getItem(i); MenuItem item = menu.getItem(i);
...@@ -571,6 +574,10 @@ public class AppMenuPropertiesDelegateImpl implements AppMenuPropertiesDelegate ...@@ -571,6 +574,10 @@ public class AppMenuPropertiesDelegateImpl implements AppMenuPropertiesDelegate
item.setVisible(isMenuGroupTabsVisible); item.setVisible(isMenuGroupTabsVisible);
item.setEnabled(isMenuGroupTabsEnabled); item.setEnabled(isMenuGroupTabsEnabled);
} }
if (item.getItemId() == R.id.track_prices_row_menu_id) {
item.setVisible(isPriceTrackingVisible);
item.setEnabled(isPriceTrackingEnabled);
}
if (item.getItemId() == R.id.close_all_tabs_menu_id) { if (item.getItemId() == R.id.close_all_tabs_menu_id) {
boolean hasTabs = mTabModelSelector.getTotalTabCount() > 0; boolean hasTabs = mTabModelSelector.getTotalTabCount() > 0;
item.setVisible(!isIncognito); item.setVisible(!isIncognito);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment