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 1766698bb15ba0f873aa1c2290cc50d6bb839a474aChris Banespackage android.support.v7.view.menu; 186e6abe6eb358db4c3932752249c8ac61dd3dab21Jeff Brown 198e10080c914d1ad0784394fa3026b85535535847Aurimas Liutikasimport static android.support.annotation.RestrictTo.Scope.LIBRARY_GROUP; 208e10080c914d1ad0784394fa3026b85535535847Aurimas Liutikas 21d837ef307ff53290159c0d7c8cf9e3e0dc2fa410Chris Banesimport android.content.Context; 226e6abe6eb358db4c3932752249c8ac61dd3dab21Jeff Brownimport android.os.Build; 23c39d9c75590eca86a5e7e32a8824ba04a0d42e9bAlan Viveretteimport android.support.annotation.RestrictTo; 246e6abe6eb358db4c3932752249c8ac61dd3dab21Jeff Brownimport android.support.v4.internal.view.SupportMenu; 256e6abe6eb358db4c3932752249c8ac61dd3dab21Jeff Brownimport android.support.v4.internal.view.SupportMenuItem; 266e6abe6eb358db4c3932752249c8ac61dd3dab21Jeff Brownimport android.support.v4.internal.view.SupportSubMenu; 276e6abe6eb358db4c3932752249c8ac61dd3dab21Jeff Brownimport android.view.Menu; 286e6abe6eb358db4c3932752249c8ac61dd3dab21Jeff Brownimport android.view.MenuItem; 29d837ef307ff53290159c0d7c8cf9e3e0dc2fa410Chris Banesimport android.view.SubMenu; 306e6abe6eb358db4c3932752249c8ac61dd3dab21Jeff Brown 3189208232f3b5d1451408d787872504a190bc7ee0Chris Banes/** 3289208232f3b5d1451408d787872504a190bc7ee0Chris Banes * @hide 3389208232f3b5d1451408d787872504a190bc7ee0Chris Banes */ 348e10080c914d1ad0784394fa3026b85535535847Aurimas Liutikas@RestrictTo(LIBRARY_GROUP) 356e6abe6eb358db4c3932752249c8ac61dd3dab21Jeff Brownpublic final class MenuWrapperFactory { 366e6abe6eb358db4c3932752249c8ac61dd3dab21Jeff Brown private MenuWrapperFactory() { 376e6abe6eb358db4c3932752249c8ac61dd3dab21Jeff Brown } 386e6abe6eb358db4c3932752249c8ac61dd3dab21Jeff Brown 39d837ef307ff53290159c0d7c8cf9e3e0dc2fa410Chris Banes public static Menu wrapSupportMenu(Context context, SupportMenu supportMenu) { 403a7c6d2009dfcf99c738d70eafe146eedf6e0ac2Kirill Grouchnikov return new MenuWrapperICS(context, supportMenu); 416e6abe6eb358db4c3932752249c8ac61dd3dab21Jeff Brown } 426e6abe6eb358db4c3932752249c8ac61dd3dab21Jeff Brown 43d837ef307ff53290159c0d7c8cf9e3e0dc2fa410Chris Banes public static MenuItem wrapSupportMenuItem(Context context, SupportMenuItem supportMenuItem) { 446e6abe6eb358db4c3932752249c8ac61dd3dab21Jeff Brown if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN) { 45d837ef307ff53290159c0d7c8cf9e3e0dc2fa410Chris Banes return new MenuItemWrapperJB(context, supportMenuItem); 463a7c6d2009dfcf99c738d70eafe146eedf6e0ac2Kirill Grouchnikov } else { 47d837ef307ff53290159c0d7c8cf9e3e0dc2fa410Chris Banes return new MenuItemWrapperICS(context, supportMenuItem); 486e6abe6eb358db4c3932752249c8ac61dd3dab21Jeff Brown } 496e6abe6eb358db4c3932752249c8ac61dd3dab21Jeff Brown } 506e6abe6eb358db4c3932752249c8ac61dd3dab21Jeff Brown 51d837ef307ff53290159c0d7c8cf9e3e0dc2fa410Chris Banes public static SubMenu wrapSupportSubMenu(Context context, SupportSubMenu supportSubMenu) { 523a7c6d2009dfcf99c738d70eafe146eedf6e0ac2Kirill Grouchnikov return new SubMenuWrapperICS(context, supportSubMenu); 536e6abe6eb358db4c3932752249c8ac61dd3dab21Jeff Brown } 546e6abe6eb358db4c3932752249c8ac61dd3dab21Jeff Brown} 55