1bbbb8f39d1b1d1b317c5f9237f20fe6b1d9eb17fAdam Powell/*
2bbbb8f39d1b1d1b317c5f9237f20fe6b1d9eb17fAdam Powell * Copyright (C) 2010 The Android Open Source Project
3bbbb8f39d1b1d1b317c5f9237f20fe6b1d9eb17fAdam Powell *
4bbbb8f39d1b1d1b317c5f9237f20fe6b1d9eb17fAdam Powell * Licensed under the Apache License, Version 2.0 (the "License");
5bbbb8f39d1b1d1b317c5f9237f20fe6b1d9eb17fAdam Powell * you may not use this file except in compliance with the License.
6bbbb8f39d1b1d1b317c5f9237f20fe6b1d9eb17fAdam Powell * You may obtain a copy of the License at
7bbbb8f39d1b1d1b317c5f9237f20fe6b1d9eb17fAdam Powell *
8bbbb8f39d1b1d1b317c5f9237f20fe6b1d9eb17fAdam Powell *      http://www.apache.org/licenses/LICENSE-2.0
9bbbb8f39d1b1d1b317c5f9237f20fe6b1d9eb17fAdam Powell *
10bbbb8f39d1b1d1b317c5f9237f20fe6b1d9eb17fAdam Powell * Unless required by applicable law or agreed to in writing, software
11bbbb8f39d1b1d1b317c5f9237f20fe6b1d9eb17fAdam Powell * distributed under the License is distributed on an "AS IS" BASIS,
12bbbb8f39d1b1d1b317c5f9237f20fe6b1d9eb17fAdam Powell * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13bbbb8f39d1b1d1b317c5f9237f20fe6b1d9eb17fAdam Powell * See the License for the specific language governing permissions and
14bbbb8f39d1b1d1b317c5f9237f20fe6b1d9eb17fAdam Powell * limitations under the License.
15bbbb8f39d1b1d1b317c5f9237f20fe6b1d9eb17fAdam Powell */
16bbbb8f39d1b1d1b317c5f9237f20fe6b1d9eb17fAdam Powell
17da10fdd1400ecfd8d7f2e55651dd528d0614dfc5Jeff Brownpackage android.support.v7.internal.view.menu;
18bbbb8f39d1b1d1b317c5f9237f20fe6b1d9eb17fAdam Powell
19bbbb8f39d1b1d1b317c5f9237f20fe6b1d9eb17fAdam Powellimport android.content.Context;
20bbbb8f39d1b1d1b317c5f9237f20fe6b1d9eb17fAdam Powellimport android.content.Intent;
21bbbb8f39d1b1d1b317c5f9237f20fe6b1d9eb17fAdam Powellimport android.graphics.drawable.Drawable;
2230837f1095c803f332f4a1c3f0917c8afdd50156Adam Powellimport android.support.v4.view.ActionProvider;
2330837f1095c803f332f4a1c3f0917c8afdd50156Adam Powellimport android.support.v4.internal.view.SupportMenuItem;
2430837f1095c803f332f4a1c3f0917c8afdd50156Adam Powellimport android.support.v4.view.MenuItemCompat;
25bbbb8f39d1b1d1b317c5f9237f20fe6b1d9eb17fAdam Powellimport android.view.ContextMenu.ContextMenuInfo;
2630837f1095c803f332f4a1c3f0917c8afdd50156Adam Powellimport android.view.MenuItem;
2730837f1095c803f332f4a1c3f0917c8afdd50156Adam Powellimport android.view.SubMenu;
28bbbb8f39d1b1d1b317c5f9237f20fe6b1d9eb17fAdam Powellimport android.view.View;
29bbbb8f39d1b1d1b317c5f9237f20fe6b1d9eb17fAdam Powell
30bbbb8f39d1b1d1b317c5f9237f20fe6b1d9eb17fAdam Powell/**
31bbbb8f39d1b1d1b317c5f9237f20fe6b1d9eb17fAdam Powell * @hide
32bbbb8f39d1b1d1b317c5f9237f20fe6b1d9eb17fAdam Powell */
3330837f1095c803f332f4a1c3f0917c8afdd50156Adam Powellpublic class ActionMenuItem implements SupportMenuItem {
3420ac724a3a836bfd362c911f7dc55a61c02b4d44Trevor Johns
35ced50ab7536cd3d3573f03310fc899f10c414d37Anirudh Dewani    private final int mId;
36ced50ab7536cd3d3573f03310fc899f10c414d37Anirudh Dewani    private final int mGroup;
37ced50ab7536cd3d3573f03310fc899f10c414d37Anirudh Dewani    private final int mCategoryOrder;
38ced50ab7536cd3d3573f03310fc899f10c414d37Anirudh Dewani    private final int mOrdering;
39ced50ab7536cd3d3573f03310fc899f10c414d37Anirudh Dewani
40ced50ab7536cd3d3573f03310fc899f10c414d37Anirudh Dewani    private CharSequence mTitle;
41ced50ab7536cd3d3573f03310fc899f10c414d37Anirudh Dewani    private CharSequence mTitleCondensed;
42ced50ab7536cd3d3573f03310fc899f10c414d37Anirudh Dewani    private Intent mIntent;
43ced50ab7536cd3d3573f03310fc899f10c414d37Anirudh Dewani    private char mShortcutNumericChar;
44ced50ab7536cd3d3573f03310fc899f10c414d37Anirudh Dewani    private char mShortcutAlphabeticChar;
45ced50ab7536cd3d3573f03310fc899f10c414d37Anirudh Dewani
46ced50ab7536cd3d3573f03310fc899f10c414d37Anirudh Dewani    private Drawable mIconDrawable;
47ced50ab7536cd3d3573f03310fc899f10c414d37Anirudh Dewani    private int mIconResId = NO_ICON;
48ced50ab7536cd3d3573f03310fc899f10c414d37Anirudh Dewani
49ced50ab7536cd3d3573f03310fc899f10c414d37Anirudh Dewani    private Context mContext;
50ced50ab7536cd3d3573f03310fc899f10c414d37Anirudh Dewani
5130837f1095c803f332f4a1c3f0917c8afdd50156Adam Powell    private SupportMenuItem.OnMenuItemClickListener mClickListener;
52ced50ab7536cd3d3573f03310fc899f10c414d37Anirudh Dewani
53ced50ab7536cd3d3573f03310fc899f10c414d37Anirudh Dewani    private static final int NO_ICON = 0;
54ced50ab7536cd3d3573f03310fc899f10c414d37Anirudh Dewani
55ced50ab7536cd3d3573f03310fc899f10c414d37Anirudh Dewani    private int mFlags = ENABLED;
56ced50ab7536cd3d3573f03310fc899f10c414d37Anirudh Dewani    private static final int CHECKABLE = 0x00000001;
57ced50ab7536cd3d3573f03310fc899f10c414d37Anirudh Dewani    private static final int CHECKED = 0x00000002;
58ced50ab7536cd3d3573f03310fc899f10c414d37Anirudh Dewani    private static final int EXCLUSIVE = 0x00000004;
59ced50ab7536cd3d3573f03310fc899f10c414d37Anirudh Dewani    private static final int HIDDEN = 0x00000008;
60ced50ab7536cd3d3573f03310fc899f10c414d37Anirudh Dewani    private static final int ENABLED = 0x00000010;
61ced50ab7536cd3d3573f03310fc899f10c414d37Anirudh Dewani
62ced50ab7536cd3d3573f03310fc899f10c414d37Anirudh Dewani    public ActionMenuItem(Context context, int group, int id, int categoryOrder, int ordering,
6320ac724a3a836bfd362c911f7dc55a61c02b4d44Trevor Johns            CharSequence title) {
64ced50ab7536cd3d3573f03310fc899f10c414d37Anirudh Dewani        mContext = context;
65ced50ab7536cd3d3573f03310fc899f10c414d37Anirudh Dewani        mId = id;
66ced50ab7536cd3d3573f03310fc899f10c414d37Anirudh Dewani        mGroup = group;
67ced50ab7536cd3d3573f03310fc899f10c414d37Anirudh Dewani        mCategoryOrder = categoryOrder;
68ced50ab7536cd3d3573f03310fc899f10c414d37Anirudh Dewani        mOrdering = ordering;
69ced50ab7536cd3d3573f03310fc899f10c414d37Anirudh Dewani        mTitle = title;
70ced50ab7536cd3d3573f03310fc899f10c414d37Anirudh Dewani    }
71ced50ab7536cd3d3573f03310fc899f10c414d37Anirudh Dewani
72ced50ab7536cd3d3573f03310fc899f10c414d37Anirudh Dewani    public char getAlphabeticShortcut() {
73ced50ab7536cd3d3573f03310fc899f10c414d37Anirudh Dewani        return mShortcutAlphabeticChar;
74ced50ab7536cd3d3573f03310fc899f10c414d37Anirudh Dewani    }
75ced50ab7536cd3d3573f03310fc899f10c414d37Anirudh Dewani
76ced50ab7536cd3d3573f03310fc899f10c414d37Anirudh Dewani    public int getGroupId() {
77ced50ab7536cd3d3573f03310fc899f10c414d37Anirudh Dewani        return mGroup;
78ced50ab7536cd3d3573f03310fc899f10c414d37Anirudh Dewani    }
79ced50ab7536cd3d3573f03310fc899f10c414d37Anirudh Dewani
80ced50ab7536cd3d3573f03310fc899f10c414d37Anirudh Dewani    public Drawable getIcon() {
81ced50ab7536cd3d3573f03310fc899f10c414d37Anirudh Dewani        return mIconDrawable;
82ced50ab7536cd3d3573f03310fc899f10c414d37Anirudh Dewani    }
83ced50ab7536cd3d3573f03310fc899f10c414d37Anirudh Dewani
84ced50ab7536cd3d3573f03310fc899f10c414d37Anirudh Dewani    public Intent getIntent() {
85ced50ab7536cd3d3573f03310fc899f10c414d37Anirudh Dewani        return mIntent;
86ced50ab7536cd3d3573f03310fc899f10c414d37Anirudh Dewani    }
87ced50ab7536cd3d3573f03310fc899f10c414d37Anirudh Dewani
88ced50ab7536cd3d3573f03310fc899f10c414d37Anirudh Dewani    public int getItemId() {
89ced50ab7536cd3d3573f03310fc899f10c414d37Anirudh Dewani        return mId;
90ced50ab7536cd3d3573f03310fc899f10c414d37Anirudh Dewani    }
91ced50ab7536cd3d3573f03310fc899f10c414d37Anirudh Dewani
92ced50ab7536cd3d3573f03310fc899f10c414d37Anirudh Dewani    public ContextMenuInfo getMenuInfo() {
93ced50ab7536cd3d3573f03310fc899f10c414d37Anirudh Dewani        return null;
94ced50ab7536cd3d3573f03310fc899f10c414d37Anirudh Dewani    }
95ced50ab7536cd3d3573f03310fc899f10c414d37Anirudh Dewani
96ced50ab7536cd3d3573f03310fc899f10c414d37Anirudh Dewani    public char getNumericShortcut() {
97ced50ab7536cd3d3573f03310fc899f10c414d37Anirudh Dewani        return mShortcutNumericChar;
98ced50ab7536cd3d3573f03310fc899f10c414d37Anirudh Dewani    }
99ced50ab7536cd3d3573f03310fc899f10c414d37Anirudh Dewani
100ced50ab7536cd3d3573f03310fc899f10c414d37Anirudh Dewani    public int getOrder() {
101ced50ab7536cd3d3573f03310fc899f10c414d37Anirudh Dewani        return mOrdering;
102ced50ab7536cd3d3573f03310fc899f10c414d37Anirudh Dewani    }
103ced50ab7536cd3d3573f03310fc899f10c414d37Anirudh Dewani
104ced50ab7536cd3d3573f03310fc899f10c414d37Anirudh Dewani    public SubMenu getSubMenu() {
105ced50ab7536cd3d3573f03310fc899f10c414d37Anirudh Dewani        return null;
106ced50ab7536cd3d3573f03310fc899f10c414d37Anirudh Dewani    }
107ced50ab7536cd3d3573f03310fc899f10c414d37Anirudh Dewani
108ced50ab7536cd3d3573f03310fc899f10c414d37Anirudh Dewani    public CharSequence getTitle() {
109ced50ab7536cd3d3573f03310fc899f10c414d37Anirudh Dewani        return mTitle;
110ced50ab7536cd3d3573f03310fc899f10c414d37Anirudh Dewani    }
111ced50ab7536cd3d3573f03310fc899f10c414d37Anirudh Dewani
112ced50ab7536cd3d3573f03310fc899f10c414d37Anirudh Dewani    public CharSequence getTitleCondensed() {
113ced50ab7536cd3d3573f03310fc899f10c414d37Anirudh Dewani        return mTitleCondensed;
114ced50ab7536cd3d3573f03310fc899f10c414d37Anirudh Dewani    }
115ced50ab7536cd3d3573f03310fc899f10c414d37Anirudh Dewani
116ced50ab7536cd3d3573f03310fc899f10c414d37Anirudh Dewani    public boolean hasSubMenu() {
117ced50ab7536cd3d3573f03310fc899f10c414d37Anirudh Dewani        return false;
118ced50ab7536cd3d3573f03310fc899f10c414d37Anirudh Dewani    }
119ced50ab7536cd3d3573f03310fc899f10c414d37Anirudh Dewani
120ced50ab7536cd3d3573f03310fc899f10c414d37Anirudh Dewani    public boolean isCheckable() {
121ced50ab7536cd3d3573f03310fc899f10c414d37Anirudh Dewani        return (mFlags & CHECKABLE) != 0;
122ced50ab7536cd3d3573f03310fc899f10c414d37Anirudh Dewani    }
123ced50ab7536cd3d3573f03310fc899f10c414d37Anirudh Dewani
124ced50ab7536cd3d3573f03310fc899f10c414d37Anirudh Dewani    public boolean isChecked() {
125ced50ab7536cd3d3573f03310fc899f10c414d37Anirudh Dewani        return (mFlags & CHECKED) != 0;
126ced50ab7536cd3d3573f03310fc899f10c414d37Anirudh Dewani    }
127ced50ab7536cd3d3573f03310fc899f10c414d37Anirudh Dewani
128ced50ab7536cd3d3573f03310fc899f10c414d37Anirudh Dewani    public boolean isEnabled() {
129ced50ab7536cd3d3573f03310fc899f10c414d37Anirudh Dewani        return (mFlags & ENABLED) != 0;
130ced50ab7536cd3d3573f03310fc899f10c414d37Anirudh Dewani    }
131ced50ab7536cd3d3573f03310fc899f10c414d37Anirudh Dewani
132ced50ab7536cd3d3573f03310fc899f10c414d37Anirudh Dewani    public boolean isVisible() {
133ced50ab7536cd3d3573f03310fc899f10c414d37Anirudh Dewani        return (mFlags & HIDDEN) == 0;
134ced50ab7536cd3d3573f03310fc899f10c414d37Anirudh Dewani    }
135ced50ab7536cd3d3573f03310fc899f10c414d37Anirudh Dewani
136ced50ab7536cd3d3573f03310fc899f10c414d37Anirudh Dewani    public MenuItem setAlphabeticShortcut(char alphaChar) {
137ced50ab7536cd3d3573f03310fc899f10c414d37Anirudh Dewani        mShortcutAlphabeticChar = alphaChar;
138ced50ab7536cd3d3573f03310fc899f10c414d37Anirudh Dewani        return this;
139ced50ab7536cd3d3573f03310fc899f10c414d37Anirudh Dewani    }
140ced50ab7536cd3d3573f03310fc899f10c414d37Anirudh Dewani
141ced50ab7536cd3d3573f03310fc899f10c414d37Anirudh Dewani    public MenuItem setCheckable(boolean checkable) {
142ced50ab7536cd3d3573f03310fc899f10c414d37Anirudh Dewani        mFlags = (mFlags & ~CHECKABLE) | (checkable ? CHECKABLE : 0);
143ced50ab7536cd3d3573f03310fc899f10c414d37Anirudh Dewani        return this;
144ced50ab7536cd3d3573f03310fc899f10c414d37Anirudh Dewani    }
145ced50ab7536cd3d3573f03310fc899f10c414d37Anirudh Dewani
146ced50ab7536cd3d3573f03310fc899f10c414d37Anirudh Dewani    public ActionMenuItem setExclusiveCheckable(boolean exclusive) {
147ced50ab7536cd3d3573f03310fc899f10c414d37Anirudh Dewani        mFlags = (mFlags & ~EXCLUSIVE) | (exclusive ? EXCLUSIVE : 0);
148ced50ab7536cd3d3573f03310fc899f10c414d37Anirudh Dewani        return this;
149ced50ab7536cd3d3573f03310fc899f10c414d37Anirudh Dewani    }
150ced50ab7536cd3d3573f03310fc899f10c414d37Anirudh Dewani
151ced50ab7536cd3d3573f03310fc899f10c414d37Anirudh Dewani    public MenuItem setChecked(boolean checked) {
152ced50ab7536cd3d3573f03310fc899f10c414d37Anirudh Dewani        mFlags = (mFlags & ~CHECKED) | (checked ? CHECKED : 0);
153ced50ab7536cd3d3573f03310fc899f10c414d37Anirudh Dewani        return this;
154ced50ab7536cd3d3573f03310fc899f10c414d37Anirudh Dewani    }
155ced50ab7536cd3d3573f03310fc899f10c414d37Anirudh Dewani
156ced50ab7536cd3d3573f03310fc899f10c414d37Anirudh Dewani    public MenuItem setEnabled(boolean enabled) {
157ced50ab7536cd3d3573f03310fc899f10c414d37Anirudh Dewani        mFlags = (mFlags & ~ENABLED) | (enabled ? ENABLED : 0);
158ced50ab7536cd3d3573f03310fc899f10c414d37Anirudh Dewani        return this;
159ced50ab7536cd3d3573f03310fc899f10c414d37Anirudh Dewani    }
160ced50ab7536cd3d3573f03310fc899f10c414d37Anirudh Dewani
161ced50ab7536cd3d3573f03310fc899f10c414d37Anirudh Dewani    public MenuItem setIcon(Drawable icon) {
162ced50ab7536cd3d3573f03310fc899f10c414d37Anirudh Dewani        mIconDrawable = icon;
163ced50ab7536cd3d3573f03310fc899f10c414d37Anirudh Dewani        mIconResId = NO_ICON;
164ced50ab7536cd3d3573f03310fc899f10c414d37Anirudh Dewani        return this;
165ced50ab7536cd3d3573f03310fc899f10c414d37Anirudh Dewani    }
166ced50ab7536cd3d3573f03310fc899f10c414d37Anirudh Dewani
167ced50ab7536cd3d3573f03310fc899f10c414d37Anirudh Dewani    public MenuItem setIcon(int iconRes) {
168ced50ab7536cd3d3573f03310fc899f10c414d37Anirudh Dewani        mIconResId = iconRes;
169ced50ab7536cd3d3573f03310fc899f10c414d37Anirudh Dewani        mIconDrawable = mContext.getResources().getDrawable(iconRes);
170ced50ab7536cd3d3573f03310fc899f10c414d37Anirudh Dewani        return this;
171ced50ab7536cd3d3573f03310fc899f10c414d37Anirudh Dewani    }
172ced50ab7536cd3d3573f03310fc899f10c414d37Anirudh Dewani
173ced50ab7536cd3d3573f03310fc899f10c414d37Anirudh Dewani    public MenuItem setIntent(Intent intent) {
174ced50ab7536cd3d3573f03310fc899f10c414d37Anirudh Dewani        mIntent = intent;
175ced50ab7536cd3d3573f03310fc899f10c414d37Anirudh Dewani        return this;
176ced50ab7536cd3d3573f03310fc899f10c414d37Anirudh Dewani    }
177ced50ab7536cd3d3573f03310fc899f10c414d37Anirudh Dewani
178ced50ab7536cd3d3573f03310fc899f10c414d37Anirudh Dewani    public MenuItem setNumericShortcut(char numericChar) {
179ced50ab7536cd3d3573f03310fc899f10c414d37Anirudh Dewani        mShortcutNumericChar = numericChar;
180ced50ab7536cd3d3573f03310fc899f10c414d37Anirudh Dewani        return this;
181ced50ab7536cd3d3573f03310fc899f10c414d37Anirudh Dewani    }
182ced50ab7536cd3d3573f03310fc899f10c414d37Anirudh Dewani
183ced50ab7536cd3d3573f03310fc899f10c414d37Anirudh Dewani    public MenuItem setOnMenuItemClickListener(OnMenuItemClickListener menuItemClickListener) {
184ced50ab7536cd3d3573f03310fc899f10c414d37Anirudh Dewani        mClickListener = menuItemClickListener;
185ced50ab7536cd3d3573f03310fc899f10c414d37Anirudh Dewani        return this;
186ced50ab7536cd3d3573f03310fc899f10c414d37Anirudh Dewani    }
187ced50ab7536cd3d3573f03310fc899f10c414d37Anirudh Dewani
188ced50ab7536cd3d3573f03310fc899f10c414d37Anirudh Dewani    public MenuItem setShortcut(char numericChar, char alphaChar) {
189ced50ab7536cd3d3573f03310fc899f10c414d37Anirudh Dewani        mShortcutNumericChar = numericChar;
190ced50ab7536cd3d3573f03310fc899f10c414d37Anirudh Dewani        mShortcutAlphabeticChar = alphaChar;
191ced50ab7536cd3d3573f03310fc899f10c414d37Anirudh Dewani        return this;
192ced50ab7536cd3d3573f03310fc899f10c414d37Anirudh Dewani    }
193ced50ab7536cd3d3573f03310fc899f10c414d37Anirudh Dewani
194ced50ab7536cd3d3573f03310fc899f10c414d37Anirudh Dewani    public MenuItem setTitle(CharSequence title) {
195ced50ab7536cd3d3573f03310fc899f10c414d37Anirudh Dewani        mTitle = title;
196ced50ab7536cd3d3573f03310fc899f10c414d37Anirudh Dewani        return this;
197ced50ab7536cd3d3573f03310fc899f10c414d37Anirudh Dewani    }
198ced50ab7536cd3d3573f03310fc899f10c414d37Anirudh Dewani
199ced50ab7536cd3d3573f03310fc899f10c414d37Anirudh Dewani    public MenuItem setTitle(int title) {
200ced50ab7536cd3d3573f03310fc899f10c414d37Anirudh Dewani        mTitle = mContext.getResources().getString(title);
201ced50ab7536cd3d3573f03310fc899f10c414d37Anirudh Dewani        return this;
202ced50ab7536cd3d3573f03310fc899f10c414d37Anirudh Dewani    }
203ced50ab7536cd3d3573f03310fc899f10c414d37Anirudh Dewani
204ced50ab7536cd3d3573f03310fc899f10c414d37Anirudh Dewani    public MenuItem setTitleCondensed(CharSequence title) {
205ced50ab7536cd3d3573f03310fc899f10c414d37Anirudh Dewani        mTitleCondensed = title;
206ced50ab7536cd3d3573f03310fc899f10c414d37Anirudh Dewani        return this;
207ced50ab7536cd3d3573f03310fc899f10c414d37Anirudh Dewani    }
208ced50ab7536cd3d3573f03310fc899f10c414d37Anirudh Dewani
209ced50ab7536cd3d3573f03310fc899f10c414d37Anirudh Dewani    public MenuItem setVisible(boolean visible) {
210ced50ab7536cd3d3573f03310fc899f10c414d37Anirudh Dewani        mFlags = (mFlags & HIDDEN) | (visible ? 0 : HIDDEN);
211ced50ab7536cd3d3573f03310fc899f10c414d37Anirudh Dewani        return this;
212ced50ab7536cd3d3573f03310fc899f10c414d37Anirudh Dewani    }
213ced50ab7536cd3d3573f03310fc899f10c414d37Anirudh Dewani
214ced50ab7536cd3d3573f03310fc899f10c414d37Anirudh Dewani    public boolean invoke() {
215ced50ab7536cd3d3573f03310fc899f10c414d37Anirudh Dewani        if (mClickListener != null && mClickListener.onMenuItemClick(this)) {
216ced50ab7536cd3d3573f03310fc899f10c414d37Anirudh Dewani            return true;
217ced50ab7536cd3d3573f03310fc899f10c414d37Anirudh Dewani        }
218ced50ab7536cd3d3573f03310fc899f10c414d37Anirudh Dewani
219ced50ab7536cd3d3573f03310fc899f10c414d37Anirudh Dewani        if (mIntent != null) {
220ced50ab7536cd3d3573f03310fc899f10c414d37Anirudh Dewani            mContext.startActivity(mIntent);
221ced50ab7536cd3d3573f03310fc899f10c414d37Anirudh Dewani            return true;
222ced50ab7536cd3d3573f03310fc899f10c414d37Anirudh Dewani        }
223ced50ab7536cd3d3573f03310fc899f10c414d37Anirudh Dewani
224ced50ab7536cd3d3573f03310fc899f10c414d37Anirudh Dewani        return false;
225ced50ab7536cd3d3573f03310fc899f10c414d37Anirudh Dewani    }
226ced50ab7536cd3d3573f03310fc899f10c414d37Anirudh Dewani
227ced50ab7536cd3d3573f03310fc899f10c414d37Anirudh Dewani    public void setShowAsAction(int show) {
228ced50ab7536cd3d3573f03310fc899f10c414d37Anirudh Dewani        // Do nothing. ActionMenuItems always show as action buttons.
229ced50ab7536cd3d3573f03310fc899f10c414d37Anirudh Dewani    }
230ced50ab7536cd3d3573f03310fc899f10c414d37Anirudh Dewani
23130837f1095c803f332f4a1c3f0917c8afdd50156Adam Powell    public SupportMenuItem setActionView(View actionView) {
232ced50ab7536cd3d3573f03310fc899f10c414d37Anirudh Dewani        throw new UnsupportedOperationException();
233ced50ab7536cd3d3573f03310fc899f10c414d37Anirudh Dewani    }
234ced50ab7536cd3d3573f03310fc899f10c414d37Anirudh Dewani
235ced50ab7536cd3d3573f03310fc899f10c414d37Anirudh Dewani    public View getActionView() {
236ced50ab7536cd3d3573f03310fc899f10c414d37Anirudh Dewani        return null;
237ced50ab7536cd3d3573f03310fc899f10c414d37Anirudh Dewani    }
238ced50ab7536cd3d3573f03310fc899f10c414d37Anirudh Dewani
239ced50ab7536cd3d3573f03310fc899f10c414d37Anirudh Dewani    @Override
24030837f1095c803f332f4a1c3f0917c8afdd50156Adam Powell    public MenuItem setActionProvider(android.view.ActionProvider actionProvider) {
241ced50ab7536cd3d3573f03310fc899f10c414d37Anirudh Dewani        throw new UnsupportedOperationException();
242ced50ab7536cd3d3573f03310fc899f10c414d37Anirudh Dewani    }
243ced50ab7536cd3d3573f03310fc899f10c414d37Anirudh Dewani
244ced50ab7536cd3d3573f03310fc899f10c414d37Anirudh Dewani    @Override
24530837f1095c803f332f4a1c3f0917c8afdd50156Adam Powell    public android.view.ActionProvider getActionProvider() {
24630837f1095c803f332f4a1c3f0917c8afdd50156Adam Powell        throw new UnsupportedOperationException();
24730837f1095c803f332f4a1c3f0917c8afdd50156Adam Powell    }
24830837f1095c803f332f4a1c3f0917c8afdd50156Adam Powell
24930837f1095c803f332f4a1c3f0917c8afdd50156Adam Powell    @Override
25030837f1095c803f332f4a1c3f0917c8afdd50156Adam Powell    public SupportMenuItem setActionView(int resId) {
25130837f1095c803f332f4a1c3f0917c8afdd50156Adam Powell        throw new UnsupportedOperationException();
25230837f1095c803f332f4a1c3f0917c8afdd50156Adam Powell    }
25330837f1095c803f332f4a1c3f0917c8afdd50156Adam Powell
25430837f1095c803f332f4a1c3f0917c8afdd50156Adam Powell    @Override
25530837f1095c803f332f4a1c3f0917c8afdd50156Adam Powell    public ActionProvider getSupportActionProvider() {
256ced50ab7536cd3d3573f03310fc899f10c414d37Anirudh Dewani        return null;
257ced50ab7536cd3d3573f03310fc899f10c414d37Anirudh Dewani    }
258ced50ab7536cd3d3573f03310fc899f10c414d37Anirudh Dewani
259ced50ab7536cd3d3573f03310fc899f10c414d37Anirudh Dewani    @Override
26030837f1095c803f332f4a1c3f0917c8afdd50156Adam Powell    public SupportMenuItem setSupportActionProvider(ActionProvider actionProvider) {
261ced50ab7536cd3d3573f03310fc899f10c414d37Anirudh Dewani        throw new UnsupportedOperationException();
262ced50ab7536cd3d3573f03310fc899f10c414d37Anirudh Dewani    }
263ced50ab7536cd3d3573f03310fc899f10c414d37Anirudh Dewani
264ced50ab7536cd3d3573f03310fc899f10c414d37Anirudh Dewani    @Override
26530837f1095c803f332f4a1c3f0917c8afdd50156Adam Powell    public SupportMenuItem setShowAsActionFlags(int actionEnum) {
266ced50ab7536cd3d3573f03310fc899f10c414d37Anirudh Dewani        setShowAsAction(actionEnum);
267ced50ab7536cd3d3573f03310fc899f10c414d37Anirudh Dewani        return this;
268ced50ab7536cd3d3573f03310fc899f10c414d37Anirudh Dewani    }
269ced50ab7536cd3d3573f03310fc899f10c414d37Anirudh Dewani
270ced50ab7536cd3d3573f03310fc899f10c414d37Anirudh Dewani    @Override
271ced50ab7536cd3d3573f03310fc899f10c414d37Anirudh Dewani    public boolean expandActionView() {
272ced50ab7536cd3d3573f03310fc899f10c414d37Anirudh Dewani        return false;
273ced50ab7536cd3d3573f03310fc899f10c414d37Anirudh Dewani    }
274ced50ab7536cd3d3573f03310fc899f10c414d37Anirudh Dewani
275ced50ab7536cd3d3573f03310fc899f10c414d37Anirudh Dewani    @Override
276ced50ab7536cd3d3573f03310fc899f10c414d37Anirudh Dewani    public boolean collapseActionView() {
277ced50ab7536cd3d3573f03310fc899f10c414d37Anirudh Dewani        return false;
278ced50ab7536cd3d3573f03310fc899f10c414d37Anirudh Dewani    }
279ced50ab7536cd3d3573f03310fc899f10c414d37Anirudh Dewani
280ced50ab7536cd3d3573f03310fc899f10c414d37Anirudh Dewani    @Override
281ced50ab7536cd3d3573f03310fc899f10c414d37Anirudh Dewani    public boolean isActionViewExpanded() {
282ced50ab7536cd3d3573f03310fc899f10c414d37Anirudh Dewani        return false;
283ced50ab7536cd3d3573f03310fc899f10c414d37Anirudh Dewani    }
284ced50ab7536cd3d3573f03310fc899f10c414d37Anirudh Dewani
285ced50ab7536cd3d3573f03310fc899f10c414d37Anirudh Dewani    @Override
28630837f1095c803f332f4a1c3f0917c8afdd50156Adam Powell    public MenuItem setOnActionExpandListener(MenuItem.OnActionExpandListener listener) {
28730837f1095c803f332f4a1c3f0917c8afdd50156Adam Powell        throw new UnsupportedOperationException();
28830837f1095c803f332f4a1c3f0917c8afdd50156Adam Powell    }
28930837f1095c803f332f4a1c3f0917c8afdd50156Adam Powell
29030837f1095c803f332f4a1c3f0917c8afdd50156Adam Powell    @Override
29130837f1095c803f332f4a1c3f0917c8afdd50156Adam Powell    public SupportMenuItem setSupportOnActionExpandListener(MenuItemCompat.OnActionExpandListener listener) {
292ced50ab7536cd3d3573f03310fc899f10c414d37Anirudh Dewani        // No need to save the listener; ActionMenuItem does not support collapsing items.
293ced50ab7536cd3d3573f03310fc899f10c414d37Anirudh Dewani        return this;
294ced50ab7536cd3d3573f03310fc899f10c414d37Anirudh Dewani    }
295bbbb8f39d1b1d1b317c5f9237f20fe6b1d9eb17fAdam Powell}
296