| Index: chrome/android/java/src/org/chromium/chrome/browser/appmenu/AppMenuAdapter.java
|
| diff --git a/chrome/android/java/src/org/chromium/chrome/browser/appmenu/AppMenuAdapter.java b/chrome/android/java/src/org/chromium/chrome/browser/appmenu/AppMenuAdapter.java
|
| index cc593425776a99d6e7f9c1f243abc5a9336d1bc7..81cdd7c6129dbf7dfccf7f5bf26f0be9fb9a4a4c 100644
|
| --- a/chrome/android/java/src/org/chromium/chrome/browser/appmenu/AppMenuAdapter.java
|
| +++ b/chrome/android/java/src/org/chromium/chrome/browser/appmenu/AppMenuAdapter.java
|
| @@ -24,7 +24,7 @@ import java.util.List;
|
| * ListAdapter to customize the view of items in the list.
|
| */
|
| class AppMenuAdapter extends BaseAdapter {
|
| - private static final int VIEW_TYPE_COUNT = 3;
|
| + private static final int VIEW_TYPE_COUNT = 4;
|
|
|
| /**
|
| * Regular Android menu item that contains a title and an icon if icon is specified.
|
| @@ -39,6 +39,10 @@ class AppMenuAdapter extends BaseAdapter {
|
| * Menu item that has three buttons. Every one of these buttons is displayed as an icon.
|
| */
|
| private static final int THREE_BUTTON_MENU_ITEM = 2;
|
| + /**
|
| + * Menu item that has four buttons. Every one of these buttons is displayed as an icon.
|
| + */
|
| + private static final int FOUR_BUTTON_MENU_ITEM = 3;
|
|
|
| private final AppMenu mAppMenu;
|
| private final LayoutInflater mInflater;
|
| @@ -65,7 +69,9 @@ class AppMenuAdapter extends BaseAdapter {
|
| @Override
|
| public int getItemViewType(int position) {
|
| if (getItem(position).hasSubMenu()) {
|
| - if (getItem(position).getSubMenu().size() == 3) {
|
| + if (getItem(position).getSubMenu().size() == 4) {
|
| + return FOUR_BUTTON_MENU_ITEM;
|
| + } else if (getItem(position).getSubMenu().size() == 3) {
|
| return THREE_BUTTON_MENU_ITEM;
|
| } else if (getItem(position).getSubMenu().size() == 2) {
|
| return TITLE_BUTTON_MENU_ITEM;
|
| @@ -142,6 +148,27 @@ class AppMenuAdapter extends BaseAdapter {
|
| convertView.setEnabled(false);
|
| break;
|
| }
|
| + case FOUR_BUTTON_MENU_ITEM: {
|
| + FourButtonMenuItemViewHolder holder = null;
|
| + if (convertView == null) {
|
| + holder = new FourButtonMenuItemViewHolder();
|
| + convertView = mInflater.inflate(R.layout.four_button_menu_item, null);
|
| + holder.buttonOne = (ImageButton) convertView.findViewById(R.id.button_one);
|
| + holder.buttonTwo = (ImageButton) convertView.findViewById(R.id.button_two);
|
| + holder.buttonThree = (ImageButton) convertView.findViewById(R.id.button_three);
|
| + holder.buttonFour = (ImageButton) convertView.findViewById(R.id.button_four);
|
| + convertView.setTag(holder);
|
| + } else {
|
| + holder = (FourButtonMenuItemViewHolder) convertView.getTag();
|
| + }
|
| + setupImageButton(holder.buttonOne, item.getSubMenu().getItem(0));
|
| + setupImageButton(holder.buttonTwo, item.getSubMenu().getItem(1));
|
| + setupImageButton(holder.buttonThree, item.getSubMenu().getItem(2));
|
| + setupImageButton(holder.buttonFour, item.getSubMenu().getItem(3));
|
| + convertView.setFocusable(false);
|
| + convertView.setEnabled(false);
|
| + break;
|
| + }
|
| case TITLE_BUTTON_MENU_ITEM: {
|
| TitleButtonMenuItemViewHolder holder = null;
|
| if (convertView == null) {
|
| @@ -206,6 +233,13 @@ class AppMenuAdapter extends BaseAdapter {
|
| public ImageButton buttonThree;
|
| }
|
|
|
| + static class FourButtonMenuItemViewHolder {
|
| + public ImageButton buttonOne;
|
| + public ImageButton buttonTwo;
|
| + public ImageButton buttonThree;
|
| + public ImageButton buttonFour;
|
| + }
|
| +
|
| static class TitleButtonMenuItemViewHolder {
|
| public Button title;
|
| public View divider;
|
|
|