16e6abe6eb358db4c3932752249c8ac61dd3dab21Jeff Brown/* 26e6abe6eb358db4c3932752249c8ac61dd3dab21Jeff Brown * Copyright (C) 2012 The Android Open Source Project 36e6abe6eb358db4c3932752249c8ac61dd3dab21Jeff Brown * 46e6abe6eb358db4c3932752249c8ac61dd3dab21Jeff Brown * Licensed under the Apache License, Version 2.0 (the "License"); 56e6abe6eb358db4c3932752249c8ac61dd3dab21Jeff Brown * you may not use this file except in compliance with the License. 66e6abe6eb358db4c3932752249c8ac61dd3dab21Jeff Brown * You may obtain a copy of the License at 76e6abe6eb358db4c3932752249c8ac61dd3dab21Jeff Brown * 86e6abe6eb358db4c3932752249c8ac61dd3dab21Jeff Brown * http://www.apache.org/licenses/LICENSE-2.0 96e6abe6eb358db4c3932752249c8ac61dd3dab21Jeff Brown * 106e6abe6eb358db4c3932752249c8ac61dd3dab21Jeff Brown * Unless required by applicable law or agreed to in writing, software 116e6abe6eb358db4c3932752249c8ac61dd3dab21Jeff Brown * distributed under the License is distributed on an "AS IS" BASIS, 126e6abe6eb358db4c3932752249c8ac61dd3dab21Jeff Brown * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 136e6abe6eb358db4c3932752249c8ac61dd3dab21Jeff Brown * See the License for the specific language governing permissions and 146e6abe6eb358db4c3932752249c8ac61dd3dab21Jeff Brown * limitations under the License. 156e6abe6eb358db4c3932752249c8ac61dd3dab21Jeff Brown */ 166e6abe6eb358db4c3932752249c8ac61dd3dab21Jeff Brown 176e6abe6eb358db4c3932752249c8ac61dd3dab21Jeff Brownpackage android.support.v7.internal.view.menu; 186e6abe6eb358db4c3932752249c8ac61dd3dab21Jeff Brown 19d837ef307ff53290159c0d7c8cf9e3e0dc2fa410Chris Banesimport android.content.Context; 206e6abe6eb358db4c3932752249c8ac61dd3dab21Jeff Brownimport android.os.Build; 216e6abe6eb358db4c3932752249c8ac61dd3dab21Jeff Brownimport android.support.v4.internal.view.SupportMenu; 226e6abe6eb358db4c3932752249c8ac61dd3dab21Jeff Brownimport android.support.v4.internal.view.SupportMenuItem; 236e6abe6eb358db4c3932752249c8ac61dd3dab21Jeff Brownimport android.support.v4.internal.view.SupportSubMenu; 246e6abe6eb358db4c3932752249c8ac61dd3dab21Jeff Brownimport android.view.Menu; 256e6abe6eb358db4c3932752249c8ac61dd3dab21Jeff Brownimport android.view.MenuItem; 26d837ef307ff53290159c0d7c8cf9e3e0dc2fa410Chris Banesimport android.view.SubMenu; 276e6abe6eb358db4c3932752249c8ac61dd3dab21Jeff Brown 2889208232f3b5d1451408d787872504a190bc7ee0Chris Banes/** 2989208232f3b5d1451408d787872504a190bc7ee0Chris Banes * @hide 3089208232f3b5d1451408d787872504a190bc7ee0Chris Banes */ 316e6abe6eb358db4c3932752249c8ac61dd3dab21Jeff Brownpublic final class MenuWrapperFactory { 326e6abe6eb358db4c3932752249c8ac61dd3dab21Jeff Brown private MenuWrapperFactory() { 336e6abe6eb358db4c3932752249c8ac61dd3dab21Jeff Brown } 346e6abe6eb358db4c3932752249c8ac61dd3dab21Jeff Brown 35d837ef307ff53290159c0d7c8cf9e3e0dc2fa410Chris Banes public static Menu wrapSupportMenu(Context context, SupportMenu supportMenu) { 3689208232f3b5d1451408d787872504a190bc7ee0Chris Banes if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.ICE_CREAM_SANDWICH) { 37d837ef307ff53290159c0d7c8cf9e3e0dc2fa410Chris Banes return new MenuWrapperICS(context, supportMenu); 386e6abe6eb358db4c3932752249c8ac61dd3dab21Jeff Brown } 39d837ef307ff53290159c0d7c8cf9e3e0dc2fa410Chris Banes throw new UnsupportedOperationException(); 406e6abe6eb358db4c3932752249c8ac61dd3dab21Jeff Brown } 416e6abe6eb358db4c3932752249c8ac61dd3dab21Jeff Brown 42d837ef307ff53290159c0d7c8cf9e3e0dc2fa410Chris Banes public static MenuItem wrapSupportMenuItem(Context context, SupportMenuItem supportMenuItem) { 436e6abe6eb358db4c3932752249c8ac61dd3dab21Jeff Brown if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN) { 44d837ef307ff53290159c0d7c8cf9e3e0dc2fa410Chris Banes return new MenuItemWrapperJB(context, supportMenuItem); 456e6abe6eb358db4c3932752249c8ac61dd3dab21Jeff Brown } else if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.ICE_CREAM_SANDWICH) { 46d837ef307ff53290159c0d7c8cf9e3e0dc2fa410Chris Banes return new MenuItemWrapperICS(context, supportMenuItem); 476e6abe6eb358db4c3932752249c8ac61dd3dab21Jeff Brown } 486e6abe6eb358db4c3932752249c8ac61dd3dab21Jeff Brown throw new UnsupportedOperationException(); 496e6abe6eb358db4c3932752249c8ac61dd3dab21Jeff Brown } 506e6abe6eb358db4c3932752249c8ac61dd3dab21Jeff Brown 51d837ef307ff53290159c0d7c8cf9e3e0dc2fa410Chris Banes public static SubMenu wrapSupportSubMenu(Context context, SupportSubMenu supportSubMenu) { 5289208232f3b5d1451408d787872504a190bc7ee0Chris Banes if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.ICE_CREAM_SANDWICH) { 53d837ef307ff53290159c0d7c8cf9e3e0dc2fa410Chris Banes return new SubMenuWrapperICS(context, supportSubMenu); 546e6abe6eb358db4c3932752249c8ac61dd3dab21Jeff Brown } 556e6abe6eb358db4c3932752249c8ac61dd3dab21Jeff Brown throw new UnsupportedOperationException(); 566e6abe6eb358db4c3932752249c8ac61dd3dab21Jeff Brown } 576e6abe6eb358db4c3932752249c8ac61dd3dab21Jeff Brown} 58