package com.actionbarsherlock.internal.view.menu;
import android.content.ComponentName;
import android.content.Intent;
import android.view.KeyEvent;
import android.view.Menu;
import android.view.MenuItem;
import android.view.SubMenu;
/** Used to carry an instance of our version of Menu through a native channel. */
public class MenuMule implements Menu {
private static final String ERROR = "Cannot interact with object designed for temporary "
+ "instance passing. Make sure you using both SherlockFragmentActivity and "
+ "SherlockFragment.";
private final com.actionbarsherlock.view.Menu mMenu;
public boolean mDispatchShow = false;
public MenuMule(com.actionbarsherlock.view.Menu menu) {
mMenu = menu;
}
public com.actionbarsherlock.view.Menu unwrap() {
return mMenu;
}
@Override
public MenuItem add(CharSequence arg0) {
throw new IllegalStateException(ERROR);
}
@Override
public MenuItem add(int arg0) {
throw new IllegalStateException(ERROR);
}
@Override
public MenuItem add(int arg0, int arg1, int arg2, CharSequence arg3) {
throw new IllegalStateException(ERROR);
}
@Override
public MenuItem add(int arg0, int arg1, int arg2, int arg3) {
throw new IllegalStateException(ERROR);
}
@Override
public int addIntentOptions(int arg0, int arg1, int arg2,
ComponentName arg3, Intent[] arg4, Intent arg5, int arg6,
MenuItem[] arg7) {
throw new IllegalStateException(ERROR);
}
@Override
public SubMenu addSubMenu(CharSequence arg0) {
throw new IllegalStateException(ERROR);
}
@Override
public SubMenu addSubMenu(int arg0) {
throw new IllegalStateException(ERROR);
}
@Override
public SubMenu addSubMenu(int arg0, int arg1, int arg2, CharSequence arg3) {
throw new IllegalStateException(ERROR);
}
@Override
public SubMenu addSubMenu(int arg0, int arg1, int arg2, int arg3) {
throw new IllegalStateException(ERROR);
}
@Override
public void clear() {
throw new IllegalStateException(ERROR);
}
@Override
public void close() {
throw new IllegalStateException(ERROR);
}
@Override
public MenuItem findItem(int arg0) {
throw new IllegalStateException(ERROR);
}
@Override
public MenuItem getItem(int arg0) {
throw new IllegalStateException(ERROR);
}
@Override
public boolean hasVisibleItems() {
return mMenu.hasVisibleItems();
//throw new IllegalStateException(ERROR);
}
@Override
public boolean isShortcutKey(int arg0, KeyEvent arg1) {
throw new IllegalStateException(ERROR);
}
@Override
public boolean performIdentifierAction(int arg0, int arg1) {
throw new IllegalStateException(ERROR);
}
@Override
public boolean performShortcut(int arg0, KeyEvent arg1, int arg2) {
throw new IllegalStateException(ERROR);
}
@Override
public void removeGroup(int arg0) {
throw new IllegalStateException(ERROR);
}
@Override
public void removeItem(int arg0) {
throw new IllegalStateException(ERROR);
}
@Override
public void setGroupCheckable(int arg0, boolean arg1, boolean arg2) {
throw new IllegalStateException(ERROR);
}
@Override
public void setGroupEnabled(int arg0, boolean arg1) {
throw new IllegalStateException(ERROR);
}
@Override
public void setGroupVisible(int arg0, boolean arg1) {
throw new IllegalStateException(ERROR);
}
@Override
public void setQwertyMode(boolean arg0) {
throw new IllegalStateException(ERROR);
}
@Override
public int size() {
throw new IllegalStateException(ERROR);
}
}