All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.actionbarsherlock.internal.view.menu.MenuBackWrapper Maven / Gradle / Ivy


package com.actionbarsherlock.internal.view.menu;

import android.content.ComponentName;
import android.content.Intent;
import android.view.KeyEvent;

import com.actionbarsherlock.view.Menu;
import com.actionbarsherlock.view.MenuItem;
import com.actionbarsherlock.view.SubMenu;

public class MenuBackWrapper implements android.view.Menu {
    private static final MenuItem[] array(android.view.MenuItem[] source) {
        MenuItem[] result = new MenuItem[source.length];
        for (int i = 0; i < source.length; i++) {
            android.view.MenuItem s = source[i];
            if (s instanceof MenuItemBackWrapper) {
                result[i] = ((MenuItemBackWrapper) s).unwrap();
            } else {
                result[i] = new MenuItemWrapper(s);
            }
        }
        return result;
    }

    protected static android.view.MenuItem item(MenuItem item) {
        if (item instanceof ContextMenuItemWrapper) {
            return ((ContextMenuItemWrapper) item).unwrap();
        } else {
            return new MenuItemBackWrapper(item);
        }
    }

    protected static android.view.SubMenu submenu(SubMenu menu) {
        if (menu instanceof SubMenuWrapper) {
            return (android.view.SubMenu) ((SubMenuWrapper) menu).unwrap();
        } else {
            return new SubMenuBackWrapper(menu);
        }
    }

    private final Menu menu;

    public MenuBackWrapper(Menu menu) {
        this.menu = menu;
    }

    @Override
    public android.view.MenuItem add(CharSequence arg0) {
        return new MenuItemBackWrapper(menu.add(arg0));
    }

    @Override
    public android.view.MenuItem add(int arg0) {
        return new MenuItemBackWrapper(menu.add(arg0));
    }

    @Override
    public android.view.MenuItem add(int arg0, int arg1, int arg2, CharSequence arg3) {
        return new MenuItemBackWrapper(menu.add(arg0, arg1, arg2, arg3));
    }

    @Override
    public android.view.MenuItem add(int arg0, int arg1, int arg2, int arg3) {
        return new MenuItemBackWrapper(menu.add(arg0, arg1, arg2, arg3));
    }

    @Override
    public int addIntentOptions(int arg0, int arg1, int arg2, ComponentName arg3, Intent[] arg4,
            Intent arg5, int arg6, android.view.MenuItem[] arg7) {
        return menu.addIntentOptions(arg0, arg1, arg2, arg3, arg4, arg5, arg6, array(arg7));
    }

    @Override
    public android.view.SubMenu addSubMenu(CharSequence arg0) {
        return submenu(menu.addSubMenu(arg0));
    }

    @Override
    public android.view.SubMenu addSubMenu(int arg0) {
        return submenu(menu.addSubMenu(arg0));
    }

    @Override
    public android.view.SubMenu addSubMenu(int arg0, int arg1, int arg2, CharSequence arg3) {
        return submenu(menu.addSubMenu(arg0, arg1, arg2, arg3));
    }

    @Override
    public android.view.SubMenu addSubMenu(int arg0, int arg1, int arg2, int arg3) {
        return submenu(menu.addSubMenu(arg0, arg1, arg2, arg3));
    }

    @Override
    public void clear() {
        menu.clear();
    }

    @Override
    public void close() {
        menu.close();
    }

    @Override
    public android.view.MenuItem findItem(int arg0) {
        return item(menu.findItem(arg0));
    }

    @Override
    public android.view.MenuItem getItem(int arg0) {
        return item(menu.getItem(arg0));
    }

    @Override
    public boolean hasVisibleItems() {
        return menu.hasVisibleItems();
    }

    @Override
    public boolean isShortcutKey(int arg0, KeyEvent arg1) {
        return menu.isShortcutKey(arg0, arg1);
    }

    @Override
    public boolean performIdentifierAction(int arg0, int arg1) {
        return menu.performIdentifierAction(arg0, arg1);
    }

    @Override
    public boolean performShortcut(int arg0, KeyEvent arg1, int arg2) {
        return menu.performShortcut(arg0, arg1, arg2);
    }

    @Override
    public void removeGroup(int arg0) {
        menu.removeGroup(arg0);
    }

    @Override
    public void removeItem(int arg0) {
        menu.removeItem(arg0);
    }

    @Override
    public void setGroupCheckable(int arg0, boolean arg1, boolean arg2) {
        menu.setGroupCheckable(arg0, arg1, arg2);
    }

    @Override
    public void setGroupEnabled(int arg0, boolean arg1) {
        menu.setGroupEnabled(arg0, arg1);
    }

    @Override
    public void setGroupVisible(int arg0, boolean arg1) {
        menu.setGroupVisible(arg0, arg1);
    }

    @Override
    public void setQwertyMode(boolean arg0) {
        menu.setQwertyMode(arg0);
    }

    @Override
    public int size() {
        return menu.size();
    }

    public Menu unwrap() {
        return menu;
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy