Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(92)

Side by Side Diff: chrome/android/java/src/org/chromium/chrome/browser/customtabs/CustomTabAppMenuPropertiesDelegate.java

Issue 2076463002: [Custom Tabs] Implement "Read It Later" Behind a Flag (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: fix test Created 4 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright 2015 The Chromium Authors. All rights reserved. 1 // Copyright 2015 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 package org.chromium.chrome.browser.customtabs; 5 package org.chromium.chrome.browser.customtabs;
6 6
7 import android.content.Intent; 7 import android.content.Intent;
8 import android.content.pm.PackageManager; 8 import android.content.pm.PackageManager;
9 import android.content.pm.ResolveInfo; 9 import android.content.pm.ResolveInfo;
10 import android.net.Uri; 10 import android.net.Uri;
11 import android.os.AsyncTask; 11 import android.os.AsyncTask;
12 import android.view.Menu; 12 import android.view.Menu;
13 import android.view.MenuItem; 13 import android.view.MenuItem;
14 14
15 import org.chromium.base.BuildInfo; 15 import org.chromium.base.BuildInfo;
16 import org.chromium.base.VisibleForTesting; 16 import org.chromium.base.VisibleForTesting;
17 import org.chromium.chrome.R; 17 import org.chromium.chrome.R;
18 import org.chromium.chrome.browser.ChromeActivity; 18 import org.chromium.chrome.browser.ChromeActivity;
19 import org.chromium.chrome.browser.ChromeFeatureList;
19 import org.chromium.chrome.browser.appmenu.AppMenuPropertiesDelegate; 20 import org.chromium.chrome.browser.appmenu.AppMenuPropertiesDelegate;
20 import org.chromium.chrome.browser.share.ShareHelper; 21 import org.chromium.chrome.browser.share.ShareHelper;
21 import org.chromium.chrome.browser.tab.Tab; 22 import org.chromium.chrome.browser.tab.Tab;
22 23
23 import java.util.HashMap; 24 import java.util.HashMap;
24 import java.util.List; 25 import java.util.List;
25 import java.util.Map; 26 import java.util.Map;
26 import java.util.concurrent.ExecutionException; 27 import java.util.concurrent.ExecutionException;
27 28
28 /** 29 /**
(...skipping 68 matching lines...) Expand 10 before | Expand all | Expand 10 after
97 MenuItem bookmarkItem = menu.findItem(R.id.bookmark_this_page_id ); 98 MenuItem bookmarkItem = menu.findItem(R.id.bookmark_this_page_id );
98 updateBookmarkMenuItem(bookmarkItem, currentTab); 99 updateBookmarkMenuItem(bookmarkItem, currentTab);
99 } else { 100 } else {
100 // Because we have custom logic for laying out the icon row, the bookmark icon must 101 // Because we have custom logic for laying out the icon row, the bookmark icon must
101 // be explicitly removed instead of just made invisible. 102 // be explicitly removed instead of just made invisible.
102 menu.findItem(R.id.icon_row_menu_id).getSubMenu().removeItem( 103 menu.findItem(R.id.icon_row_menu_id).getSubMenu().removeItem(
103 R.id.bookmark_this_page_id); 104 R.id.bookmark_this_page_id);
104 } 105 }
105 106
106 MenuItem openInChromeItem = menu.findItem(R.id.open_in_browser_id); 107 MenuItem openInChromeItem = menu.findItem(R.id.open_in_browser_id);
107 try { 108 MenuItem readItLaterItem = menu.findItem(R.id.read_it_later_id);
108 openInChromeItem.setTitle(mDefaultBrowserFetcher.get()); 109 if (ChromeFeatureList.isEnabled("ReadItLaterInMenu")) {
109 } catch (InterruptedException | ExecutionException e) { 110 // In the read-it-later experiment, Chrome will be the only brow ser to open the link
110 openInChromeItem.setTitle( 111 openInChromeItem.setTitle(R.string.menu_open_in_chrome);
111 mActivity.getString(R.string.menu_open_in_product_defaul t)); 112 } else {
113 readItLaterItem.setVisible(false);
114 try {
115 openInChromeItem.setTitle(mDefaultBrowserFetcher.get());
116 } catch (InterruptedException | ExecutionException e) {
117 openInChromeItem.setTitle(
118 mActivity.getString(R.string.menu_open_in_product_de fault));
119 }
112 } 120 }
113 121
114 // Add custom menu items. Make sure they are only added once. 122 // Add custom menu items. Make sure they are only added once.
115 if (!mIsCustomEntryAdded) { 123 if (!mIsCustomEntryAdded) {
116 mIsCustomEntryAdded = true; 124 mIsCustomEntryAdded = true;
117 for (int i = 0; i < mMenuEntries.size(); i++) { 125 for (int i = 0; i < mMenuEntries.size(); i++) {
118 MenuItem item = menu.add(0, 0, 1, mMenuEntries.get(i)); 126 MenuItem item = menu.add(0, 0, 1, mMenuEntries.get(i));
119 mItemToIndexMap.put(item, i); 127 mItemToIndexMap.put(item, i);
120 } 128 }
121 } 129 }
(...skipping 21 matching lines...) Expand all
143 * the same title, a random one will be returned. This method is for testing purpose _only_. 151 * the same title, a random one will be returned. This method is for testing purpose _only_.
144 */ 152 */
145 @VisibleForTesting 153 @VisibleForTesting
146 MenuItem getMenuItemForTitle(String title) { 154 MenuItem getMenuItemForTitle(String title) {
147 for (MenuItem item : mItemToIndexMap.keySet()) { 155 for (MenuItem item : mItemToIndexMap.keySet()) {
148 if (item.getTitle().equals(title)) return item; 156 if (item.getTitle().equals(title)) return item;
149 } 157 }
150 return null; 158 return null;
151 } 159 }
152 } 160 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698