| OLD | NEW |
| 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.appmenu; | 5 package org.chromium.chrome.browser.appmenu; |
| 6 | 6 |
| 7 import android.text.TextUtils; | 7 import android.text.TextUtils; |
| 8 import android.view.Menu; | 8 import android.view.Menu; |
| 9 import android.view.MenuItem; | 9 import android.view.MenuItem; |
| 10 | 10 |
| 11 import org.chromium.base.CommandLine; | 11 import org.chromium.base.CommandLine; |
| 12 import org.chromium.chrome.R; | 12 import org.chromium.chrome.R; |
| 13 import org.chromium.chrome.browser.ChromeActivity; | 13 import org.chromium.chrome.browser.ChromeActivity; |
| 14 import org.chromium.chrome.browser.ChromeSwitches; | 14 import org.chromium.chrome.browser.ChromeSwitches; |
| 15 import org.chromium.chrome.browser.ShortcutHelper; | 15 import org.chromium.chrome.browser.ShortcutHelper; |
| 16 import org.chromium.chrome.browser.UrlConstants; | 16 import org.chromium.chrome.browser.UrlConstants; |
| 17 import org.chromium.chrome.browser.bookmarks.BookmarkBridge; | 17 import org.chromium.chrome.browser.bookmarks.BookmarkBridge; |
| 18 import org.chromium.chrome.browser.multiwindow.MultiWindowUtils; | 18 import org.chromium.chrome.browser.multiwindow.MultiWindowUtils; |
| 19 import org.chromium.chrome.browser.omaha.UpdateMenuItemHelper; | 19 import org.chromium.chrome.browser.omaha.UpdateMenuItemHelper; |
| 20 import org.chromium.chrome.browser.preferences.ManagedPreferencesUtils; | 20 import org.chromium.chrome.browser.preferences.ManagedPreferencesUtils; |
| 21 import org.chromium.chrome.browser.preferences.PrefServiceBridge; | 21 import org.chromium.chrome.browser.preferences.PrefServiceBridge; |
| 22 import org.chromium.chrome.browser.share.ShareHelper; | 22 import org.chromium.chrome.browser.share.ShareHelper; |
| 23 import org.chromium.chrome.browser.tab.Tab; | 23 import org.chromium.chrome.browser.tab.Tab; |
| 24 import org.chromium.chrome.browser.util.FeatureUtilities; | 24 import org.chromium.chrome.browser.util.FeatureUtilities; |
| 25 import org.chromium.components.dom_distiller.core.DomDistillerUrlUtils; | 25 import org.chromium.components.dom_distiller.core.DomDistillerUrlUtils; |
| 26 import org.chromium.printing.PrintingController; | |
| 27 import org.chromium.ui.base.DeviceFormFactor; | 26 import org.chromium.ui.base.DeviceFormFactor; |
| 28 | 27 |
| 29 /** | 28 /** |
| 30 * App Menu helper that handles hiding and showing menu items based on activity
state. | 29 * App Menu helper that handles hiding and showing menu items based on activity
state. |
| 31 */ | 30 */ |
| 32 public class AppMenuPropertiesDelegate { | 31 public class AppMenuPropertiesDelegate { |
| 33 // Indices for different levels in drawable.btn_reload_stop. | 32 // Indices for different levels in drawable.btn_reload_stop. |
| 34 // Used only when preparing menu and refresh reload button in menu when tab | 33 // Used only when preparing menu and refresh reload button in menu when tab |
| 35 // page load status changes. | 34 // page load status changes. |
| 36 private static final int RELOAD_BUTTON_LEVEL_RELOAD = 0; | 35 private static final int RELOAD_BUTTON_LEVEL_RELOAD = 0; |
| (...skipping 110 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 147 | 146 |
| 148 // Hide request desktop site on all chrome:// pages except for the N
TP. Check request | 147 // Hide request desktop site on all chrome:// pages except for the N
TP. Check request |
| 149 // desktop site if it's activated on this page. | 148 // desktop site if it's activated on this page. |
| 150 MenuItem requestItem = menu.findItem(R.id.request_desktop_site_id); | 149 MenuItem requestItem = menu.findItem(R.id.request_desktop_site_id); |
| 151 requestItem.setVisible(!isChromeScheme || currentTab.isNativePage())
; | 150 requestItem.setVisible(!isChromeScheme || currentTab.isNativePage())
; |
| 152 requestItem.setChecked(currentTab.getUseDesktopUserAgent()); | 151 requestItem.setChecked(currentTab.getUseDesktopUserAgent()); |
| 153 requestItem.setTitleCondensed(requestItem.isChecked() | 152 requestItem.setTitleCondensed(requestItem.isChecked() |
| 154 ? mActivity.getString(R.string.menu_request_desktop_site_on) | 153 ? mActivity.getString(R.string.menu_request_desktop_site_on) |
| 155 : mActivity.getString(R.string.menu_request_desktop_site_off
)); | 154 : mActivity.getString(R.string.menu_request_desktop_site_off
)); |
| 156 | 155 |
| 157 PrintingController printingController = | |
| 158 mActivity.getChromeApplication().getPrintingController(); | |
| 159 disableEnableMenuItem(menu, R.id.print_id, | |
| 160 printingController != null && !currentTab.isNativePage(), | |
| 161 printingController != null && !printingController.isBusy() | |
| 162 && PrefServiceBridge.getInstance().isPrintingEnabled
(), | |
| 163 PrefServiceBridge.getInstance().isPrintingManaged()); | |
| 164 | |
| 165 // Only display reader mode settings menu option if the current page
is in reader mode. | 156 // Only display reader mode settings menu option if the current page
is in reader mode. |
| 166 menu.findItem(R.id.reader_mode_prefs_id) | 157 menu.findItem(R.id.reader_mode_prefs_id) |
| 167 .setVisible(DomDistillerUrlUtils.isDistilledPage(currentTab.
getUrl())); | 158 .setVisible(DomDistillerUrlUtils.isDistilledPage(currentTab.
getUrl())); |
| 168 } | 159 } |
| 169 | 160 |
| 170 if (isOverviewMenu) { | 161 if (isOverviewMenu) { |
| 171 if (isIncognito) { | 162 if (isIncognito) { |
| 172 // Hide normal close all tabs item. | 163 // Hide normal close all tabs item. |
| 173 menu.findItem(R.id.close_all_tabs_menu_id).setVisible(false); | 164 menu.findItem(R.id.close_all_tabs_menu_id).setVisible(false); |
| 174 // Enable close incognito tabs only if there are incognito tabs. | 165 // Enable close incognito tabs only if there are incognito tabs. |
| (...skipping 89 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 264 bookmarkMenuItem.setIcon(R.drawable.btn_star_filled); | 255 bookmarkMenuItem.setIcon(R.drawable.btn_star_filled); |
| 265 bookmarkMenuItem.setChecked(true); | 256 bookmarkMenuItem.setChecked(true); |
| 266 bookmarkMenuItem.setTitleCondensed(mActivity.getString(R.string.edit
_bookmark)); | 257 bookmarkMenuItem.setTitleCondensed(mActivity.getString(R.string.edit
_bookmark)); |
| 267 } else { | 258 } else { |
| 268 bookmarkMenuItem.setIcon(R.drawable.btn_star); | 259 bookmarkMenuItem.setIcon(R.drawable.btn_star); |
| 269 bookmarkMenuItem.setChecked(false); | 260 bookmarkMenuItem.setChecked(false); |
| 270 bookmarkMenuItem.setTitleCondensed(null); | 261 bookmarkMenuItem.setTitleCondensed(null); |
| 271 } | 262 } |
| 272 } | 263 } |
| 273 } | 264 } |
| OLD | NEW |