Commit e56fb409 authored by Theresa Wellington's avatar Theresa Wellington Committed by Commit Bot

Clean-up references to individual menu items in AppMenu

AppMenu shouldn't have specific knowledge of individual items shown in
the menu. This CL moves some logging to ChromeTabbedActivity (which
already handles menu item clicks) and makes item long-click handling
more generic by using a (condensed) title set on the MenuItem to
determine the anchored toast text.

BUG=966644

Change-Id: Ibd569ef23f835f601aa9b4edd663fa6c3a61716c
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1894753
Commit-Queue: Theresa  <twellington@chromium.org>
Reviewed-by: default avatarMatthew Jones <mdjones@chromium.org>
Cr-Commit-Position: refs/heads/master@{#712754}
parent fb4fccc5
......@@ -12,18 +12,23 @@
<menu>
<item android:id="@+id/forward_menu_id"
android:title="@string/accessibility_menu_forward"
android:titleCondensed="@string/menu_forward"
android:icon="@drawable/btn_forward"/>
<item android:id="@+id/bookmark_this_page_id"
android:title="@string/accessibility_menu_bookmark"
android:titleCondensed="@string/menu_bookmark"
android:icon="@drawable/btn_star"/>
<item android:id="@+id/offline_page_id"
android:title="@string/download_page"
android:titleCondensed="@string/menu_download"
android:icon="@drawable/ic_file_download_white_24dp"/>
<item android:id="@+id/info_menu_id"
android:title="@string/accessibility_menu_info"
android:titleCondensed="@string/menu_page_info"
android:icon="@drawable/btn_info" />
<item android:id="@+id/reload_menu_id"
android:title="@string/accessibility_btn_refresh"
android:titleCondensed="@string/menu_refresh"
android:icon="@drawable/btn_reload_stop"/>
</menu>
</item>
......
......@@ -1782,6 +1782,7 @@ public class ChromeTabbedActivity extends ChromeActivity implements ScreenshotMo
RecordUserAction.record("MobileMenuNewTab");
RecordUserAction.record("MobileNewTabOpened");
reportNewTabShortcutUsed(false);
if (fromMenu) RecordUserAction.record("MobileMenuNewTab.AppMenu");
getTabCreator(false).launchNTP();
mLocaleManager.showSearchEnginePromoIfNeeded(this, null);
......@@ -1793,6 +1794,7 @@ public class ChromeTabbedActivity extends ChromeActivity implements ScreenshotMo
RecordUserAction.record("MobileMenuNewIncognitoTab");
RecordUserAction.record("MobileNewTabOpened");
reportNewTabShortcutUsed(true);
if (fromMenu) RecordUserAction.record("MobileMenuNewIncognitoTab.AppMenu");
getTabCreator(true).launchNTP();
}
} else if (id == R.id.all_bookmarks_menu_id) {
......
......@@ -12,6 +12,7 @@ import android.content.res.Resources;
import android.graphics.Rect;
import android.graphics.drawable.Drawable;
import android.os.Build;
import android.text.TextUtils;
import android.view.Gravity;
import android.view.KeyEvent;
import android.view.LayoutInflater;
......@@ -38,7 +39,6 @@ import org.chromium.base.ApiCompatibilityUtils;
import org.chromium.base.ContextUtils;
import org.chromium.base.SysUtils;
import org.chromium.base.VisibleForTesting;
import org.chromium.base.metrics.RecordUserAction;
import org.chromium.chrome.R;
import org.chromium.chrome.browser.ui.widget.highlight.ViewHighlighter;
import org.chromium.ui.widget.Toast;
......@@ -357,11 +357,6 @@ class AppMenu implements OnItemClickListener, OnKeyListener, AppMenuAdapter.OnCl
public void onItemClick(MenuItem menuItem) {
if (menuItem.isEnabled()) {
dismiss();
if (menuItem.getItemId() == R.id.new_tab_menu_id) {
RecordUserAction.record("MobileMenuNewTab.AppMenu");
} else if (menuItem.getItemId() == R.id.new_incognito_tab_menu_id) {
RecordUserAction.record("MobileMenuNewIncognitoTab.AppMenu");
}
mHandler.onOptionsItemSelected(menuItem);
}
}
......@@ -369,27 +364,11 @@ class AppMenu implements OnItemClickListener, OnKeyListener, AppMenuAdapter.OnCl
@Override
public boolean onItemLongClick(MenuItem menuItem, View view) {
if (!menuItem.isEnabled()) return false;
String description = null;
Context context = ContextUtils.getApplicationContext();
Resources resources = context.getResources();
final int itemId = menuItem.getItemId();
if (itemId == R.id.forward_menu_id) {
description = resources.getString(R.string.menu_forward);
} else if (itemId == R.id.bookmark_this_page_id) {
description = resources.getString(R.string.menu_bookmark);
} else if (itemId == R.id.offline_page_id) {
description = resources.getString(R.string.menu_download);
} else if (itemId == R.id.info_menu_id) {
description = resources.getString(R.string.menu_page_info);
} else if (itemId == R.id.reload_menu_id) {
description = (menuItem.getIcon().getLevel()
== resources.getInteger(R.integer.reload_button_level_reload))
? resources.getString(R.string.menu_refresh)
: resources.getString(R.string.menu_stop_refresh);
}
return Toast.showAnchoredToast(context, view, description);
CharSequence titleCondensed = menuItem.getTitleCondensed();
CharSequence message =
TextUtils.isEmpty(titleCondensed) ? menuItem.getTitle() : titleCondensed;
return Toast.showAnchoredToast(context, view, message);
}
@Override
......
......@@ -281,7 +281,7 @@ class AppMenuHandlerImpl
}
@VisibleForTesting
public void onOptionsItemSelected(MenuItem item) {
void onOptionsItemSelected(MenuItem item) {
if (mTestOptionsItemSelectedListener != null) {
mTestOptionsItemSelectedListener.onResult(item);
return;
......
......@@ -384,6 +384,8 @@ public class AppMenuPropertiesDelegateImpl implements AppMenuPropertiesDelegate
: resources.getInteger(R.integer.reload_button_level_reload));
mReloadMenuItem.setTitle(isLoading ? R.string.accessibility_btn_stop_loading
: R.string.accessibility_btn_refresh);
mReloadMenuItem.setTitleCondensed(resources.getString(
isLoading ? R.string.menu_stop_refresh : R.string.menu_refresh));
}
}
......@@ -457,7 +459,7 @@ public class AppMenuPropertiesDelegateImpl implements AppMenuPropertiesDelegate
} else {
bookmarkMenuItem.setIcon(R.drawable.btn_star);
bookmarkMenuItem.setChecked(false);
bookmarkMenuItem.setTitleCondensed(null);
bookmarkMenuItem.setTitleCondensed(mContext.getString(R.string.menu_bookmark));
}
}
......
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