1/* 2 * Copyright (C) 2012 The Android Open Source Project 3 * 4 * Licensed under the Apache License, Version 2.0 (the "License"); 5 * you may not use this file except in compliance with the License. 6 * You may obtain a copy of the License at 7 * 8 * http://www.apache.org/licenses/LICENSE-2.0 9 * 10 * Unless required by applicable law or agreed to in writing, software 11 * distributed under the License is distributed on an "AS IS" BASIS, 12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 * See the License for the specific language governing permissions and 14 * limitations under the License. 15 */ 16 17package android.support.v7.internal.view.menu; 18 19import android.content.ComponentName; 20import android.content.Intent; 21import android.support.v4.internal.view.SupportMenu; 22import android.support.v4.internal.view.SupportMenuItem; 23import android.view.KeyEvent; 24import android.view.MenuItem; 25import android.view.SubMenu; 26 27class MenuWrapperICS extends BaseMenuWrapper<android.view.Menu> implements SupportMenu { 28 29 MenuWrapperICS(android.view.Menu object) { 30 super(object); 31 } 32 33 @Override 34 public MenuItem add(CharSequence title) { 35 return getMenuItemWrapper(mWrappedObject.add(title)); 36 } 37 38 @Override 39 public MenuItem add(int titleRes) { 40 return getMenuItemWrapper(mWrappedObject.add(titleRes)); 41 } 42 43 @Override 44 public MenuItem add(int groupId, int itemId, int order, CharSequence title) { 45 return getMenuItemWrapper(mWrappedObject.add(groupId, itemId, order, title)); 46 } 47 48 @Override 49 public MenuItem add(int groupId, int itemId, int order, int titleRes) { 50 return getMenuItemWrapper(mWrappedObject.add(groupId, itemId, order, titleRes)); 51 } 52 53 @Override 54 public SubMenu addSubMenu(CharSequence title) { 55 return getSubMenuWrapper(mWrappedObject.addSubMenu(title)); 56 } 57 58 @Override 59 public SubMenu addSubMenu(int titleRes) { 60 return getSubMenuWrapper(mWrappedObject.addSubMenu(titleRes)); 61 } 62 63 @Override 64 public SubMenu addSubMenu(int groupId, int itemId, int order, CharSequence title) { 65 return getSubMenuWrapper(mWrappedObject.addSubMenu(groupId, itemId, order, title)); 66 } 67 68 @Override 69 public SubMenu addSubMenu(int groupId, int itemId, int order, int titleRes) { 70 return getSubMenuWrapper( 71 mWrappedObject.addSubMenu(groupId, itemId, order, titleRes)); 72 } 73 74 @Override 75 public int addIntentOptions(int groupId, int itemId, int order, ComponentName caller, 76 Intent[] specifics, Intent intent, int flags, MenuItem[] outSpecificItems) { 77 android.view.MenuItem[] items = null; 78 if (outSpecificItems != null) { 79 items = new android.view.MenuItem[outSpecificItems.length]; 80 } 81 82 int result = mWrappedObject 83 .addIntentOptions(groupId, itemId, order, caller, specifics, intent, flags, items); 84 85 if (items != null) { 86 for (int i = 0, z = items.length; i < z; i++) { 87 outSpecificItems[i] = getMenuItemWrapper(items[i]); 88 } 89 } 90 91 return result; 92 } 93 94 @Override 95 public void removeItem(int id) { 96 internalRemoveItem(id); 97 mWrappedObject.removeItem(id); 98 } 99 100 @Override 101 public void removeGroup(int groupId) { 102 internalRemoveGroup(groupId); 103 mWrappedObject.removeGroup(groupId); 104 } 105 106 @Override 107 public void clear() { 108 internalClear(); 109 mWrappedObject.clear(); 110 } 111 112 @Override 113 public void setGroupCheckable(int group, boolean checkable, boolean exclusive) { 114 mWrappedObject.setGroupCheckable(group, checkable, exclusive); 115 } 116 117 @Override 118 public void setGroupVisible(int group, boolean visible) { 119 mWrappedObject.setGroupVisible(group, visible); 120 } 121 122 @Override 123 public void setGroupEnabled(int group, boolean enabled) { 124 mWrappedObject.setGroupEnabled(group, enabled); 125 } 126 127 @Override 128 public boolean hasVisibleItems() { 129 return mWrappedObject.hasVisibleItems(); 130 } 131 132 @Override 133 public MenuItem findItem(int id) { 134 return getMenuItemWrapper(mWrappedObject.findItem(id)); 135 } 136 137 @Override 138 public int size() { 139 return mWrappedObject.size(); 140 } 141 142 @Override 143 public MenuItem getItem(int index) { 144 return getMenuItemWrapper(mWrappedObject.getItem(index)); 145 } 146 147 @Override 148 public void close() { 149 mWrappedObject.close(); 150 } 151 152 @Override 153 public boolean performShortcut(int keyCode, KeyEvent event, int flags) { 154 return mWrappedObject.performShortcut(keyCode, event, flags); 155 } 156 157 @Override 158 public boolean isShortcutKey(int keyCode, KeyEvent event) { 159 return mWrappedObject.isShortcutKey(keyCode, event); 160 } 161 162 @Override 163 public boolean performIdentifierAction(int id, int flags) { 164 return mWrappedObject.performIdentifierAction(id, flags); 165 } 166 167 @Override 168 public void setQwertyMode(boolean isQwerty) { 169 mWrappedObject.setQwertyMode(isQwerty); 170 } 171} 172