133b974393b6fadcefc896ec4a0f9b66724f61e9fAdam Powell/*
233b974393b6fadcefc896ec4a0f9b66724f61e9fAdam Powell * Copyright (C) 2010 The Android Open Source Project
333b974393b6fadcefc896ec4a0f9b66724f61e9fAdam Powell *
433b974393b6fadcefc896ec4a0f9b66724f61e9fAdam Powell * Licensed under the Apache License, Version 2.0 (the "License");
533b974393b6fadcefc896ec4a0f9b66724f61e9fAdam Powell * you may not use this file except in compliance with the License.
633b974393b6fadcefc896ec4a0f9b66724f61e9fAdam Powell * You may obtain a copy of the License at
733b974393b6fadcefc896ec4a0f9b66724f61e9fAdam Powell *
833b974393b6fadcefc896ec4a0f9b66724f61e9fAdam Powell *      http://www.apache.org/licenses/LICENSE-2.0
933b974393b6fadcefc896ec4a0f9b66724f61e9fAdam Powell *
1033b974393b6fadcefc896ec4a0f9b66724f61e9fAdam Powell * Unless required by applicable law or agreed to in writing, software
1133b974393b6fadcefc896ec4a0f9b66724f61e9fAdam Powell * distributed under the License is distributed on an "AS IS" BASIS,
1233b974393b6fadcefc896ec4a0f9b66724f61e9fAdam Powell * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
1333b974393b6fadcefc896ec4a0f9b66724f61e9fAdam Powell * See the License for the specific language governing permissions and
1433b974393b6fadcefc896ec4a0f9b66724f61e9fAdam Powell * limitations under the License.
1533b974393b6fadcefc896ec4a0f9b66724f61e9fAdam Powell */
1633b974393b6fadcefc896ec4a0f9b66724f61e9fAdam Powell
1733b974393b6fadcefc896ec4a0f9b66724f61e9fAdam Powellpackage com.android.internal.view.menu;
1833b974393b6fadcefc896ec4a0f9b66724f61e9fAdam Powell
1933b974393b6fadcefc896ec4a0f9b66724f61e9fAdam Powellimport android.content.Context;
2033b974393b6fadcefc896ec4a0f9b66724f61e9fAdam Powellimport android.content.Intent;
2133b974393b6fadcefc896ec4a0f9b66724f61e9fAdam Powellimport android.graphics.drawable.Drawable;
2251ac0e94a83cfccb5105aa14df1077729a5b4cccSvetoslav Ganovimport android.view.ActionProvider;
23cf78b3e5101349fdddbde14b3a55140f9562ae66Adam Powellimport android.view.ContextMenu.ContextMenuInfo;
2433b974393b6fadcefc896ec4a0f9b66724f61e9fAdam Powellimport android.view.MenuItem;
2533b974393b6fadcefc896ec4a0f9b66724f61e9fAdam Powellimport android.view.SubMenu;
26cf78b3e5101349fdddbde14b3a55140f9562ae66Adam Powellimport android.view.View;
2733b974393b6fadcefc896ec4a0f9b66724f61e9fAdam Powell
2833b974393b6fadcefc896ec4a0f9b66724f61e9fAdam Powell/**
2933b974393b6fadcefc896ec4a0f9b66724f61e9fAdam Powell * @hide
3033b974393b6fadcefc896ec4a0f9b66724f61e9fAdam Powell */
3133b974393b6fadcefc896ec4a0f9b66724f61e9fAdam Powellpublic class ActionMenuItem implements MenuItem {
3233b974393b6fadcefc896ec4a0f9b66724f61e9fAdam Powell    private final int mId;
3333b974393b6fadcefc896ec4a0f9b66724f61e9fAdam Powell    private final int mGroup;
3433b974393b6fadcefc896ec4a0f9b66724f61e9fAdam Powell    private final int mCategoryOrder;
3533b974393b6fadcefc896ec4a0f9b66724f61e9fAdam Powell    private final int mOrdering;
3633b974393b6fadcefc896ec4a0f9b66724f61e9fAdam Powell
3733b974393b6fadcefc896ec4a0f9b66724f61e9fAdam Powell    private CharSequence mTitle;
3833b974393b6fadcefc896ec4a0f9b66724f61e9fAdam Powell    private CharSequence mTitleCondensed;
3933b974393b6fadcefc896ec4a0f9b66724f61e9fAdam Powell    private Intent mIntent;
4033b974393b6fadcefc896ec4a0f9b66724f61e9fAdam Powell    private char mShortcutNumericChar;
4133b974393b6fadcefc896ec4a0f9b66724f61e9fAdam Powell    private char mShortcutAlphabeticChar;
4233b974393b6fadcefc896ec4a0f9b66724f61e9fAdam Powell
4333b974393b6fadcefc896ec4a0f9b66724f61e9fAdam Powell    private Drawable mIconDrawable;
4433b974393b6fadcefc896ec4a0f9b66724f61e9fAdam Powell    private int mIconResId = NO_ICON;
4533b974393b6fadcefc896ec4a0f9b66724f61e9fAdam Powell
4633b974393b6fadcefc896ec4a0f9b66724f61e9fAdam Powell    private Context mContext;
4733b974393b6fadcefc896ec4a0f9b66724f61e9fAdam Powell
4833b974393b6fadcefc896ec4a0f9b66724f61e9fAdam Powell    private MenuItem.OnMenuItemClickListener mClickListener;
4933b974393b6fadcefc896ec4a0f9b66724f61e9fAdam Powell
5033b974393b6fadcefc896ec4a0f9b66724f61e9fAdam Powell    private static final int NO_ICON = 0;
5133b974393b6fadcefc896ec4a0f9b66724f61e9fAdam Powell
5233b974393b6fadcefc896ec4a0f9b66724f61e9fAdam Powell    private int mFlags = ENABLED;
5333b974393b6fadcefc896ec4a0f9b66724f61e9fAdam Powell    private static final int CHECKABLE      = 0x00000001;
5433b974393b6fadcefc896ec4a0f9b66724f61e9fAdam Powell    private static final int CHECKED        = 0x00000002;
5533b974393b6fadcefc896ec4a0f9b66724f61e9fAdam Powell    private static final int EXCLUSIVE      = 0x00000004;
5633b974393b6fadcefc896ec4a0f9b66724f61e9fAdam Powell    private static final int HIDDEN         = 0x00000008;
5733b974393b6fadcefc896ec4a0f9b66724f61e9fAdam Powell    private static final int ENABLED        = 0x00000010;
5833b974393b6fadcefc896ec4a0f9b66724f61e9fAdam Powell
5933b974393b6fadcefc896ec4a0f9b66724f61e9fAdam Powell    public ActionMenuItem(Context context, int group, int id, int categoryOrder, int ordering,
6033b974393b6fadcefc896ec4a0f9b66724f61e9fAdam Powell            CharSequence title) {
6133b974393b6fadcefc896ec4a0f9b66724f61e9fAdam Powell        mContext = context;
6233b974393b6fadcefc896ec4a0f9b66724f61e9fAdam Powell        mId = id;
6333b974393b6fadcefc896ec4a0f9b66724f61e9fAdam Powell        mGroup = group;
6433b974393b6fadcefc896ec4a0f9b66724f61e9fAdam Powell        mCategoryOrder = categoryOrder;
6533b974393b6fadcefc896ec4a0f9b66724f61e9fAdam Powell        mOrdering = ordering;
6633b974393b6fadcefc896ec4a0f9b66724f61e9fAdam Powell        mTitle = title;
6733b974393b6fadcefc896ec4a0f9b66724f61e9fAdam Powell    }
6833b974393b6fadcefc896ec4a0f9b66724f61e9fAdam Powell
6933b974393b6fadcefc896ec4a0f9b66724f61e9fAdam Powell    public char getAlphabeticShortcut() {
7033b974393b6fadcefc896ec4a0f9b66724f61e9fAdam Powell        return mShortcutAlphabeticChar;
7133b974393b6fadcefc896ec4a0f9b66724f61e9fAdam Powell    }
7233b974393b6fadcefc896ec4a0f9b66724f61e9fAdam Powell
7333b974393b6fadcefc896ec4a0f9b66724f61e9fAdam Powell    public int getGroupId() {
7433b974393b6fadcefc896ec4a0f9b66724f61e9fAdam Powell        return mGroup;
7533b974393b6fadcefc896ec4a0f9b66724f61e9fAdam Powell    }
7633b974393b6fadcefc896ec4a0f9b66724f61e9fAdam Powell
7733b974393b6fadcefc896ec4a0f9b66724f61e9fAdam Powell    public Drawable getIcon() {
7833b974393b6fadcefc896ec4a0f9b66724f61e9fAdam Powell        return mIconDrawable;
7933b974393b6fadcefc896ec4a0f9b66724f61e9fAdam Powell    }
8033b974393b6fadcefc896ec4a0f9b66724f61e9fAdam Powell
8133b974393b6fadcefc896ec4a0f9b66724f61e9fAdam Powell    public Intent getIntent() {
8233b974393b6fadcefc896ec4a0f9b66724f61e9fAdam Powell        return mIntent;
8333b974393b6fadcefc896ec4a0f9b66724f61e9fAdam Powell    }
8433b974393b6fadcefc896ec4a0f9b66724f61e9fAdam Powell
8533b974393b6fadcefc896ec4a0f9b66724f61e9fAdam Powell    public int getItemId() {
8633b974393b6fadcefc896ec4a0f9b66724f61e9fAdam Powell        return mId;
8733b974393b6fadcefc896ec4a0f9b66724f61e9fAdam Powell    }
8833b974393b6fadcefc896ec4a0f9b66724f61e9fAdam Powell
8933b974393b6fadcefc896ec4a0f9b66724f61e9fAdam Powell    public ContextMenuInfo getMenuInfo() {
9033b974393b6fadcefc896ec4a0f9b66724f61e9fAdam Powell        return null;
9133b974393b6fadcefc896ec4a0f9b66724f61e9fAdam Powell    }
9233b974393b6fadcefc896ec4a0f9b66724f61e9fAdam Powell
9333b974393b6fadcefc896ec4a0f9b66724f61e9fAdam Powell    public char getNumericShortcut() {
9433b974393b6fadcefc896ec4a0f9b66724f61e9fAdam Powell        return mShortcutNumericChar;
9533b974393b6fadcefc896ec4a0f9b66724f61e9fAdam Powell    }
9633b974393b6fadcefc896ec4a0f9b66724f61e9fAdam Powell
9733b974393b6fadcefc896ec4a0f9b66724f61e9fAdam Powell    public int getOrder() {
9833b974393b6fadcefc896ec4a0f9b66724f61e9fAdam Powell        return mOrdering;
9933b974393b6fadcefc896ec4a0f9b66724f61e9fAdam Powell    }
10033b974393b6fadcefc896ec4a0f9b66724f61e9fAdam Powell
10133b974393b6fadcefc896ec4a0f9b66724f61e9fAdam Powell    public SubMenu getSubMenu() {
10233b974393b6fadcefc896ec4a0f9b66724f61e9fAdam Powell        return null;
10333b974393b6fadcefc896ec4a0f9b66724f61e9fAdam Powell    }
10433b974393b6fadcefc896ec4a0f9b66724f61e9fAdam Powell
10533b974393b6fadcefc896ec4a0f9b66724f61e9fAdam Powell    public CharSequence getTitle() {
10633b974393b6fadcefc896ec4a0f9b66724f61e9fAdam Powell        return mTitle;
10733b974393b6fadcefc896ec4a0f9b66724f61e9fAdam Powell    }
10833b974393b6fadcefc896ec4a0f9b66724f61e9fAdam Powell
10933b974393b6fadcefc896ec4a0f9b66724f61e9fAdam Powell    public CharSequence getTitleCondensed() {
110e0e2f4fd3ac8e70e341ae52d6376d8d67bd9edceAdam Powell        return mTitleCondensed != null ? mTitleCondensed : mTitle;
11133b974393b6fadcefc896ec4a0f9b66724f61e9fAdam Powell    }
11233b974393b6fadcefc896ec4a0f9b66724f61e9fAdam Powell
11333b974393b6fadcefc896ec4a0f9b66724f61e9fAdam Powell    public boolean hasSubMenu() {
11433b974393b6fadcefc896ec4a0f9b66724f61e9fAdam Powell        return false;
11533b974393b6fadcefc896ec4a0f9b66724f61e9fAdam Powell    }
11633b974393b6fadcefc896ec4a0f9b66724f61e9fAdam Powell
11733b974393b6fadcefc896ec4a0f9b66724f61e9fAdam Powell    public boolean isCheckable() {
11833b974393b6fadcefc896ec4a0f9b66724f61e9fAdam Powell        return (mFlags & CHECKABLE) != 0;
11933b974393b6fadcefc896ec4a0f9b66724f61e9fAdam Powell    }
12033b974393b6fadcefc896ec4a0f9b66724f61e9fAdam Powell
12133b974393b6fadcefc896ec4a0f9b66724f61e9fAdam Powell    public boolean isChecked() {
12233b974393b6fadcefc896ec4a0f9b66724f61e9fAdam Powell        return (mFlags & CHECKED) != 0;
12333b974393b6fadcefc896ec4a0f9b66724f61e9fAdam Powell    }
12433b974393b6fadcefc896ec4a0f9b66724f61e9fAdam Powell
12533b974393b6fadcefc896ec4a0f9b66724f61e9fAdam Powell    public boolean isEnabled() {
12633b974393b6fadcefc896ec4a0f9b66724f61e9fAdam Powell        return (mFlags & ENABLED) != 0;
12733b974393b6fadcefc896ec4a0f9b66724f61e9fAdam Powell    }
12833b974393b6fadcefc896ec4a0f9b66724f61e9fAdam Powell
12933b974393b6fadcefc896ec4a0f9b66724f61e9fAdam Powell    public boolean isVisible() {
13033b974393b6fadcefc896ec4a0f9b66724f61e9fAdam Powell        return (mFlags & HIDDEN) == 0;
13133b974393b6fadcefc896ec4a0f9b66724f61e9fAdam Powell    }
13233b974393b6fadcefc896ec4a0f9b66724f61e9fAdam Powell
13333b974393b6fadcefc896ec4a0f9b66724f61e9fAdam Powell    public MenuItem setAlphabeticShortcut(char alphaChar) {
13433b974393b6fadcefc896ec4a0f9b66724f61e9fAdam Powell        mShortcutAlphabeticChar = alphaChar;
13533b974393b6fadcefc896ec4a0f9b66724f61e9fAdam Powell        return this;
13633b974393b6fadcefc896ec4a0f9b66724f61e9fAdam Powell    }
13733b974393b6fadcefc896ec4a0f9b66724f61e9fAdam Powell
13833b974393b6fadcefc896ec4a0f9b66724f61e9fAdam Powell    public MenuItem setCheckable(boolean checkable) {
13933b974393b6fadcefc896ec4a0f9b66724f61e9fAdam Powell        mFlags = (mFlags & ~CHECKABLE) | (checkable ? CHECKABLE : 0);
14033b974393b6fadcefc896ec4a0f9b66724f61e9fAdam Powell        return this;
14133b974393b6fadcefc896ec4a0f9b66724f61e9fAdam Powell    }
14233b974393b6fadcefc896ec4a0f9b66724f61e9fAdam Powell
14333b974393b6fadcefc896ec4a0f9b66724f61e9fAdam Powell    public ActionMenuItem setExclusiveCheckable(boolean exclusive) {
14433b974393b6fadcefc896ec4a0f9b66724f61e9fAdam Powell        mFlags = (mFlags & ~EXCLUSIVE) | (exclusive ? EXCLUSIVE : 0);
14533b974393b6fadcefc896ec4a0f9b66724f61e9fAdam Powell        return this;
14633b974393b6fadcefc896ec4a0f9b66724f61e9fAdam Powell    }
14733b974393b6fadcefc896ec4a0f9b66724f61e9fAdam Powell
14833b974393b6fadcefc896ec4a0f9b66724f61e9fAdam Powell    public MenuItem setChecked(boolean checked) {
14933b974393b6fadcefc896ec4a0f9b66724f61e9fAdam Powell        mFlags = (mFlags & ~CHECKED) | (checked ? CHECKED : 0);
15033b974393b6fadcefc896ec4a0f9b66724f61e9fAdam Powell        return this;
15133b974393b6fadcefc896ec4a0f9b66724f61e9fAdam Powell    }
15233b974393b6fadcefc896ec4a0f9b66724f61e9fAdam Powell
15333b974393b6fadcefc896ec4a0f9b66724f61e9fAdam Powell    public MenuItem setEnabled(boolean enabled) {
15433b974393b6fadcefc896ec4a0f9b66724f61e9fAdam Powell        mFlags = (mFlags & ~ENABLED) | (enabled ? ENABLED : 0);
15533b974393b6fadcefc896ec4a0f9b66724f61e9fAdam Powell        return this;
15633b974393b6fadcefc896ec4a0f9b66724f61e9fAdam Powell    }
15733b974393b6fadcefc896ec4a0f9b66724f61e9fAdam Powell
15833b974393b6fadcefc896ec4a0f9b66724f61e9fAdam Powell    public MenuItem setIcon(Drawable icon) {
15933b974393b6fadcefc896ec4a0f9b66724f61e9fAdam Powell        mIconDrawable = icon;
16033b974393b6fadcefc896ec4a0f9b66724f61e9fAdam Powell        mIconResId = NO_ICON;
16133b974393b6fadcefc896ec4a0f9b66724f61e9fAdam Powell        return this;
16233b974393b6fadcefc896ec4a0f9b66724f61e9fAdam Powell    }
16333b974393b6fadcefc896ec4a0f9b66724f61e9fAdam Powell
16433b974393b6fadcefc896ec4a0f9b66724f61e9fAdam Powell    public MenuItem setIcon(int iconRes) {
16533b974393b6fadcefc896ec4a0f9b66724f61e9fAdam Powell        mIconResId = iconRes;
1668eea3ea5591e59f55cbb4f6b2b7e9363a285ced3Alan Viverette        mIconDrawable = mContext.getDrawable(iconRes);
16733b974393b6fadcefc896ec4a0f9b66724f61e9fAdam Powell        return this;
16833b974393b6fadcefc896ec4a0f9b66724f61e9fAdam Powell    }
16933b974393b6fadcefc896ec4a0f9b66724f61e9fAdam Powell
17033b974393b6fadcefc896ec4a0f9b66724f61e9fAdam Powell    public MenuItem setIntent(Intent intent) {
17133b974393b6fadcefc896ec4a0f9b66724f61e9fAdam Powell        mIntent = intent;
17233b974393b6fadcefc896ec4a0f9b66724f61e9fAdam Powell        return this;
17333b974393b6fadcefc896ec4a0f9b66724f61e9fAdam Powell    }
17433b974393b6fadcefc896ec4a0f9b66724f61e9fAdam Powell
17533b974393b6fadcefc896ec4a0f9b66724f61e9fAdam Powell    public MenuItem setNumericShortcut(char numericChar) {
17633b974393b6fadcefc896ec4a0f9b66724f61e9fAdam Powell        mShortcutNumericChar = numericChar;
17733b974393b6fadcefc896ec4a0f9b66724f61e9fAdam Powell        return this;
17833b974393b6fadcefc896ec4a0f9b66724f61e9fAdam Powell    }
17933b974393b6fadcefc896ec4a0f9b66724f61e9fAdam Powell
18033b974393b6fadcefc896ec4a0f9b66724f61e9fAdam Powell    public MenuItem setOnMenuItemClickListener(OnMenuItemClickListener menuItemClickListener) {
18133b974393b6fadcefc896ec4a0f9b66724f61e9fAdam Powell        mClickListener = menuItemClickListener;
18233b974393b6fadcefc896ec4a0f9b66724f61e9fAdam Powell        return this;
18333b974393b6fadcefc896ec4a0f9b66724f61e9fAdam Powell    }
18433b974393b6fadcefc896ec4a0f9b66724f61e9fAdam Powell
18533b974393b6fadcefc896ec4a0f9b66724f61e9fAdam Powell    public MenuItem setShortcut(char numericChar, char alphaChar) {
18633b974393b6fadcefc896ec4a0f9b66724f61e9fAdam Powell        mShortcutNumericChar = numericChar;
18733b974393b6fadcefc896ec4a0f9b66724f61e9fAdam Powell        mShortcutAlphabeticChar = alphaChar;
18833b974393b6fadcefc896ec4a0f9b66724f61e9fAdam Powell        return this;
18933b974393b6fadcefc896ec4a0f9b66724f61e9fAdam Powell    }
19033b974393b6fadcefc896ec4a0f9b66724f61e9fAdam Powell
19133b974393b6fadcefc896ec4a0f9b66724f61e9fAdam Powell    public MenuItem setTitle(CharSequence title) {
19233b974393b6fadcefc896ec4a0f9b66724f61e9fAdam Powell        mTitle = title;
19333b974393b6fadcefc896ec4a0f9b66724f61e9fAdam Powell        return this;
19433b974393b6fadcefc896ec4a0f9b66724f61e9fAdam Powell    }
19533b974393b6fadcefc896ec4a0f9b66724f61e9fAdam Powell
19633b974393b6fadcefc896ec4a0f9b66724f61e9fAdam Powell    public MenuItem setTitle(int title) {
19733b974393b6fadcefc896ec4a0f9b66724f61e9fAdam Powell        mTitle = mContext.getResources().getString(title);
19833b974393b6fadcefc896ec4a0f9b66724f61e9fAdam Powell        return this;
19933b974393b6fadcefc896ec4a0f9b66724f61e9fAdam Powell    }
20033b974393b6fadcefc896ec4a0f9b66724f61e9fAdam Powell
20133b974393b6fadcefc896ec4a0f9b66724f61e9fAdam Powell    public MenuItem setTitleCondensed(CharSequence title) {
20233b974393b6fadcefc896ec4a0f9b66724f61e9fAdam Powell        mTitleCondensed = title;
20333b974393b6fadcefc896ec4a0f9b66724f61e9fAdam Powell        return this;
20433b974393b6fadcefc896ec4a0f9b66724f61e9fAdam Powell    }
20533b974393b6fadcefc896ec4a0f9b66724f61e9fAdam Powell
20633b974393b6fadcefc896ec4a0f9b66724f61e9fAdam Powell    public MenuItem setVisible(boolean visible) {
20733b974393b6fadcefc896ec4a0f9b66724f61e9fAdam Powell        mFlags = (mFlags & HIDDEN) | (visible ? 0 : HIDDEN);
20833b974393b6fadcefc896ec4a0f9b66724f61e9fAdam Powell        return this;
20933b974393b6fadcefc896ec4a0f9b66724f61e9fAdam Powell    }
21033b974393b6fadcefc896ec4a0f9b66724f61e9fAdam Powell
21133b974393b6fadcefc896ec4a0f9b66724f61e9fAdam Powell    public boolean invoke() {
21233b974393b6fadcefc896ec4a0f9b66724f61e9fAdam Powell        if (mClickListener != null && mClickListener.onMenuItemClick(this)) {
21333b974393b6fadcefc896ec4a0f9b66724f61e9fAdam Powell            return true;
21433b974393b6fadcefc896ec4a0f9b66724f61e9fAdam Powell        }
21533b974393b6fadcefc896ec4a0f9b66724f61e9fAdam Powell
21633b974393b6fadcefc896ec4a0f9b66724f61e9fAdam Powell        if (mIntent != null) {
21733b974393b6fadcefc896ec4a0f9b66724f61e9fAdam Powell            mContext.startActivity(mIntent);
21833b974393b6fadcefc896ec4a0f9b66724f61e9fAdam Powell            return true;
21933b974393b6fadcefc896ec4a0f9b66724f61e9fAdam Powell        }
22033b974393b6fadcefc896ec4a0f9b66724f61e9fAdam Powell
22133b974393b6fadcefc896ec4a0f9b66724f61e9fAdam Powell        return false;
22233b974393b6fadcefc896ec4a0f9b66724f61e9fAdam Powell    }
22389e0645b4157961e8c465eb9c819f965fdb453d8Adam Powell
22489e0645b4157961e8c465eb9c819f965fdb453d8Adam Powell    public void setShowAsAction(int show) {
22589e0645b4157961e8c465eb9c819f965fdb453d8Adam Powell        // Do nothing. ActionMenuItems always show as action buttons.
22689e0645b4157961e8c465eb9c819f965fdb453d8Adam Powell    }
227cf78b3e5101349fdddbde14b3a55140f9562ae66Adam Powell
228cf78b3e5101349fdddbde14b3a55140f9562ae66Adam Powell    public MenuItem setActionView(View actionView) {
229cf78b3e5101349fdddbde14b3a55140f9562ae66Adam Powell        throw new UnsupportedOperationException();
230cf78b3e5101349fdddbde14b3a55140f9562ae66Adam Powell    }
231cf78b3e5101349fdddbde14b3a55140f9562ae66Adam Powell
232cf78b3e5101349fdddbde14b3a55140f9562ae66Adam Powell    public View getActionView() {
233cf78b3e5101349fdddbde14b3a55140f9562ae66Adam Powell        return null;
234cf78b3e5101349fdddbde14b3a55140f9562ae66Adam Powell    }
2353f476b34049d062942eafcf48396f593e00bd324Adam Powell
2363f476b34049d062942eafcf48396f593e00bd324Adam Powell    @Override
2373f476b34049d062942eafcf48396f593e00bd324Adam Powell    public MenuItem setActionView(int resId) {
2383f476b34049d062942eafcf48396f593e00bd324Adam Powell        throw new UnsupportedOperationException();
2393f476b34049d062942eafcf48396f593e00bd324Adam Powell    }
2408d02deabac62c4a68a335a7b3141795466362b89Adam Powell
2418d02deabac62c4a68a335a7b3141795466362b89Adam Powell    @Override
24251ac0e94a83cfccb5105aa14df1077729a5b4cccSvetoslav Ganov    public ActionProvider getActionProvider() {
24351ac0e94a83cfccb5105aa14df1077729a5b4cccSvetoslav Ganov        return null;
24451ac0e94a83cfccb5105aa14df1077729a5b4cccSvetoslav Ganov    }
24551ac0e94a83cfccb5105aa14df1077729a5b4cccSvetoslav Ganov
24651ac0e94a83cfccb5105aa14df1077729a5b4cccSvetoslav Ganov    @Override
24751ac0e94a83cfccb5105aa14df1077729a5b4cccSvetoslav Ganov    public MenuItem setActionProvider(ActionProvider actionProvider) {
24851ac0e94a83cfccb5105aa14df1077729a5b4cccSvetoslav Ganov        throw new UnsupportedOperationException();
24951ac0e94a83cfccb5105aa14df1077729a5b4cccSvetoslav Ganov    }
25051ac0e94a83cfccb5105aa14df1077729a5b4cccSvetoslav Ganov
25151ac0e94a83cfccb5105aa14df1077729a5b4cccSvetoslav Ganov    @Override
2528d02deabac62c4a68a335a7b3141795466362b89Adam Powell    public MenuItem setShowAsActionFlags(int actionEnum) {
2538d02deabac62c4a68a335a7b3141795466362b89Adam Powell        setShowAsAction(actionEnum);
2548d02deabac62c4a68a335a7b3141795466362b89Adam Powell        return this;
2558d02deabac62c4a68a335a7b3141795466362b89Adam Powell    }
2568d02deabac62c4a68a335a7b3141795466362b89Adam Powell
2578d02deabac62c4a68a335a7b3141795466362b89Adam Powell    @Override
2588d02deabac62c4a68a335a7b3141795466362b89Adam Powell    public boolean expandActionView() {
2598d02deabac62c4a68a335a7b3141795466362b89Adam Powell        return false;
2608d02deabac62c4a68a335a7b3141795466362b89Adam Powell    }
2618d02deabac62c4a68a335a7b3141795466362b89Adam Powell
2628d02deabac62c4a68a335a7b3141795466362b89Adam Powell    @Override
2638d02deabac62c4a68a335a7b3141795466362b89Adam Powell    public boolean collapseActionView() {
2648d02deabac62c4a68a335a7b3141795466362b89Adam Powell        return false;
2658d02deabac62c4a68a335a7b3141795466362b89Adam Powell    }
2668d02deabac62c4a68a335a7b3141795466362b89Adam Powell
2678d02deabac62c4a68a335a7b3141795466362b89Adam Powell    @Override
2688d02deabac62c4a68a335a7b3141795466362b89Adam Powell    public boolean isActionViewExpanded() {
2698d02deabac62c4a68a335a7b3141795466362b89Adam Powell        return false;
2708d02deabac62c4a68a335a7b3141795466362b89Adam Powell    }
2718d02deabac62c4a68a335a7b3141795466362b89Adam Powell
2728d02deabac62c4a68a335a7b3141795466362b89Adam Powell    @Override
2738d02deabac62c4a68a335a7b3141795466362b89Adam Powell    public MenuItem setOnActionExpandListener(OnActionExpandListener listener) {
2748d02deabac62c4a68a335a7b3141795466362b89Adam Powell        // No need to save the listener; ActionMenuItem does not support collapsing items.
2758d02deabac62c4a68a335a7b3141795466362b89Adam Powell        return this;
2768d02deabac62c4a68a335a7b3141795466362b89Adam Powell    }
27733b974393b6fadcefc896ec4a0f9b66724f61e9fAdam Powell}
278